diff --git a/assets/assets.qtpl.go b/assets/assets.qtpl.go index d6fc38c..ce703dd 100644 --- a/assets/assets.qtpl.go +++ b/assets/assets.qtpl.go @@ -463,24 +463,51 @@ function selectionWrapper(cursorPosition, prefix, postfix = null, el = editTexta } } -const wrapBold = selectionWrapper(2, '**'), - wrapItalic = selectionWrapper(2, '//'), +const wrapBold = selectionWrapper(2, '**'), + wrapItalic = selectionWrapper(2, '//'), wrapMonospace = selectionWrapper(1, '`) //line assets/assets.qtpl:14 qw422016.N().S("`") //line assets/assets.qtpl:14 - qw422016.N().S(`'), - wrapHighlighted = selectionWrapper(2, '!!'), - wrapLifted = selectionWrapper(1, '^'), - wrapLowered = selectionWrapper(2, ',,'), - wrapStrikethrough = selectionWrapper(2, '~~'), + qw422016.N().S(`'), + wrapHighlighted = selectionWrapper(2, '!!'), + wrapLifted = selectionWrapper(1, '^'), + wrapLowered = selectionWrapper(2, ',,'), + wrapStrikethrough = selectionWrapper(2, '~~'), wrapLink = selectionWrapper(2, '[[', ']]') const insertHorizontalBar = textInserter('----\n'), - insertImgBlock = textInserter('img {\n\t\n}\n', 7), + insertImgBlock = textInserter('img {\n\t\n}\n', 7), insertTableBlock = textInserter('table {\n\t\n}\n', 9), insertRocket = textInserter('=> '), - insertXcl = textInserter('<= ') + insertXcl = textInserter('<= '), + insertHeading2 = textInserter('## '), + insertHeading3 = textInserter('### '), + insertCodeblock = textInserter('`) +//line assets/assets.qtpl:14 + qw422016.N().S("`") +//line assets/assets.qtpl:14 + qw422016.N().S(``) +//line assets/assets.qtpl:14 + qw422016.N().S("`") +//line assets/assets.qtpl:14 + qw422016.N().S(``) +//line assets/assets.qtpl:14 + qw422016.N().S("`") +//line assets/assets.qtpl:14 + qw422016.N().S(`\n\n`) +//line assets/assets.qtpl:14 + qw422016.N().S("`") +//line assets/assets.qtpl:14 + qw422016.N().S(``) +//line assets/assets.qtpl:14 + qw422016.N().S("`") +//line assets/assets.qtpl:14 + qw422016.N().S(``) +//line assets/assets.qtpl:14 + qw422016.N().S("`") +//line assets/assets.qtpl:14 + qw422016.N().S(`\n', 4) function insertDate() { let date = new Date().toISOString().split('T')[0] diff --git a/assets/toolbar.js b/assets/toolbar.js index ea5c8d4..08ae31e 100644 --- a/assets/toolbar.js +++ b/assets/toolbar.js @@ -38,20 +38,23 @@ function selectionWrapper(cursorPosition, prefix, postfix = null, el = editTexta } } -const wrapBold = selectionWrapper(2, '**'), - wrapItalic = selectionWrapper(2, '//'), - wrapMonospace = selectionWrapper(1, '`'), - wrapHighlighted = selectionWrapper(2, '!!'), - wrapLifted = selectionWrapper(1, '^'), - wrapLowered = selectionWrapper(2, ',,'), - wrapStrikethrough = selectionWrapper(2, '~~'), +const wrapBold = selectionWrapper(2, '**'), + wrapItalic = selectionWrapper(2, '//'), + wrapMonospace = selectionWrapper(1, '`'), + wrapHighlighted = selectionWrapper(2, '!!'), + wrapLifted = selectionWrapper(1, '^'), + wrapLowered = selectionWrapper(2, ',,'), + wrapStrikethrough = selectionWrapper(2, '~~'), wrapLink = selectionWrapper(2, '[[', ']]') const insertHorizontalBar = textInserter('----\n'), - insertImgBlock = textInserter('img {\n\t\n}\n', 7), + insertImgBlock = textInserter('img {\n\t\n}\n', 7), insertTableBlock = textInserter('table {\n\t\n}\n', 9), insertRocket = textInserter('=> '), - insertXcl = textInserter('<= ') + insertXcl = textInserter('<= '), + insertHeading2 = textInserter('## '), + insertHeading3 = textInserter('### '), + insertCodeblock = textInserter('```\n\n```\n', 4) function insertDate() { let date = new Date().toISOString().split('T')[0] diff --git a/views/mutators.qtpl b/views/mutators.qtpl index 904d988..d9ae72c 100644 --- a/views/mutators.qtpl +++ b/views/mutators.qtpl @@ -12,6 +12,8 @@ display string }{ {"link", "wrapLink()", "[[link]]"}, + {"heading2", "insertHeading2()", "## heading"}, + {"heading3", "insertHeading3()", "### heading"}, {"bold", "wrapBold()", "**Bold**"}, {"italic", "wrapItalic()", "//Italic//"}, {"highlighted", "wrapHighlighted()", "!!Highlight!!"}, @@ -24,6 +26,7 @@ {"img", "insertImgBlock()", "img {}"}, {"table", "insertTableBlock()", "table {}"}, {"hr", "insertHorizontalBar()", "Horizontal bar"}, + {"codeblock", "insertCodeblock()", "Code block"}, } %} `) -//line views/mutators.qtpl:33 +//line views/mutators.qtpl:36 } -//line views/mutators.qtpl:33 +//line views/mutators.qtpl:36 qw422016.N().S(`

