diff options
| -rw-r--r-- | assets/css/_basics.scss | 7 | ||||
| -rw-r--r-- | assets/css/_vars.scss | 4 | ||||
| -rw-r--r-- | assets/css/components/_landing-banner.scss | 5 | ||||
| -rw-r--r-- | assets/css/components/_outer-button.scss | 11 | ||||
| -rw-r--r-- | assets/css/scopes/_body.scss | 74 | ||||
| -rw-r--r-- | assets/css/scopes/_colored-links.scss | 20 | ||||
| -rw-r--r-- | assets/css/scopes/_headlines.scss | 58 | ||||
| -rw-r--r-- | assets/css/style.scss | 2 | ||||
| -rw-r--r-- | content/personal/dre-infinite-skyscrapers/index.md (renamed from content/personal/infinite-skyscrapers/index.md) | 4 | ||||
| -rw-r--r-- | content/personal/mis-design-test/index.md | 306 | ||||
| -rw-r--r-- | filters/common_actions.lua | 9 | ||||
| -rw-r--r-- | metadata/metadata.yaml | 2 | ||||
| -rw-r--r-- | templates/layouts/categorized_list.html | 14 | ||||
| -rw-r--r-- | templates/layouts/index.html | 2 | ||||
| -rw-r--r-- | templates/layouts/page.html | 16 |
15 files changed, 429 insertions, 105 deletions
diff --git a/assets/css/_basics.scss b/assets/css/_basics.scss index 2a271ff..b2a437b 100644 --- a/assets/css/_basics.scss +++ b/assets/css/_basics.scss | |||
| @@ -84,7 +84,6 @@ li { | |||
| 84 | width: prop(--dims --indent); | 84 | width: prop(--dims --indent); |
| 85 | margin-left: calc(-1 * #{prop(--dims --indent)}); | 85 | margin-left: calc(-1 * #{prop(--dims --indent)}); |
| 86 | color: prop(--colors --fg-hi); | 86 | color: prop(--colors --fg-hi); |
| 87 | font-family: $font-fam--mono; | ||
| 88 | } | 87 | } |
| 89 | } | 88 | } |
| 90 | 89 | ||
| @@ -144,7 +143,7 @@ h6 { | |||
| 144 | font-family: $font-fam--large; | 143 | font-family: $font-fam--large; |
| 145 | font-size: 1em; | 144 | font-size: 1em; |
| 146 | font-weight: 600; | 145 | font-weight: 600; |
| 147 | line-height: 1.2; | 146 | line-height: 1.4; |
| 148 | font-feature-settings: 'ss02' 1; | 147 | font-feature-settings: 'ss02' 1; |
| 149 | 148 | ||
| 150 | & + & { | 149 | & + & { |
| @@ -163,7 +162,7 @@ p { | |||
| 163 | 162 | ||
| 164 | hr { | 163 | hr { |
| 165 | height: 1px; | 164 | height: 1px; |
| 166 | margin: ($line-height * 1rem) 0; | 165 | margin: ($line-height * 2rem) 0; |
| 167 | border: 0; | 166 | border: 0; |
| 168 | background-color: prop(--colors --obj-hi); | 167 | background-color: prop(--colors --obj-hi); |
| 169 | } | 168 | } |
| @@ -172,5 +171,5 @@ blockquote, | |||
| 172 | pre { | 171 | pre { |
| 173 | margin: ($line-height * 1rem) 0 0 1px; | 172 | margin: ($line-height * 1rem) 0 0 1px; |
| 174 | padding-left: calc(#{prop(--dims --indent)} - 3px); | 173 | padding-left: calc(#{prop(--dims --indent)} - 3px); |
| 175 | border-left: 2px solid prop(--colors --obj); | 174 | border-left: 3px solid prop(--colors --obj); |
| 176 | } | 175 | } |
diff --git a/assets/css/_vars.scss b/assets/css/_vars.scss index 263cb5d..3adce04 100644 --- a/assets/css/_vars.scss +++ b/assets/css/_vars.scss | |||
| @@ -66,9 +66,7 @@ $gray7: hsl(220, 7%, 100%); | |||
| 66 | ), | 66 | ), |
| 67 | 67 | ||
| 68 | --link: ( | 68 | --link: ( |
| 69 | --idle: var(--colors--fg-lo), | 69 | --idle: var(--colors--fg-lo), |
| 70 | --idle-body: hsl(210, 90%, 72%), // hsl(354, 100%, 66%), | ||
| 71 | --visited-body: hsl(270, 60%, 75%), // hsl(354, 50%, 66%), | ||
| 72 | ) | 70 | ) |
| 73 | ) | 71 | ) |
| 74 | )); | 72 | )); |
diff --git a/assets/css/components/_landing-banner.scss b/assets/css/components/_landing-banner.scss index 58d64d7..0e44e35 100644 --- a/assets/css/components/_landing-banner.scss +++ b/assets/css/components/_landing-banner.scss | |||
| @@ -13,13 +13,10 @@ | |||
| 13 | transform: translateX(-.06em); | 13 | transform: translateX(-.06em); |
| 14 | font-family: $font-fam--large; | 14 | font-family: $font-fam--large; |
| 15 | font-weight: 350; | 15 | font-weight: 350; |
| 16 | line-height: 1.2; | ||
| 16 | text-transform: none; | 17 | text-transform: none; |
| 17 | } | 18 | } |
| 18 | 19 | ||
| 19 | @include element('text') { | ||
| 20 | font-size: 1 / 16 * 18em; | ||
| 21 | } | ||
| 22 | |||
| 23 | @include element('title-inner') { | 20 | @include element('title-inner') { |
| 24 | background-image: linear-gradient( | 21 | background-image: linear-gradient( |
| 25 | to top, | 22 | to top, |
diff --git a/assets/css/components/_outer-button.scss b/assets/css/components/_outer-button.scss index d1da93c..22fa251 100644 --- a/assets/css/components/_outer-button.scss +++ b/assets/css/components/_outer-button.scss | |||
| @@ -24,10 +24,10 @@ | |||
| 24 | transition: background-color .2s, color .2s; | 24 | transition: background-color .2s, color .2s; |
| 25 | background-color: prop(--colors --bg); | 25 | background-color: prop(--colors --bg); |
| 26 | color: prop(--colors --fg); | 26 | color: prop(--colors --fg); |
| 27 | font-family: $font-fam--large; | 27 | font-size: 1 / 16 * 15rem; |
| 28 | font-size: 1rem; | 28 | letter-spacing: 1px; |
| 29 | font-weight: 500; | ||
| 30 | text-decoration: none; | 29 | text-decoration: none; |
| 30 | text-transform: uppercase; | ||
| 31 | 31 | ||
| 32 | @include modifier('inverted') { | 32 | @include modifier('inverted') { |
| 33 | background-color: prop(--colors --inverted --bg); | 33 | background-color: prop(--colors --inverted --bg); |
| @@ -51,8 +51,8 @@ | |||
| 51 | 51 | ||
| 52 | @include element('icon-symbol') { | 52 | @include element('icon-symbol') { |
| 53 | display: block; | 53 | display: block; |
| 54 | width: 1.35em; | 54 | width: 1.45em; |
| 55 | height: 1.35em; | 55 | height: 1.45em; |
| 56 | } | 56 | } |
| 57 | 57 | ||
| 58 | @include element('content') { | 58 | @include element('content') { |
| @@ -60,7 +60,6 @@ | |||
| 60 | padding-right: prop(--dims --pad-x); | 60 | padding-right: prop(--dims --pad-x); |
| 61 | padding-left: prop(--dims --pad-x); | 61 | padding-left: prop(--dims --pad-x); |
| 62 | transition: border-color .2s; | 62 | transition: border-color .2s; |
| 63 | font-size: 1 / 16 * 15em; | ||
| 64 | line-height: prop(--dims --outer, $global: true); | 63 | line-height: prop(--dims --outer, $global: true); |
| 65 | white-space: nowrap; | 64 | white-space: nowrap; |
| 66 | } | 65 | } |
diff --git a/assets/css/scopes/_body.scss b/assets/css/scopes/_body.scss index b4d0a3c..8e5f876 100644 --- a/assets/css/scopes/_body.scss +++ b/assets/css/scopes/_body.scss | |||
| @@ -1,10 +1,6 @@ | |||
| 1 | @include namespace('body') { | 1 | @include namespace('body') { |
| 2 | @include store(( | 2 | @include store(( |
| 3 | --colors: ( | 3 | --colors: ( |
| 4 | --emph: ( | ||
| 5 | --fg: prop(--colors --accent --color, $global: true), | ||
| 6 | --bg: prop(--colors --bg-hi, $global: true), | ||
| 7 | ), | ||
| 8 | --meta: ( | 4 | --meta: ( |
| 9 | --fg: prop(--colors --fg-hi, $global: true), | 5 | --fg: prop(--colors --fg-hi, $global: true), |
| 10 | ) | 6 | ) |
| @@ -12,73 +8,15 @@ | |||
| 12 | )); | 8 | )); |
| 13 | 9 | ||
| 14 | @include scope(namespace()) { | 10 | @include scope(namespace()) { |
| 15 | font-size: 1 / 16 * 18em; | 11 | font-size: 1 / 16 * 19em; |
| 16 | |||
| 17 | > :first-child { | ||
| 18 | margin-top: 0; | ||
| 19 | } | ||
| 20 | |||
| 21 | :link { | ||
| 22 | color: prop(--colors --link --idle-body, $global: true); | ||
| 23 | } | ||
| 24 | |||
| 25 | :visited { | ||
| 26 | color: prop(--colors --link --visited-body, $global: true); | ||
| 27 | } | ||
| 28 | |||
| 29 | h1, | ||
| 30 | h2, | ||
| 31 | h3, | ||
| 32 | h4 { | ||
| 33 | transform: translateX(-.06em); | ||
| 34 | } | ||
| 35 | |||
| 36 | h1 { | ||
| 37 | @include iro-responsive-modular-scale(font-size, 3, $responsive-mod-scale); | ||
| 38 | } | ||
| 39 | |||
| 40 | h2 { | ||
| 41 | @include iro-responsive-modular-scale(font-size, 2, $responsive-mod-scale); | ||
| 42 | } | ||
| 43 | |||
| 44 | h3 { | ||
| 45 | @include iro-responsive-modular-scale(font-size, 1, $responsive-mod-scale); | ||
| 46 | |||
| 47 | letter-spacing: .05em; | ||
| 48 | text-transform: uppercase; | ||
| 49 | } | ||
| 50 | |||
| 51 | h4, | ||
| 52 | h5, | ||
| 53 | h6 { | ||
| 54 | @include iro-responsive-modular-scale(font-size, 0, $responsive-mod-scale); | ||
| 55 | |||
| 56 | letter-spacing: .1em; | ||
| 57 | text-transform: uppercase; | ||
| 58 | } | ||
| 59 | |||
| 60 | h5, | ||
| 61 | h6 { | ||
| 62 | color: currentColor; | ||
| 63 | font-weight: 400; | ||
| 64 | } | ||
| 65 | |||
| 66 | @include element('title-inner') { | ||
| 67 | background-image: linear-gradient( | ||
| 68 | to top, | ||
| 69 | transparent .15em, | ||
| 70 | #{prop(--colors --emph --bg)} .15em, | ||
| 71 | #{prop(--colors --emph --bg)} .6em, | ||
| 72 | transparent .6em | ||
| 73 | ); | ||
| 74 | } | ||
| 75 | 12 | ||
| 76 | @include element('meta') { | 13 | @include element('meta') { |
| 77 | color: prop(--colors --meta --fg); | 14 | margin-top: $line-height * 1rem; |
| 78 | font-size: 1 / 18 * 16em; | 15 | color: prop(--colors --meta --fg); |
| 16 | font-size: 1 / 16 * 15rem; | ||
| 79 | 17 | ||
| 80 | + h1 { | 18 | + * { |
| 81 | margin-top: $line-height * 1rem; | 19 | margin-top: $line-height * 1.5rem; |
| 82 | } | 20 | } |
| 83 | } | 21 | } |
| 84 | 22 | ||
diff --git a/assets/css/scopes/_colored-links.scss b/assets/css/scopes/_colored-links.scss new file mode 100644 index 0000000..25ed289 --- /dev/null +++ b/assets/css/scopes/_colored-links.scss | |||
| @@ -0,0 +1,20 @@ | |||
| 1 | @include namespace('colored-links') { | ||
| 2 | @include store(( | ||
| 3 | --colors: ( | ||
| 4 | --link: ( | ||
| 5 | --idle: hsl(210, 90%, 72%), // hsl(354, 100%, 66%), | ||
| 6 | --visited: hsl(270, 60%, 75%), // hsl(354, 50%, 66%), | ||
| 7 | ) | ||
| 8 | ) | ||
| 9 | )); | ||
| 10 | |||
| 11 | @include scope(namespace()) { | ||
| 12 | :link { | ||
| 13 | color: prop(--colors --link --idle); | ||
| 14 | } | ||
| 15 | |||
| 16 | :visited { | ||
| 17 | color: prop(--colors --link --visited); | ||
| 18 | } | ||
| 19 | } | ||
| 20 | } | ||
diff --git a/assets/css/scopes/_headlines.scss b/assets/css/scopes/_headlines.scss new file mode 100644 index 0000000..6b28e9c --- /dev/null +++ b/assets/css/scopes/_headlines.scss | |||
| @@ -0,0 +1,58 @@ | |||
| 1 | @include namespace('headlines') { | ||
| 2 | @include store(( | ||
| 3 | --colors: ( | ||
| 4 | --emph: ( | ||
| 5 | --bg: prop(--colors --bg-hi, $global: true), | ||
| 6 | ) | ||
| 7 | ) | ||
| 8 | )); | ||
| 9 | |||
| 10 | @include scope(namespace()) { | ||
| 11 | h1, | ||
| 12 | h2, | ||
| 13 | h3, | ||
| 14 | h4 { | ||
| 15 | transform: translateX(-.06em); | ||
| 16 | } | ||
| 17 | |||
| 18 | h1 { | ||
| 19 | @include iro-responsive-modular-scale(font-size, 3, $responsive-mod-scale); | ||
| 20 | } | ||
| 21 | |||
| 22 | h2 { | ||
| 23 | @include iro-responsive-modular-scale(font-size, 2, $responsive-mod-scale); | ||
| 24 | } | ||
| 25 | |||
| 26 | h3 { | ||
| 27 | @include iro-responsive-modular-scale(font-size, 1, $responsive-mod-scale); | ||
| 28 | |||
| 29 | letter-spacing: .05em; | ||
| 30 | text-transform: uppercase; | ||
| 31 | } | ||
| 32 | |||
| 33 | h4, | ||
| 34 | h5, | ||
| 35 | h6 { | ||
| 36 | @include iro-responsive-modular-scale(font-size, 0, $responsive-mod-scale); | ||
| 37 | |||
| 38 | letter-spacing: .1em; | ||
| 39 | text-transform: uppercase; | ||
| 40 | } | ||
| 41 | |||
| 42 | h5, | ||
| 43 | h6 { | ||
| 44 | color: currentColor; | ||
| 45 | font-weight: 400; | ||
| 46 | } | ||
| 47 | |||
| 48 | @include element('title-inner') { | ||
| 49 | background-image: linear-gradient( | ||
| 50 | to top, | ||
| 51 | transparent .15em, | ||
| 52 | #{prop(--colors --emph --bg)} .15em, | ||
| 53 | #{prop(--colors --emph --bg)} .6em, | ||
| 54 | transparent .6em | ||
| 55 | ); | ||
| 56 | } | ||
| 57 | } | ||
| 58 | } | ||
diff --git a/assets/css/style.scss b/assets/css/style.scss index aa83f85..e4a36b0 100644 --- a/assets/css/style.scss +++ b/assets/css/style.scss | |||
| @@ -24,6 +24,8 @@ | |||
| 24 | @import 'components/card'; | 24 | @import 'components/card'; |
| 25 | @import 'components/project'; | 25 | @import 'components/project'; |
| 26 | 26 | ||
| 27 | @import 'scopes/colored-links'; | ||
| 28 | @import 'scopes/headlines'; | ||
| 27 | @import 'scopes/body'; | 29 | @import 'scopes/body'; |
| 28 | 30 | ||
| 29 | @import 'utils'; | 31 | @import 'utils'; |
diff --git a/content/personal/infinite-skyscrapers/index.md b/content/personal/dre-infinite-skyscrapers/index.md index a4a78e1..ca30329 100644 --- a/content/personal/infinite-skyscrapers/index.md +++ b/content/personal/dre-infinite-skyscrapers/index.md | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | --- | 1 | --- |
| 2 | date: 2021-01-09 | 2 | date: 2021-01-09 |
| 3 | title: Infinite Skyscrapers | 3 | title: Infinite Skyscrapers |
| 4 | category: dre | 4 | category: dre |
| 5 | --- | 5 | --- |
| 6 | 6 | ||
diff --git a/content/personal/mis-design-test/index.md b/content/personal/mis-design-test/index.md new file mode 100644 index 0000000..c31e42d --- /dev/null +++ b/content/personal/mis-design-test/index.md | |||
| @@ -0,0 +1,306 @@ | |||
| 1 | --- | ||
| 2 | title: "Design Test: Markdown Syntax" | ||
| 3 | category: mis | ||
| 4 | --- | ||
| 5 | |||
| 6 | - [Overview](#overview) | ||
| 7 | - [Philosophy](#philosophy) | ||
| 8 | - [Block Elements](#block-elements) | ||
| 9 | - [Paragraphs and Line Breaks](#paragraphs-and-line-breaks) | ||
| 10 | - [Headers](#headers) | ||
| 11 | - [Blockquotes](#blockquotes) | ||
| 12 | - [Lists](#lists) | ||
| 13 | - [Code Blocks](#code-blocks) | ||
| 14 | - [Span Elements](#span-elements) | ||
| 15 | - [Links](#links) | ||
| 16 | - [Emphasis](#emphasis) | ||
| 17 | - [Code](#code) | ||
| 18 | |||
| 19 | |||
| 20 | **Note:** This document is itself written using Markdown; you | ||
| 21 | can [see the source for it by adding '.text' to the URL](/projects/markdown/syntax.text). | ||
| 22 | |||
| 23 | ---- | ||
| 24 | |||
| 25 | ## Overview | ||
| 26 | |||
| 27 | ### Philosophy | ||
| 28 | |||
| 29 | Markdown is intended to be as easy-to-read and easy-to-write as is feasible. | ||
| 30 | |||
| 31 | Readability, however, is emphasized above all else. A Markdown-formatted | ||
| 32 | document should be publishable as-is, as plain text, without looking | ||
| 33 | like it's been marked up with tags or formatting instructions. While | ||
| 34 | Markdown's syntax has been influenced by several existing text-to-HTML | ||
| 35 | filters -- including [Setext](http://docutils.sourceforge.net/mirror/setext.html), [atx](http://www.aaronsw.com/2002/atx/), [Textile](http://textism.com/tools/textile/), [reStructuredText](http://docutils.sourceforge.net/rst.html), | ||
| 36 | [Grutatext](http://www.triptico.com/software/grutatxt.html), and [EtText](http://ettext.taint.org/doc/) -- the single biggest source of | ||
| 37 | inspiration for Markdown's syntax is the format of plain text email. | ||
| 38 | |||
| 39 | ## Block Elements | ||
| 40 | |||
| 41 | ### Paragraphs and Line Breaks | ||
| 42 | |||
| 43 | A paragraph is simply one or more consecutive lines of text, separated | ||
| 44 | by one or more blank lines. (A blank line is any line that looks like a | ||
| 45 | blank line -- a line containing nothing but spaces or tabs is considered | ||
| 46 | blank.) Normal paragraphs should not be indented with spaces or tabs. | ||
| 47 | |||
| 48 | The implication of the "one or more consecutive lines of text" rule is | ||
| 49 | that Markdown supports "hard-wrapped" text paragraphs. This differs | ||
| 50 | significantly from most other text-to-HTML formatters (including Movable | ||
| 51 | Type's "Convert Line Breaks" option) which translate every line break | ||
| 52 | character in a paragraph into a `<br />` tag. | ||
| 53 | |||
| 54 | When you *do* want to insert a `<br />` break tag using Markdown, you | ||
| 55 | end a line with two or more spaces, then type return. | ||
| 56 | |||
| 57 | ### Headers | ||
| 58 | |||
| 59 | Markdown supports two styles of headers, [Setext] [1] and [atx] [2]. | ||
| 60 | |||
| 61 | Optionally, you may "close" atx-style headers. This is purely | ||
| 62 | cosmetic -- you can use this if you think it looks better. The | ||
| 63 | closing hashes don't even need to match the number of hashes | ||
| 64 | used to open the header. (The number of opening hashes | ||
| 65 | determines the header level.) | ||
| 66 | |||
| 67 | |||
| 68 | ### Blockquotes | ||
| 69 | |||
| 70 | Markdown uses email-style `>` characters for blockquoting. If you're | ||
| 71 | familiar with quoting passages of text in an email message, then you | ||
| 72 | know how to create a blockquote in Markdown. It looks best if you hard | ||
| 73 | wrap the text and put a `>` before every line: | ||
| 74 | |||
| 75 | > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, | ||
| 76 | > consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. | ||
| 77 | > Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. | ||
| 78 | > | ||
| 79 | > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse | ||
| 80 | > id sem consectetuer libero luctus adipiscing. | ||
| 81 | |||
| 82 | Markdown allows you to be lazy and only put the `>` before the first | ||
| 83 | line of a hard-wrapped paragraph: | ||
| 84 | |||
| 85 | > This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet, | ||
| 86 | consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. | ||
| 87 | Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus. | ||
| 88 | |||
| 89 | > Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse | ||
| 90 | id sem consectetuer libero luctus adipiscing. | ||
| 91 | |||
| 92 | Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by | ||
| 93 | adding additional levels of `>`: | ||
| 94 | |||
| 95 | > This is the first level of quoting. | ||
| 96 | > | ||
| 97 | > > This is nested blockquote. | ||
| 98 | > | ||
| 99 | > Back to the first level. | ||
| 100 | |||
| 101 | Blockquotes can contain other Markdown elements, including headers, lists, | ||
| 102 | and code blocks: | ||
| 103 | |||
| 104 | > ## This is a header. | ||
| 105 | > | ||
| 106 | > 1. This is the first list item. | ||
| 107 | > 2. This is the second list item. | ||
| 108 | > | ||
| 109 | > Here's some example code: | ||
| 110 | > | ||
| 111 | > return shell_exec("echo $input | $markdown_script"); | ||
| 112 | |||
| 113 | Any decent text editor should make email-style quoting easy. For | ||
| 114 | example, with BBEdit, you can make a selection and choose Increase | ||
| 115 | Quote Level from the Text menu. | ||
| 116 | |||
| 117 | |||
| 118 | ### Lists | ||
| 119 | |||
| 120 | Markdown supports ordered (numbered) and unordered (bulleted) lists. | ||
| 121 | |||
| 122 | Unordered lists use asterisks, pluses, and hyphens -- interchangably | ||
| 123 | -- as list markers: | ||
| 124 | |||
| 125 | * Red | ||
| 126 | * Green | ||
| 127 | * Blue | ||
| 128 | |||
| 129 | is equivalent to: | ||
| 130 | |||
| 131 | + Red | ||
| 132 | + Green | ||
| 133 | + Blue | ||
| 134 | |||
| 135 | and: | ||
| 136 | |||
| 137 | - Red | ||
| 138 | - Green | ||
| 139 | - Blue | ||
| 140 | |||
| 141 | Ordered lists use numbers followed by periods: | ||
| 142 | |||
| 143 | 1. Bird | ||
| 144 | 2. McHale | ||
| 145 | 3. Parish | ||
| 146 | |||
| 147 | It's important to note that the actual numbers you use to mark the | ||
| 148 | list have no effect on the HTML output Markdown produces. The HTML | ||
| 149 | Markdown produces from the above list is: | ||
| 150 | |||
| 151 | If you instead wrote the list in Markdown like this: | ||
| 152 | |||
| 153 | 1. Bird | ||
| 154 | 1. McHale | ||
| 155 | 1. Parish | ||
| 156 | |||
| 157 | or even: | ||
| 158 | |||
| 159 | 3. Bird | ||
| 160 | 1. McHale | ||
| 161 | 8. Parish | ||
| 162 | |||
| 163 | you'd get the exact same HTML output. The point is, if you want to, | ||
| 164 | you can use ordinal numbers in your ordered Markdown lists, so that | ||
| 165 | the numbers in your source match the numbers in your published HTML. | ||
| 166 | But if you want to be lazy, you don't have to. | ||
| 167 | |||
| 168 | To make lists look nice, you can wrap items with hanging indents: | ||
| 169 | |||
| 170 | * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. | ||
| 171 | Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, | ||
| 172 | viverra nec, fringilla in, laoreet vitae, risus. | ||
| 173 | * Donec sit amet nisl. Aliquam semper ipsum sit amet velit. | ||
| 174 | Suspendisse id sem consectetuer libero luctus adipiscing. | ||
| 175 | |||
| 176 | But if you want to be lazy, you don't have to: | ||
| 177 | |||
| 178 | * Lorem ipsum dolor sit amet, consectetuer adipiscing elit. | ||
| 179 | Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, | ||
| 180 | viverra nec, fringilla in, laoreet vitae, risus. | ||
| 181 | * Donec sit amet nisl. Aliquam semper ipsum sit amet velit. | ||
| 182 | Suspendisse id sem consectetuer libero luctus adipiscing. | ||
| 183 | |||
| 184 | List items may consist of multiple paragraphs. Each subsequent | ||
| 185 | paragraph in a list item must be indented by either 4 spaces | ||
| 186 | or one tab: | ||
| 187 | |||
| 188 | 1. This is a list item with two paragraphs. Lorem ipsum dolor | ||
| 189 | sit amet, consectetuer adipiscing elit. Aliquam hendrerit | ||
| 190 | mi posuere lectus. | ||
| 191 | |||
| 192 | Vestibulum enim wisi, viverra nec, fringilla in, laoreet | ||
| 193 | vitae, risus. Donec sit amet nisl. Aliquam semper ipsum | ||
| 194 | sit amet velit. | ||
| 195 | |||
| 196 | 2. Suspendisse id sem consectetuer libero luctus adipiscing. | ||
| 197 | |||
| 198 | It looks nice if you indent every line of the subsequent | ||
| 199 | paragraphs, but here again, Markdown will allow you to be | ||
| 200 | lazy: | ||
| 201 | |||
| 202 | * This is a list item with two paragraphs. | ||
| 203 | |||
| 204 | This is the second paragraph in the list item. You're | ||
| 205 | only required to indent the first line. Lorem ipsum dolor | ||
| 206 | sit amet, consectetuer adipiscing elit. | ||
| 207 | |||
| 208 | * Another item in the same list. | ||
| 209 | |||
| 210 | To put a blockquote within a list item, the blockquote's `>` | ||
| 211 | delimiters need to be indented: | ||
| 212 | |||
| 213 | * A list item with a blockquote: | ||
| 214 | |||
| 215 | > This is a blockquote | ||
| 216 | > inside a list item. | ||
| 217 | |||
| 218 | To put a code block within a list item, the code block needs | ||
| 219 | to be indented *twice* -- 8 spaces or two tabs: | ||
| 220 | |||
| 221 | * A list item with a code block: | ||
| 222 | |||
| 223 | <code goes here> | ||
| 224 | |||
| 225 | ### Code Blocks | ||
| 226 | |||
| 227 | Pre-formatted code blocks are used for writing about programming or | ||
| 228 | markup source code. Rather than forming normal paragraphs, the lines | ||
| 229 | of a code block are interpreted literally. Markdown wraps a code block | ||
| 230 | in both `<pre>` and `<code>` tags. | ||
| 231 | |||
| 232 | To produce a code block in Markdown, simply indent every line of the | ||
| 233 | block by at least 4 spaces or 1 tab. | ||
| 234 | |||
| 235 | This is a normal paragraph: | ||
| 236 | |||
| 237 | This is a code block. | ||
| 238 | |||
| 239 | Here is an example of AppleScript: | ||
| 240 | |||
| 241 | tell application "Foo" | ||
| 242 | beep | ||
| 243 | end tell | ||
| 244 | |||
| 245 | A code block continues until it reaches a line that is not indented | ||
| 246 | (or the end of the article). | ||
| 247 | |||
| 248 | Within a code block, ampersands (`&`) and angle brackets (`<` and `>`) | ||
| 249 | are automatically converted into HTML entities. This makes it very | ||
| 250 | easy to include example HTML source code using Markdown -- just paste | ||
| 251 | it and indent it, and Markdown will handle the hassle of encoding the | ||
| 252 | ampersands and angle brackets. For example, this: | ||
| 253 | |||
| 254 | <div class="footer"> | ||
| 255 | © 2004 Foo Corporation | ||
| 256 | </div> | ||
| 257 | |||
| 258 | Regular Markdown syntax is not processed within code blocks. E.g., | ||
| 259 | asterisks are just literal asterisks within a code block. This means | ||
| 260 | it's also easy to use Markdown to write about Markdown's own syntax. | ||
| 261 | |||
| 262 | ``` | ||
| 263 | tell application "Foo" | ||
| 264 | beep | ||
| 265 | end tell | ||
| 266 | ``` | ||
| 267 | |||
| 268 | ## Span Elements | ||
| 269 | |||
| 270 | ### Links | ||
| 271 | |||
| 272 | Markdown supports two style of links: *inline* and *reference*. | ||
| 273 | |||
| 274 | In both styles, the link text is delimited by [square brackets]. | ||
| 275 | |||
| 276 | To create an inline link, use a set of regular parentheses immediately | ||
| 277 | after the link text's closing square bracket. Inside the parentheses, | ||
| 278 | put the URL where you want the link to point, along with an *optional* | ||
| 279 | title for the link, surrounded in quotes. For example: | ||
| 280 | |||
| 281 | This is [an example](http://example.com/) inline link. | ||
| 282 | |||
| 283 | [This link](http://example.net/) has no title attribute. | ||
| 284 | |||
| 285 | ### Emphasis | ||
| 286 | |||
| 287 | Markdown treats asterisks (`*`) and underscores (`_`) as indicators of | ||
| 288 | emphasis. Text wrapped with one `*` or `_` will be wrapped with an | ||
| 289 | HTML `<em>` tag; double `*`'s or `_`'s will be wrapped with an HTML | ||
| 290 | `<strong>` tag. E.g., this input: | ||
| 291 | |||
| 292 | *single asterisks* | ||
| 293 | |||
| 294 | _single underscores_ | ||
| 295 | |||
| 296 | **double asterisks** | ||
| 297 | |||
| 298 | __double underscores__ | ||
| 299 | |||
| 300 | ### Code | ||
| 301 | |||
| 302 | To indicate a span of code, wrap it with backtick quotes (`` ` ``). | ||
| 303 | Unlike a pre-formatted code block, a code span indicates code within a | ||
| 304 | normal paragraph. For example: | ||
| 305 | |||
| 306 | Use the `printf()` function. | ||
diff --git a/filters/common_actions.lua b/filters/common_actions.lua index 262f086..5b6c86b 100644 --- a/filters/common_actions.lua +++ b/filters/common_actions.lua | |||
| @@ -1,12 +1,15 @@ | |||
| 1 | function CodeBlock(el) | 1 | function CodeBlock(el) |
| 2 | if el.classes[1] == "plain" then | 2 | if el.classes[1] == "plain" then |
| 3 | el = pandoc.Div({el}, {class = 's-code'}) | 3 | el = pandoc.Div({el}, {class = 's-code'}) |
| 4 | else | 4 | elseif el.classes[1] then |
| 5 | local formatted = pandoc.pipe('pygmentize', { | 5 | local formatted = pandoc.pipe('pygmentize', { |
| 6 | '-l', el.classes[1], '-f', 'html', '-O', | 6 | '-l', el.classes[1], '-f', 'html', '-O', |
| 7 | 'cssclass=s-code s-code--highlight' | 7 | 'cssclass=s-code s-code--highlight' |
| 8 | }, el.text) | 8 | }, el.text) |
| 9 | el = pandoc.RawBlock('html', formatted) | 9 | |
| 10 | if formatted then | ||
| 11 | el = pandoc.RawBlock('html', formatted) | ||
| 12 | end | ||
| 10 | end | 13 | end |
| 11 | 14 | ||
| 12 | return el | 15 | return el |
| @@ -16,7 +19,7 @@ function Header(el) | |||
| 16 | if el.level == 1 then | 19 | if el.level == 1 then |
| 17 | local newchildren = pandoc.List() | 20 | local newchildren = pandoc.List() |
| 18 | 21 | ||
| 19 | newchildren:insert(pandoc.Span(el.content, {class = 's-body__title-inner'})) | 22 | newchildren:insert(pandoc.Span(el.content, {class = 's-headlines__title-inner'})) |
| 20 | 23 | ||
| 21 | el.content = newchildren | 24 | el.content = newchildren |
| 22 | end | 25 | end |
diff --git a/metadata/metadata.yaml b/metadata/metadata.yaml index c8a841d..86b5c66 100644 --- a/metadata/metadata.yaml +++ b/metadata/metadata.yaml | |||
| @@ -26,6 +26,8 @@ categories: | |||
| 26 | dre: | 26 | dre: |
| 27 | name: Dream Journal | 27 | name: Dream Journal |
| 28 | show_date: true | 28 | show_date: true |
| 29 | mis: | ||
| 30 | name: Sonstiges | ||
| 29 | 31 | ||
| 30 | projects: | 32 | projects: |
| 31 | emj: | 33 | emj: |
diff --git a/templates/layouts/categorized_list.html b/templates/layouts/categorized_list.html index 8cc5c24..5e2d4a5 100644 --- a/templates/layouts/categorized_list.html +++ b/templates/layouts/categorized_list.html | |||
| @@ -1,11 +1,13 @@ | |||
| 1 | <section class="l-section l-section--fullscreen l-section--no-head"> | 1 | <section class="l-section l-section--fullscreen l-section--no-head"> |
| 2 | <div class="l-container l-container--pad-x l-container--pad-y l-container--content s-body"> | 2 | <div class="l-container l-container--pad-x l-container--pad-y l-container--content s-colored-links"> |
| 3 | <h1><span class="s-body__title-inner">$title$</span></h1> | 3 | <div class="s-headlines s-body"> |
| 4 | <h1 class="u-mt0"><span class="s-headlines__title-inner">$title$</span></h1> | ||
| 4 | 5 | ||
| 5 | $body$ | 6 | $body$ |
| 7 | </div> | ||
| 6 | 8 | ||
| 7 | $for(pages.by_category)$ | 9 | $for(pages.by_category)$ |
| 8 | <h2> | 10 | <h2 class="s-body__h3"> |
| 9 | $for(it.value/first/first)$ | 11 | $for(it.value/first/first)$ |
| 10 | $it.category.name$ | 12 | $it.category.name$ |
| 11 | $endfor$ | 13 | $endfor$ |
| @@ -13,10 +15,10 @@ $body$ | |||
| 13 | <ul> | 15 | <ul> |
| 14 | $for(it.value)$ | 16 | $for(it.value)$ |
| 15 | <li> | 17 | <li> |
| 18 | $if(it.category.show_date)$ | ||
| 19 | $it.date.yyyy_mm_dd$: | ||
| 20 | $endif$ | ||
| 16 | <a href="$it.url.rel$"> | 21 | <a href="$it.url.rel$"> |
| 17 | $if(it.category.show_date)$ | ||
| 18 | $it.date.yyyy_mm_dd$: | ||
| 19 | $endif$ | ||
| 20 | $it.title$ | 22 | $it.title$ |
| 21 | </a> | 23 | </a> |
| 22 | </li> | 24 | </li> |
diff --git a/templates/layouts/index.html b/templates/layouts/index.html index 18b1c69..6d4c776 100644 --- a/templates/layouts/index.html +++ b/templates/layouts/index.html | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | I'm a <strong class="c-landing-banner__emph">red fox</strong> in disguise. | 6 | I'm a <strong class="c-landing-banner__emph">red fox</strong> in disguise. |
| 7 | </span> | 7 | </span> |
| 8 | </h1> | 8 | </h1> |
| 9 | <p class="c-landing-banner__text"> | 9 | <p class="c-landing-banner__text s-body"> |
| 10 | Hi, I'm Volpeon. I enjoy programming, creating vector art and designing user interfaces. | 10 | Hi, I'm Volpeon. I enjoy programming, creating vector art and designing user interfaces. |
| 11 | </p> | 11 | </p> |
| 12 | </div> | 12 | </div> |
diff --git a/templates/layouts/page.html b/templates/layouts/page.html index e45f6eb..2093f8c 100644 --- a/templates/layouts/page.html +++ b/templates/layouts/page.html | |||
| @@ -1,13 +1,13 @@ | |||
| 1 | <section class="l-section l-section--fullscreen l-section--no-head"> | 1 | <section class="l-section l-section--fullscreen l-section--no-head"> |
| 2 | <div class="l-container l-container--pad-x l-container--pad-y l-container--content s-body"> | 2 | <div class="l-container l-container--pad-x l-container--pad-y l-container--content s-colored-links s-headlines s-body"> |
| 3 | $if(category.show_date)$ | 3 | <h1 class="u-mt0"><span class="s-headlines__title-inner">$title$</span></h1> |
| 4 | <div class="s-body__meta"> | ||
| 5 | $date.long$ | ||
| 6 | </div> | ||
| 7 | $endif$ | ||
| 8 | 4 | ||
| 9 | <h1><span class="s-body__title-inner">$title$</span></h1> | 5 | <div class="s-body__meta"> |
| 6 | $if(category.show_date)$ | ||
| 7 | $date.long$ | ||
| 8 | $endif$ | ||
| 9 | </div> | ||
| 10 | 10 | ||
| 11 | $body$ | 11 | $body$ |
| 12 | </div> | 12 | </div> |
| 13 | </section> | 13 | </section> |
