- HTML/DOM tree structure (nodes, elements, parent/child)
- Roots and the document root
- Anatomy of a document
- CSS selectors and specifity
- Cascade order
- Block model -> blocks don't belong into inlines and how the block model layout works (block direction, inline direction)
- Other display models and how there's an inner and outer display mode
- Overlaps (earlier HTML draws on top of later html, child is above parent)
- non-static positioning
- Semantics
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const { Thing: WebThing, Property, Value, WebThingServer, MultipleThings, Action } = require("webthing"); | |
const express = require("express"); | |
const path = require("path"); | |
const internalIp = require("internal-ip"); | |
const uuid = require("uuid/v4"); | |
const activeThings = []; | |
internalIp.v4().then((ip) => { | |
console.log(ip); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class APIResponse<T> { | |
T payload; | |
} | |
class Response { | |
LanguageList items; | |
} | |
class LanguageList { | |
ItemClass[] en; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* This Source Code Form is subject to the terms of the Mozilla Public | |
* License, v. 2.0. If a copy of the MPL was not distributed with this | |
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | |
this.EXPORTED_SYMBOLS = [ 'ConversationStatusUtils' ]; | |
const {Services} = ChromeUtils.import("resource:///modules/imServices.jsm"); | |
const CHAT_TAB_HIDDEN_TOPIC = "chat-tab-hidden"; | |
const CHAT_TAB_SHOWN_TOPIC = "chat-tab-shown"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This Gist confirms the Linked Identity in my OpenPGP key, and links it to this GitHub account. | |
Token for proof: | |
[Verifying my OpenPGP key: openpgp4fpr:89346d522a2c190eeb959f52ae530058efe7fd60] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class PollEndpoint { | |
constructor(aOpts = {}) { | |
this.poll = aOpts.poll; | |
this.state = Object.assign({ | |
isVisible: false, // timeline visibility (as in, are individual tweets visible) | |
isFocused: false, // IM tab focus | |
rateLimit: Infinity, | |
remaining: Infinity, | |
resetTime: Infinity, | |
requestsPerPoll: 1, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
render() { | |
if(this.props.clip) { | |
return (<Clip .../>); | |
} | |
else { | |
return (<Loader/>); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
browser.tabs.query({windowId: myWindowId, active: true}) | |
.then((tabs) => { | |
for (let pane in panel.content){panel.content[pane].textContent = "";} | |
for (let pane in panel.info){panel.info[pane].textContent = "";} | |
return Promise.all([tabs[0].url, browser.storage.local.get(tabs[0].url)]); | |
}) | |
.then(([ tabURL, storedInfo ]) => { | |
debugger; |
This is the extension of the extension of the extended protocol guide for the Logitech Harmony XMPP protocol, so here goes:
(the first protocol guide )
<iq type="get" id="YourRequestID">
<oa xmlns="connect.logitech.com" mime="vnd.logitech.harmony/vnd.logitech.harmony.automation?getState"/>
</iq>
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ==UserScript== | |
// @name FFZ Twitchbots | |
// @namespace http://tampermonkey.net/ | |
// @version 0.1 | |
// @description Mark more users as bots in chat | |
// @author Martin Giger | |
// @match https://www.twitch.tv/* | |
// @grant none | |
// ==/UserScript== |