Learn more about mycomarkup

Actions

`) -//line views/mutators.qtpl:38 +//line views/mutators.qtpl:41 for _, el := range []struct { class string onclick string @@ -91,34 +94,34 @@ func StreamToolbar(qw422016 *qt422016.Writer, u *user.User) { }{ {"date", "insertDate()", "Insert current date"}, } { -//line views/mutators.qtpl:44 +//line views/mutators.qtpl:47 qw422016.N().S(` `) -//line views/mutators.qtpl:50 +//line views/mutators.qtpl:53 } -//line views/mutators.qtpl:50 +//line views/mutators.qtpl:53 qw422016.N().S(` `) -//line views/mutators.qtpl:51 +//line views/mutators.qtpl:54 if u.Group != "anon" { -//line views/mutators.qtpl:51 +//line views/mutators.qtpl:54 qw422016.N().S(`
`) -//line views/mutators.qtpl:61 +//line views/mutators.qtpl:64 } -//line views/mutators.qtpl:61 +//line views/mutators.qtpl:64 func WriteToolbar(qq422016 qtio422016.Writer, u *user.User) { -//line views/mutators.qtpl:61 +//line views/mutators.qtpl:64 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/mutators.qtpl:61 +//line views/mutators.qtpl:64 StreamToolbar(qw422016, u) -//line views/mutators.qtpl:61 +//line views/mutators.qtpl:64 qt422016.ReleaseWriter(qw422016) -//line views/mutators.qtpl:61 +//line views/mutators.qtpl:64 } -//line views/mutators.qtpl:61 +//line views/mutators.qtpl:64 func Toolbar(u *user.User) string { -//line views/mutators.qtpl:61 +//line views/mutators.qtpl:64 qb422016 := qt422016.AcquireByteBuffer() -//line views/mutators.qtpl:61 +//line views/mutators.qtpl:64 WriteToolbar(qb422016, u) -//line views/mutators.qtpl:61 +//line views/mutators.qtpl:64 qs422016 := string(qb422016.B) -//line views/mutators.qtpl:61 +//line views/mutators.qtpl:64 qt422016.ReleaseByteBuffer(qb422016) -//line views/mutators.qtpl:61 +//line views/mutators.qtpl:64 return qs422016 -//line views/mutators.qtpl:61 +//line views/mutators.qtpl:64 } -//line views/mutators.qtpl:63 +//line views/mutators.qtpl:66 func StreamEditHTML(qw422016 *qt422016.Writer, rq *http.Request, hyphaName, textAreaFill, warning string) { -//line views/mutators.qtpl:63 +//line views/mutators.qtpl:66 qw422016.N().S(` `) -//line views/mutators.qtpl:64 +//line views/mutators.qtpl:67 qw422016.N().S(NavHTML(rq, hyphaName, "edit")) -//line views/mutators.qtpl:64 +//line views/mutators.qtpl:67 qw422016.N().S(`

Edit `) -//line views/mutators.qtpl:67 +//line views/mutators.qtpl:70 qw422016.E().S(util.BeautifulName(hyphaName)) -//line views/mutators.qtpl:67 +//line views/mutators.qtpl:70 qw422016.N().S(`

`) -//line views/mutators.qtpl:68 +//line views/mutators.qtpl:71 qw422016.N().S(warning) -//line views/mutators.qtpl:68 +//line views/mutators.qtpl:71 qw422016.N().S(`

