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> |