[](https://)<span class="token feature" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"><span class="token keyword">Feature:</span> <span class="token important">Guess the word</span></span> <span class="token comment" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"># The first example has two steps</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"></span> <span class="token scenario" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"><span class="token keyword">Scenario:</span> <span class="token important">Maker starts a game</span></span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"></span> <span class="token atrule" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">When</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">the Maker starts a game</span> <span class="token atrule" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">Then</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">the Maker waits for a Breaker to join</span> <span class="token comment" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"># The second example has three steps</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"></span> <span class="token scenario" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"><span class="token keyword">Scenario:</span> <span class="token important">Breaker joins a game</span></span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"></span> <span class="token atrule" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">Given</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">the Maker has started a game with the word</span> <span class="token string" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">"silky"</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"></span> <span class="token atrule" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">When</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">the Breaker joins the Maker's game</span> <span class="token atrule" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">Then</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">the Breaker must guess a word with 5 characters</span>Meeting Minute[](https://)<span class="token feature" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"><span class="token keyword">Feature:</span> <span class="token important">Guess the word</span></span> <span class="token comment" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"># The first example has two steps</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"></span> <span class="token scenario" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"><span class="token keyword">Scenario:</span> <span class="token important">Maker starts a game</span></span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"></span> <span class="token atrule" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">When</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">the Maker starts a game</span> <span class="token atrule" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">Then</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">the Maker waits for a Breaker to join</span> <span class="token comment" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"># The second example has three steps</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"></span> <span class="token scenario" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"><span class="token keyword">Scenario:</span> <span class="token important">Breaker joins a game</span></span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"></span> <span class="token atrule" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">Given</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">the Maker has started a game with the word</span> <span class="token string" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">"silky"</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);"></span> <span class="token atrule" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">When</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">the Breaker joins the Maker's game</span> <span class="token atrule" style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">Then</span> <span style="font-family: Menlo, Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; background-color: rgb(247, 247, 247);">the Breaker must guess a word with 5 characters</span>Meeting Minute > [time=Mon, Dec 14, 2020 6:54 PM] , Monaco, Consolas, &quot;Courier New&quot;, monospace; font-size: 13.6px; letter-spacing: 0.35px; white-space: pre; backgro=== ###### tags: `Templates` `Meeting` :::info - **Location:** Room A - **Date:** Nov 1, 2030 2:30 PM (CET) - **Agenda** 1. Walk through signup flow `45min` > [name=Yukai] 2. Sprint planning `45min` 3. Revisit onboarding v1 `20min` - **Participants:** - Max (MX) - Yukai (YK) - Yuhsuan (YH) - Arwen (YC) - **Contact:** Max <max@example.com> - **Host:** YK - **Reference:** - [Last week meeting minute](/s/template-meeting-note) ::: ## Walk through signup flow - [Slide to explain the flow](/p/slide-example) :dart: Sprint Goal --- - Identify tasks that can help us raise conversion rate :books: Sprint Backlog --- - Email invite feature - Interview users :mag: Sprint Retro --- ### What we can start Doing - New initiatives and experiments we want to start improving :closed_book: Tasks -- ==Importance== (1 - 5) / Name / **Estimate** (1, 2, 3, 5, 8, 13) ### Development Team: - [x] ==5== Email invite - [x] ==4== Email registration page **5** - [x] ==5== Email invitees **3** - [x] ==4== Setup e2e test in production **2** ### Design Team: - [x] ==4== Interview users **8** - [x] ==5== Build roll-up display content **5** - [x] ==5== Help user discover new features **5** ## Notes <!-- Other important details discussed during the meeting can be entered here. --> > [](https:# F1086353: UA-25-380526-00000-2620-1001077369.webm//)** > [] > [] Feature: Guess the word # The first example has two steps Scenario: Maker starts a game When the Maker starts a game Then the Maker waits for a Breaker to join # The second example has three steps Scenario: Breaker joins a game Given the Maker has started a game with the word "silky" When the Breaker joins the Maker's game Then the Breaker must guess a word with 5 characters(https:# F1086353: UA-25-380526-00000-2620-1001077369.webm//)**Feature: Guess the word # The first example has two steps Scenario: Maker starts a game When the Maker starts a game Then the Maker waits for a Breaker to join # The second example has three steps Scenario: Breaker joins a game Given the Maker has started a game with the word "silky" When the Breaker joins the Maker's game Then the Breaker must guess a word with 5 characters[Feature: Guess the word # The first example has two steps Scenario: Maker starts a game When the Maker starts a game Then the Maker waits for a Breaker to join # The second example has three steps Scenario: Breaker joins a game Given the Maker has started a game with the word "silky" When the Breaker joins the Maker's game Then the Breaker must guess a word with 5 characters`--- title: Talk slides template tags: Templates, Talk description: View the slide with "Slide Mode". --- # Unleash the power! <!-- Put the link to this slide here so people can follow --> slide: https://hackmd.io/p/template-Talk-slide --- We have a collaborative session please prepare laptop or smartphone to join! --- ## Who am I? - Front-end developer - VSCode :heart: - I use tabs. :cat: --- ### 70% of our users are developers. Developers :heart: GitHub. --- {%youtube E8Nj7RwXf0s %} --- ### Usage flow --- ```graphviz digraph { compound=true rankdir=RL 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 { concentrate=true 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 --- ![](https://i.imgur.com/ij69tPh.png) --- ## Content script - Bind with each page - Manipulate DOM - Add event listeners - Isolated JavaScript environment - It doesn't break things --- # :fork_and_knife: --- <style> code.blue { color: #337AB7 !important; } code.orange { color: #F7A004 !important; } </style> - <code class="orange">onMessage('event')</code>: Register event listener - <code class="blue">sendMessage('event')</code>: Trigger event --- # :bulb: --- - Dead simple API - Only cares about application logic --- ```typescript import * as Channeru from 'channeru' // setup channel in different page environment, once const channel = Channeru.create() ``` --- ```typescript // in background script const fakeLogin = async () => true channel.answer('isLogin', async () => { return await fakeLogin() }) ``` <br> ```typescript // in inject script const isLogin = await channel.callBackground('isLogin') console.log(isLogin) //-> true ``` --- # :100: :muscle: :tada: --- ### Wrap up - Cross envornment commnication - A small library to solve messaging pain - TypeScript Rocks :tada: --- ### Thank you! :sheep: You can find me on - GitHub - Twitter - or email me # F1086353: UA-25-380526-00000-2620-1001077369.webm F1056901: recording-1603978613046.webm[# F1086353: UA-25-380526-00000-2620-1001077369.webm](https://)# F1086353: UA-25-380526-00000-2620-1001077369.webm | Column 1 | Column 2 | | Column 3 | | -------------------------------------------------------- | -------- | --- | ---------------------------------------------------------- | | Text # F1086353: UA-25-380526-00000-2620-1001077369.webm | Text | # F1086353: UA-25-380526-00000-2620-1001077369.webm | Text # F1086353: UA-25-380526-00000-2620-1001077369.webm | `](https://)UA 25 380526 00000 2620 1001077369
{"metaMigratedAt":"2023-06-15T17:05:12.661Z","metaMigratedFrom":"Content","title":"The first example has two steps","breaks":false,"contributors":"[{\"id\":\"760ef046-ecf0-447b-81bd-2e2e72030198\",\"add\":15814,\"del\":15}]"}
    175 views
   Owned this note