Cancel
`) -//line views/mutators.qtpl:78 +//line views/mutators.qtpl:81 qw422016.N().S(Toolbar(user.FromRequest(rq))) -//line views/mutators.qtpl:78 +//line views/mutators.qtpl:81 qw422016.N().S(`
`) -//line views/mutators.qtpl:80 +//line views/mutators.qtpl:83 } -//line views/mutators.qtpl:80 +//line views/mutators.qtpl:83 func WriteEditHTML(qq422016 qtio422016.Writer, rq *http.Request, hyphaName, textAreaFill, warning string) { -//line views/mutators.qtpl:80 +//line views/mutators.qtpl:83 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/mutators.qtpl:80 +//line views/mutators.qtpl:83 StreamEditHTML(qw422016, rq, hyphaName, textAreaFill, warning) -//line views/mutators.qtpl:80 +//line views/mutators.qtpl:83 qt422016.ReleaseWriter(qw422016) -//line views/mutators.qtpl:80 +//line views/mutators.qtpl:83 } -//line views/mutators.qtpl:80 +//line views/mutators.qtpl:83 func EditHTML(rq *http.Request, hyphaName, textAreaFill, warning string) string { -//line views/mutators.qtpl:80 +//line views/mutators.qtpl:83 qb422016 := qt422016.AcquireByteBuffer() -//line views/mutators.qtpl:80 +//line views/mutators.qtpl:83 WriteEditHTML(qb422016, rq, hyphaName, textAreaFill, warning) -//line views/mutators.qtpl:80 +//line views/mutators.qtpl:83 qs422016 := string(qb422016.B) -//line views/mutators.qtpl:80 +//line views/mutators.qtpl:83 qt422016.ReleaseByteBuffer(qb422016) -//line views/mutators.qtpl:80 +//line views/mutators.qtpl:83 return qs422016 -//line views/mutators.qtpl:80 +//line views/mutators.qtpl:83 } -//line views/mutators.qtpl:82 +//line views/mutators.qtpl:85 func StreamPreviewHTML(qw422016 *qt422016.Writer, rq *http.Request, hyphaName, textAreaFill, warning string, renderedPage string) { -//line views/mutators.qtpl:82 +//line views/mutators.qtpl:85 qw422016.N().S(` `) -//line views/mutators.qtpl:83 +//line views/mutators.qtpl:86 qw422016.N().S(NavHTML(rq, hyphaName, "edit")) -//line views/mutators.qtpl:83 +//line views/mutators.qtpl:86 qw422016.N().S(`

Edit `) -//line views/mutators.qtpl:86 +//line views/mutators.qtpl:89 qw422016.E().S(util.BeautifulName(hyphaName)) -//line views/mutators.qtpl:86 +//line views/mutators.qtpl:89 qw422016.N().S(` (preview)

`) -//line views/mutators.qtpl:87 +//line views/mutators.qtpl:90 qw422016.N().S(warning) -//line views/mutators.qtpl:87 +//line views/mutators.qtpl:90 qw422016.N().S(`

Cancel

Note that the hypha is not saved yet. You can preview the changes ↓

`) -//line views/mutators.qtpl:97 +//line views/mutators.qtpl:100 qw422016.N().S(renderedPage) -//line views/mutators.qtpl:97 +//line views/mutators.qtpl:100 qw422016.N().S(`
`) -//line views/mutators.qtpl:99 +//line views/mutators.qtpl:102 qw422016.N().S(Toolbar(user.FromRequest(rq))) -//line views/mutators.qtpl:99 +//line views/mutators.qtpl:102 qw422016.N().S(`
`) -//line views/mutators.qtpl:101 +//line views/mutators.qtpl:104 } -//line views/mutators.qtpl:101 +//line views/mutators.qtpl:104 func WritePreviewHTML(qq422016 qtio422016.Writer, rq *http.Request, hyphaName, textAreaFill, warning string, renderedPage string) { -//line views/mutators.qtpl:101 +//line views/mutators.qtpl:104 qw422016 := qt422016.AcquireWriter(qq422016) -//line views/mutators.qtpl:101 +//line views/mutators.qtpl:104 StreamPreviewHTML(qw422016, rq, hyphaName, textAreaFill, warning, renderedPage) -//line views/mutators.qtpl:101 +//line views/mutators.qtpl:104 qt422016.ReleaseWriter(qw422016) -//line views/mutators.qtpl:101 +//line views/mutators.qtpl:104 } -//line views/mutators.qtpl:101 +//line views/mutators.qtpl:104 func PreviewHTML(rq *http.Request, hyphaName, textAreaFill, warning string, renderedPage string) string { -//line views/mutators.qtpl:101 +//line views/mutators.qtpl:104 qb422016 := qt422016.AcquireByteBuffer() -//line views/mutators.qtpl:101 +//line views/mutators.qtpl:104 WritePreviewHTML(qb422016, rq, hyphaName, textAreaFill, warning, renderedPage) -//line views/mutators.qtpl:101 +//line views/mutators.qtpl:104 qs422016 := string(qb422016.B) -//line views/mutators.qtpl:101 +//line views/mutators.qtpl:104 qt422016.ReleaseByteBuffer(qb422016) -//line views/mutators.qtpl:101 +//line views/mutators.qtpl:104 return qs422016 -//line views/mutators.qtpl:101 +//line views/mutators.qtpl:104 }