The following is the proposed markdown and HTML specs for unordered lists, e.g. UL and ordered lists, e.g. OL.
Here’s the proposed spec for unordered lists:
// // Reduce empty block height for read-only mode. | |
// // | |
// // Expected to be `h:0.6` or `12px`. | |
// const reduceEmpty = (readOnly, children) => ({ height: readOnly && !children && "calc(0.75 * var(--fs-mod) * var(--fs) * var(--lh))" }) |
// // Insert a tab character. | |
// tab() { | |
// let { data, pos1, pos2 } = editorState // Use `let`. | |
// if (data.slice(pos1, pos2).indexOf("\n") === -1) { | |
// data = data.slice(0, pos1) + "\t" + data.slice(pos2) | |
// pos1 += "\t".length | |
// this.setState({ data, pos1, pos2: pos1 }) | |
// return | |
// } | |
// let x1 = pos1 // Use `let`. |
The following is the proposed markdown and HTML specs for unordered lists, e.g. UL and ordered lists, e.g. OL.
Here’s the proposed spec for unordered lists:
function reducer(editorState, action) { | |
switch (action.type) { | |
// Set the editor’s render mode. | |
case "SET_RENDER_MODE": | |
return { ...editorState, renderMode: action.payload } | |
// Set the editor’s read-only mode. | |
case "SET_READ_ONLY": | |
return { ...editorState, readOnly: action.payload } | |
// Set the editor’s state. |
// Version 2019-09-13. | |
// | |
// See data.iana.org/TLD/tlds-alpha-by-domain.txt for | |
// reference. | |
const domains = { "aaa": true, "aarp": true, "abarth": true, "abb": true, "abbott": true, "abbvie": true, "abc": true, "able": true, "abogado": true, "abudhabi": true, "ac": true, "academy": true, "accenture": true, "accountant": true, "accountants": true, "aco": true, "actor": true, "ad": true, "adac": true, "ads": true, "adult": true, "ae": true, "aeg": true, "aero": true, "aetna": true, "af": true, "afamilycompany": true, "afl": true, "africa": true, "ag": true, "agakhan": true, "agency": true, "ai": true, "aig": true, "aigo": true, "airbus": true, "airforce": true, "airtel": true, "akdn": true, "al": true, "alfaromeo": true, "alibaba": true, "alipay": true, "allfinanz": true, "allstate": true, "ally": true, "alsace": true, "alstom": true, "am": true, "americanexpress": true, "americanfamily": true, "amex": true, "amfam": true, "amica": true, "amsterdam": true, "analytics": true, "android": true, "anquan": true, " |
//FIXME: `--`. | |
function Strikethrough(props) { | |
const x1 = "~".length | |
const x2 = props.children.length - "~".length | |
if (props.renderMarkup) { | |
return ( | |
<strike className={props.renderSemanticClasses ? "strikethrough" : null}> | |
{props.children.slice(x1, x2)} | |
</strike> | |
) |
this is code
and so is
package main
import "fmt"
func main() {
import React from "react" | |
import ReactDOMServer from "react-dom/server" | |
import globals from "./globals" | |
import "./NewNoteV02.css" | |
function H1(props) { | |
const x1 = "# ".length | |
if (props.renderMarkup) { |
1
2
3
4
5
6 > > > >> 7
import React from "react" | |
import globals from "./globals" | |
import "./NewNoteV02.css" | |
/* | |
* LexerComponents.js | |
*/ | |
const H1 = props => <h1 className="fw:700 c:gray-900">{!props.readOnly && <span className="c:gray-900"># </span>}{props.children.slice("# ".length)}</h1> |