From 17db174926ded2f8354a5c33edb94a2db13617a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20GOUIN?= Date: Fri, 21 Jun 2019 11:38:13 +0200 Subject: [PATCH] Sample templates --- sample_data/article/birthday-cake.png | Bin 919584 -> 0 bytes sample_data/article/index.md | 169 +++++++++++++++++++++++++- sample_data/home/error.ejs | 8 +- sample_data/home/prism.css | 143 ++++++++++++++++++++++ sample_data/home/style.css | 138 ++++++++++++++++++++- sample_data/home/template.ejs | 16 ++- 6 files changed, 461 insertions(+), 13 deletions(-) delete mode 100644 sample_data/article/birthday-cake.png create mode 100644 sample_data/home/prism.css diff --git a/sample_data/article/birthday-cake.png b/sample_data/article/birthday-cake.png deleted file mode 100644 index c5d5d9fc153968394bda9cb2561669732efcdd2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 919584 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 diff --git a/sample_data/article/index.md b/sample_data/article/index.md index e45f07a..04e93ea 100644 --- a/sample_data/article/index.md +++ b/sample_data/article/index.md @@ -1,6 +1,171 @@ # Welcome to your new blog -## If you see this page, that means it's working +If you see this page, that means it's working -![thumbnail](./birthday-cake.png) +## Guide to Markdown formatting +### Headers + +# H1 +## H2 +### H3 +#### H4 +##### H5 +###### H6 + +Alternatively, for H1 and H2, an underline-ish style: + +Alt-H1 +====== + +Alt-H2 +------ + +### Emphasis + +Emphasis, aka italics, with *asterisks* or _underscores_. + +Strong emphasis, aka bold, with **asterisks** or __underscores__. + +Combined emphasis with **asterisks and _underscores_**. + +Strikethrough uses two tildes. ~~Scratch this.~~ + +### Lists + +1. First ordered list item +2. Another item +⋅⋅* Unordered sub-list. +1. Actual numbers don't matter, just that it's a number +⋅⋅1. Ordered sub-list +4. And another item. + +⋅⋅⋅You can have properly indented paragraphs within list items. Notice the blank line above, and the leading spaces (at least one, but we'll use three here to also align the raw Markdown). + +⋅⋅⋅To have a line break without a paragraph, you will need to use two trailing spaces.⋅⋅ +⋅⋅⋅Note that this line is separate, but within the same paragraph.⋅⋅ +⋅⋅⋅(This is contrary to the typical GFM line break behaviour, where trailing spaces are not required.) + +* Unordered list can use asterisks +- Or minuses ++ Or pluses + +### Links + +[I'm an inline-style link](https://www.google.com) + +[I'm an inline-style link with title](https://www.google.com "Google's Homepage") + +[I'm a reference-style link][Arbitrary case-insensitive reference text] + +[I'm a relative reference to a repository file](../blob/master/LICENSE) + +[You can use numbers for reference-style link definitions][1] + +Or leave it empty and use the [link text itself]. + +URLs and URLs in angle brackets will automatically get turned into links. +http://www.example.com or and sometimes +example.com (but not on Github, for example). + +Some text to show that the reference links can follow later. + +[arbitrary case-insensitive reference text]: https://www.mozilla.org +[1]: http://slashdot.org +[link text itself]: http://www.reddit.com + +### Images + +Here's our logo (hover to see the title text): + +Inline-style: +![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "Logo Title Text 1") + +Reference-style: +![alt text][logo] + +[logo]: https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png "Logo Title Text 2" + + +### Code and Syntax Highlighting + +Inline `code` has `back-ticks around` it. + +```javascript +var s = "JavaScript syntax highlighting"; +alert(s); +``` + +```python +s = "Python syntax highlighting" +print s +``` + +``` +No language indicated, so no syntax highlighting. +But let's throw in a tag. +``` + + +### Tables + +Colons can be used to align columns. + +| Tables | Are | Cool | +| ------------- |:-------------:| -----:| +| col 3 is | right-aligned | $1600 | +| col 2 is | centered | $12 | +| zebra stripes | are neat | $1 | + +There must be at least 3 dashes separating each header cell. +The outer pipes (|) are optional, and you don't need to make the +raw Markdown line up prettily. You can also use inline Markdown. + +Markdown | Less | Pretty +--- | --- | --- +*Still* | `renders` | **nicely** +1 | 2 | 3 + +### Blockquotes + +> Blockquotes are very handy in email to emulate reply text. +> This line is part of the same quote. + +Quote break. + +> This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can *put* **Markdown** into a blockquote. + +### Inline HTML + +
+
Definition list
+
Is something people use sometimes.
+ +
Markdown in HTML
+
Does *not* work **very** well. Use HTML tags.
+
+ +### Horizontal Rule + +Three or more... + +--- + +Hyphens + +*** + +Asterisks + +___ + +Underscores + +### Line Breaks + +Here's a line for us to start with. + +This line is separated from the one above by two newlines, so it will be a *separate paragraph*. + +This line is also a separate paragraph, but... +This line is only separated by a single newline, so it's a separate line in the *same paragraph*. diff --git a/sample_data/home/error.ejs b/sample_data/home/error.ejs index e4b1427..3d343ba 100644 --- a/sample_data/home/error.ejs +++ b/sample_data/home/error.ejs @@ -3,10 +3,16 @@ Error <%= error %> +
-

