From dc3e5cdfbb7d3196f676dbec934c15bd555dcc39 Mon Sep 17 00:00:00 2001 From: Mark Feltner Date: Mon, 23 Nov 2020 19:35:33 -0600 Subject: [PATCH] feat(_layouts/page): add page layout with optional table of contents (#13) --- _layouts/page.html | 27 +++++ _sass/_toc.scss | 13 +++ assets/css/app.scss | 1 + hello-world.md | 14 +++ style.md | 244 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 299 insertions(+) create mode 100644 _layouts/page.html create mode 100644 _sass/_toc.scss create mode 100644 hello-world.md create mode 100644 style.md diff --git a/_layouts/page.html b/_layouts/page.html new file mode 100644 index 0000000..b080b42 --- /dev/null +++ b/_layouts/page.html @@ -0,0 +1,27 @@ +--- +layout: default +--- +
+
+

{{ page.title }}

+ {% if page.date %} + + {% endif %} + {% if page.meta %} • {{ page.meta }}{% endif %} +
+ + {% if page.toc == true %} + +
+ {{ content | inject_anchors }} +
+ {% else %} +
+ {{ content }} +
+ {% endif %} + + +
diff --git a/_sass/_toc.scss b/_sass/_toc.scss new file mode 100644 index 0000000..d4cfc80 --- /dev/null +++ b/_sass/_toc.scss @@ -0,0 +1,13 @@ +.toc { + background-color: #f6f7f9; + padding: 8px; + + ul, li { + list-style-type: none; + } + +} + +li.toc-entry { + padding-top: 8px; +} diff --git a/assets/css/app.scss b/assets/css/app.scss index fb6383d..9070006 100644 --- a/assets/css/app.scss +++ b/assets/css/app.scss @@ -20,3 +20,4 @@ $header_background_url: "{{ site.guardian.style.header_background_url }}"; @import "page"; @import "post"; @import "index"; +@import "toc"; diff --git a/hello-world.md b/hello-world.md new file mode 100644 index 0000000..ddfcb08 --- /dev/null +++ b/hello-world.md @@ -0,0 +1,14 @@ +--- +title: Hello, world! +author: Mark Feltner +published: true +permalink: /hello-world +comments: false +layout: page +toc: false +--- + +Hello, world! + +I am a _page_. + diff --git a/style.md b/style.md new file mode 100644 index 0000000..64e6f01 --- /dev/null +++ b/style.md @@ -0,0 +1,244 @@ +--- + +title: Style +published: true +permalink: /style +comments: false +layout: page +toc: false +--- + +# h1 Heading 8-) +## h2 Heading +### h3 Heading +#### h4 Heading +##### h5 Heading +###### h6 Heading + + +## Horizontal Rules + +___ + +--- + +*** + + +## Typographic replacements + +Enable typographer option to see result. + +(c) (C) (r) (R) (tm) (TM) (p) (P) +- + +test.. test... test..... test?..... test!.... + +!!!!!! ???? ,, -- --- + +"Smartypants, double quotes" and 'single quotes' + + +## Emphasis + +**This is bold text** + +__This is bold text__ + +*This is italic text* + +_This is italic text_ + +~~Strikethrough~~ + + +## Blockquotes + + +> Blockquotes can also be nested... +>> ...by using additional greater-than signs right next to each other... +> > > ...or with spaces between arrows. + + +## Lists + +Unordered + ++ Create a list by starting a line with `+`, `-`, or `*` ++ Sub-lists are made by indenting 2 spaces: + - Marker character change forces new list start: + * Ac tristique libero volutpat at + + Facilisis in pretium nisl aliquet + - Nulla volutpat aliquam velit ++ Very easy! + +Ordered + +1. Lorem ipsum dolor sit amet +2. Consectetur adipiscing elit +3. Integer molestie lorem at massa + + +1. You can use sequential numbers... +1. ...or keep all the numbers as `1.` + +Start numbering with offset: + +57. foo +1. bar + + +## Code + +Inline `code` + +Indented code + + // Some comments + line 1 of code + line 2 of code + line 3 of code + + +Block code "fences" + +``` +Sample text here... +``` + +Syntax highlighting + +``` js +var foo = function (bar) { + return bar++; +}; + +console.log(foo(5)); +``` + +## Tables + +| Option | Description | +| ------ | ----------- | +| data | path to data files to supply the data that will be passed into templates. | +| engine | engine to be used for processing templates. Handlebars is the default. | +| ext | extension to be used for dest files. | + +Right aligned columns + +| Option | Description | +| ------:| -----------:| +| data | path to data files to supply the data that will be passed into templates. | +| engine | engine to be used for processing templates. Handlebars is the default. | +| ext | extension to be used for dest files. | + + +## Links + +[link text](http://dev.nodeca.com) + +[link with title](http://nodeca.github.io/pica/demo/ "title text!") + +Autoconverted link https://github.com/nodeca/pica (enable linkify to see) + + +## Images + +![Minion](https://octodex.github.com/images/minion.png) +![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg "The Stormtroopocat") + +Like links, Images also have a footnote style syntax + +![Alt text][id] + +With a reference later in the document defining the URL location: + +[id]: https://octodex.github.com/images/dojocat.jpg "The Dojocat" + + +## Plugins + +The killer feature of `markdown-it` is very effective support of +[syntax plugins](https://www.npmjs.org/browse/keyword/markdown-it-plugin). + + +### [Emojies](https://github.com/markdown-it/markdown-it-emoji) + +> Classic markup: :wink: :crush: :cry: :tear: :laughing: :yum: +> +> Shortcuts (emoticons): :-) :-( 8-) ;) + +see [how to change output](https://github.com/markdown-it/markdown-it-emoji#change-output) with twemoji. + + +### [Subscript](https://github.com/markdown-it/markdown-it-sub) / [Superscript](https://github.com/markdown-it/markdown-it-sup) + +- 19^th^ +- H~2~O + + +### [\](https://github.com/markdown-it/markdown-it-ins) + +++Inserted text++ + + +### [\](https://github.com/markdown-it/markdown-it-mark) + +==Marked text== + + +### [Footnotes](https://github.com/markdown-it/markdown-it-footnote) + +Footnote 1 link[^first]. + +Footnote 2 link[^second]. + +Inline footnote^[Text of inline footnote] definition. + +Duplicated footnote reference[^second]. + +[^first]: Footnote **can have markup** + + and multiple paragraphs. + +[^second]: Footnote text. + + +### [Definition lists](https://github.com/markdown-it/markdown-it-deflist) + +Term 1 + +: Definition 1 +with lazy continuation. + +Term 2 with *inline markup* + +: Definition 2 + + { some code, part of Definition 2 } + + Third paragraph of definition 2. + +_Compact style:_ + +Term 1 + ~ Definition 1 + +Term 2 + ~ Definition 2a + ~ Definition 2b + + +### [Abbreviations](https://github.com/markdown-it/markdown-it-abbr) + +This is HTML abbreviation example. + +It converts "HTML", but keep intact partial entries like "xxxHTMLyyy" and so on. + +*[HTML]: Hyper Text Markup Language + +### [Custom containers](https://github.com/markdown-it/markdown-it-container) + +::: warning +*here be dragons* +::: +