Unleash the power!

slide: https://hackmd.io/p/template-Talk-slide

We have a collaborative session

please prepare laptop or smartphone to join!

Who am I?

70% of our users are developers. Developers :heart: GitHub.

{%youtube E8Nj7RwXf0s %}

Usage flow

digraph {

  graph [ fontname="Source Sans Pro", fontsize=20 ];
  node [ fontname="Source Sans Pro", fontsize=18];
  edge [ fontname="Source Sans Pro", fontsize=12 ];

  subgraph core {
    c [label="Hackmd-it \ncore"] [shape=box]

  c -> sync [ltail=session lhead=session]

  subgraph cluster1 {
    a [label="Text source\nGithub, Gitlab, ..."] [shape=box]
    b [label="HackMD Editor"] [shape=box]
    sync [label="sync" shape=plaintext ]
    b -> sync  [dir="both"]
    sync -> a [dir="both"]
    label="An edit session"

Architecture of extension

Content script



import * as Channeru from 'channeru'

// setup channel in different page environment, once
const channel = Channeru.create()

// in background script
const fakeLogin = async () => true

channel.answer('isLogin', async () => {
  return await fakeLogin()

// in inject script
const isLogin = await channel.callBackground('isLogin')
console.log(isLogin) //-> true

:100: :muscle: :tada:

Wrap up

Thank you! :sheep:

You can find me on