Error <%= error %> at path <%= path %>

+

Somehing went wrong + (Error <%= error %>) +

+ It means the resource you're trying to access is unavailable right now.
+ We're terribly sorry that you encountered this error.

+
Back to home
\ No newline at end of file diff --git a/sample_data/home/prism.css b/sample_data/home/prism.css new file mode 100644 index 0000000..80fb936 --- /dev/null +++ b/sample_data/home/prism.css @@ -0,0 +1,143 @@ +/* PrismJS 1.16.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+abap+abnf+actionscript+ada+apacheconf+apl+applescript+c+arff+asciidoc+asm6502+csharp+autohotkey+autoit+bash+basic+batch+bison+bnf+brainfuck+bro+cpp+aspnet+arduino+cil+coffeescript+cmake+clojure+ruby+csp+css-extras+d+dart+diff+markup-templating+docker+ebnf+eiffel+ejs+elixir+elm+erb+erlang+fsharp+flow+fortran+gcode+gedcom+gherkin+git+glsl+gml+go+graphql+groovy+less+handlebars+haskell+haxe+hcl+http+hpkp+hsts+ichigojam+icon+inform7+ini+io+j+java+scala+php+javastacktrace+jolie+jq+javadoclike+n4js+json+jsonp+json5+julia+keyman+kotlin+latex+markdown+liquid+lisp+livescript+lolcode+lua+makefile+crystal+django+matlab+mel+mizar+monkey+n1ql+typescript+nand2tetris-hdl+nasm+nginx+nim+nix+nsis+objectivec+ocaml+opencl+oz+parigp+parser+pascal+perl+jsdoc+phpdoc+php-extras+sql+powershell+processing+prolog+properties+protobuf+scss+puppet+pure+python+q+qore+r+js-extras+jsx+renpy+reason+vala+rest+rip+roboconf+textile+rust+sas+sass+stylus+javadoc+scheme+shell-session+smalltalk+smarty+plsql+soy+twig+swift+yaml+tcl+haml+toml+tt2+pug+tsx+t4-templating+visual-basic+t4-cs+regex+vbnet+velocity+verilog+vhdl+vim+t4-vb+wasm+wiki+xeora+xojo+xquery+tap */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + diff --git a/sample_data/home/style.css b/sample_data/home/style.css index 6d915f0..396d21f 100644 --- a/sample_data/home/style.css +++ b/sample_data/home/style.css @@ -1,18 +1,144 @@ +body, html { + padding: 0; + margin: 0; +} + +* { + box-sizing: border-box; +} + +body { + font: 14px/1.45 -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif; + color: #111; + -webkit-text-size-adjust: none; + + background-color: #F5F5F5; + + height: 100vh; +} + main { max-width: 70ch; padding: 2ch; margin: auto; + + background-color: #F0F0F0; + + min-height: 100%; } -.article a, .article a:visited { - color: black; +q:before { + content: open-quote; } -.article a:visited { - color: black; +q:after { + content: close-quote; } -.article img { +hr { + background: #e1e4e8; + border: 0; + height: 0.25em; + margin: 1em 0; +} + +a { + color: #3C3CA1; +} + +a:hover { + color: #8484C6; +} + +pre, code { + font-size: 96%; + background: #f8f8f8; +} + +pre { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + padding: 10px 16px; +} + +table td { + vertical-align: baseline; + padding-left: 8px; +} + +table td:first-of-type { + padding-left: 0; +} + +div.header span.time span { + color: #888; + font-family: serif; + font-style: italic; +} + +main.article div.header a.link-home { + text-decoration: none; + float: right; + line-height: 2.4; +} + +main.article div.header h1, main.article div.header h2 { + margin-top: 0.85em; + margin-bottom: 0.25em; + font-size: 1.5em; +} + +main.article div.header h1 a, main.article div.header h2 a { + text-decoration: none; +} + +main.article div.header span.time { + display: block; +} + +#text h1:first-child { + display: none; +} + +#text { + text-align: justify; + hyphens: auto; +} + +#text li, #text table, #text blockquote { + text-align: left; +} + +#text img { max-width: 100%; - max-height: 10vh; + height: auto; +} + +.note { + padding: 1em; + background: #ff02; +} + +.note > p { + margin: 0.6rem 0; +} + +.important { + padding: 1em; + background: #eff5ff; +} + +.important > p { + margin: 0.6rem 0; +} + +/* Sidenotes */ + +#text .side > p:nth-child(2n+0) { + font-style: italic; + color: #555; +} + +#text .side > p:nth-child(2n+0) > i, #text .side > p:nth-child(2n+0) > em { + font-style: normal; } \ No newline at end of file diff --git a/sample_data/home/template.ejs b/sample_data/home/template.ejs index 6cd69bf..064c1a1 100644 --- a/sample_data/home/template.ejs +++ b/sample_data/home/template.ejs @@ -2,12 +2,20 @@ - GitBlog.md - Home - + GitBlog.md - <%= article.title %> + + -
- <%- article.content %> +
+
+ +

<%= article.title %>

+ Published on <%= article.year + '-' + article.month + '-' + article.day %> +
+
<%- article.content %>
+
+ Go to top - Back to home
\ No newline at end of file