My personal blog hauleth.dev
blog
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

ft: add OpenGraph image

+463 -1
+3 -1
config.toml
··· 48 48 copyright = "copyright by <a href=\"https://hauleth.dev\" rel=me>hauleth</a>" 49 49 50 50 # Menu items to display. You define a url and the name of the menu item. 51 - # NOTE: `$BASE_URL/` must be included in the url name. 52 51 main_menu = [ 53 52 {url="https://plan.cat/~hauleth", name=".plan", rel="me"}, 54 53 {url="https://twitter.com/hauleth", name="twitter", rel="me"}, ··· 64 63 read_other_posts = "read other posts" 65 64 66 65 favicon = "favicon-32x32.png" 66 + og_preview_img = "favicon-256x256.png" 67 + 68 + webmention = "https://webmention.io/hauleth.dev/webmention"
+7
sass/_main.scss
··· 97 97 font-size: .95rem; 98 98 } 99 99 100 + // code[data-lang]::before { 101 + // content: attr(data-lang); 102 + // text-align: right; 103 + // position: absolute; 104 + // top: 0; 105 + // } 106 + 100 107 pre { 101 108 font-family: ui-monospace, monospace; 102 109 padding: 20px 10px;
static/favicon-256x256.png

This is a binary file and will not be displayed.

+441
static/syntax-theme.css
··· 1 + /* 2 + * theme "Nord" generated by syntect 3 + */ 4 + 5 + .z-code { 6 + color: #d8dee9; 7 + background-color: #2e3440; 8 + } 9 + 10 + .z-comment, .z-punctuation.z-definition.z-comment { 11 + color: #616e88; 12 + } 13 + .z-constant.z-numeric { 14 + color: #b48ead; 15 + } 16 + .z-constant.z-language { 17 + color: #81a1c1; 18 + } 19 + .z-constant.z-character.z-escape { 20 + color: #ebcb8b; 21 + } 22 + .z-constant.z-other.z-placeholder { 23 + color: #ebcb8b; 24 + } 25 + .z-constant.z-other { 26 + color: #d8dee9; 27 + } 28 + .z-entity.z-name.z-class { 29 + color: #8fbcbb; 30 + } 31 + .z-entity.z-name.z-struct { 32 + color: #8fbcbb; 33 + } 34 + .z-entity.z-name.z-enum { 35 + color: #8fbcbb; 36 + } 37 + .z-entity.z-name.z-union { 38 + color: #8fbcbb; 39 + } 40 + .z-entity.z-name.z-trait { 41 + color: #8fbcbb; 42 + } 43 + .z-entity.z-name.z-interface { 44 + color: #8fbcbb; 45 + font-weight: bold; 46 + } 47 + .z-entity.z-name.z-type { 48 + color: #81a1c1; 49 + } 50 + .z-entity.z-other.z-inherited-class { 51 + color: #8fbcbb; 52 + } 53 + .z-entity.z-name.z-function { 54 + color: #88c0d0; 55 + } 56 + .z-entity.z-name.z-function.z-constructor { 57 + color: #88c0d0; 58 + } 59 + .z-entity.z-name.z-function.z-destructor { 60 + color: #88c0d0; 61 + } 62 + .z-entity.z-name.z-namespace { 63 + color: #8fbcbb; 64 + } 65 + .z-entity.z-name.z-constant { 66 + color: #81a1c1; 67 + } 68 + .z-entity.z-name.z-label { 69 + color: #5e81ac; 70 + } 71 + .z-entity.z-name.z-section { 72 + color: #88c0d0; 73 + } 74 + .z-entity.z-name.z-tag { 75 + color: #81a1c1; 76 + } 77 + .z-entity.z-other.z-attribute-name { 78 + color: #8fbcbb; 79 + } 80 + .z-invalid.z-illegal { 81 + color: #d8dee9; 82 + background-color: #bf616a; 83 + } 84 + .z-invalid.z-deprecated { 85 + color: #d8dee9; 86 + background-color: #ebcb8b; 87 + } 88 + .z-keyword.z-control { 89 + color: #81a1c1; 90 + } 91 + .z-keyword.z-control.z-conditional { 92 + color: #81a1c1; 93 + } 94 + .z-keyword.z-control.z-import { 95 + color: #81a1c1; 96 + } 97 + .z-punctuation.z-definition.z-keyword { 98 + color: #81a1c1; 99 + } 100 + .z-keyword.z-other { 101 + color: #81a1c1; 102 + } 103 + .z-keyword.z-operator, .z-keyword.z-operator.z-assignment, .z-keyword.z-operator.z-arithmetic, .z-keyword.z-operator.z-bitwise, .z-keyword.z-operator.z-logical, .z-keyword.z-operator.z-word { 104 + color: #81a1c1; 105 + } 106 + .z-markup.z-heading { 107 + color: #88c0d0; 108 + } 109 + .z-markup.z-list.z-unnumbered, .z-markup.z-list.z-numbered { 110 + color: #d8dee9; 111 + } 112 + .z-markup.z-bold { 113 + font-weight: bold; 114 + } 115 + .z-markup.z-italic { 116 + font-style: italic; 117 + } 118 + .z-markup.z-inserted { 119 + color: #a3be8c; 120 + } 121 + .z-markup.z-deleted { 122 + color: #bf616a; 123 + } 124 + .z-markup.z-changed { 125 + color: #ebcb8b; 126 + } 127 + .z-markup.z-quote { 128 + color: #616e88; 129 + } 130 + .z-markup.z-raw.z-inline, .z-markup.z-raw.z-block { 131 + color: #8fbcbb; 132 + } 133 + .z-markup.z-other { 134 + background-color: #eceff4; 135 + } 136 + .z-punctuation.z-separator, .z-punctuation.z-terminator { 137 + color: #eceff4; 138 + } 139 + .z-punctuation.z-separator.z-continuation, .z-punctuation.z-accessor { 140 + color: #81a1c1; 141 + } 142 + .z-punctuation.z-definition.z-tag { 143 + color: #81a1c1; 144 + } 145 + .z-storage.z-type, .z-storage.z-modifier { 146 + color: #81a1c1; 147 + } 148 + .z-string.z-quoted.z-single, .z-string.z-quoted.z-double, .z-string.z-quoted.z-triple, .z-string.z-quoted.z-other, .z-string.z-unquoted { 149 + color: #a3be8c; 150 + } 151 + .z-punctuation.z-definition.z-string.z-begin, .z-punctuation.z-definition.z-string.z-end { 152 + color: #a3be8c; 153 + } 154 + .z-string.z-regexp { 155 + color: #ebcb8b; 156 + } 157 + .z-support.z-constant { 158 + color: #8fbcbb; 159 + } 160 + .z-support.z-function { 161 + color: #88c0d0; 162 + } 163 + .z-support.z-module { 164 + color: #8fbcbb; 165 + } 166 + .z-support.z-type { 167 + color: #8fbcbb; 168 + } 169 + .z-support.z-class { 170 + color: #8fbcbb; 171 + } 172 + .z-text.z-html.z-basic, .z-text.z-xml { 173 + color: #eceff4; 174 + } 175 + .z-variable.z-other, .z-variable.z-other.z-readwrite { 176 + color: #d8dee9; 177 + } 178 + .z-punctuation.z-definition.z-variable { 179 + color: #81a1c1; 180 + } 181 + .z-variable.z-other.z-constant { 182 + color: #81a1c1; 183 + } 184 + .z-variable.z-language { 185 + color: #81a1c1; 186 + } 187 + .z-variable.z-parameter { 188 + color: #d8dee9; 189 + } 190 + .z-variable.z-other.z-member { 191 + color: #d8dee9; 192 + } 193 + .z-variable.z-function { 194 + color: #88c0d0; 195 + } 196 + .z-constant.z-numeric.z-line-number.z-find-in-files { 197 + color: #d8dee9; 198 + } 199 + .z-constant.z-numeric.z-line-number.z-match.z-find-in-files { 200 + color: #88c0d0; 201 + } 202 + .z-entity.z-name.z-filename.z-find-in-files { 203 + color: #8fbcbb; 204 + } 205 + .z-text.z-find-in-files { 206 + color: #d8dee9; 207 + } 208 + .z-source.z-c .z-keyword.z-control.z-import.z-include.z-c, .z-source.z-c .z-meta.z-preprocessor.z-c .z-keyword.z-control.z-import.z-c, .z-source.z-c++ .z-keyword.z-control.z-import.z-include.z-c++, .z-source.z-c++ .z-meta.z-preprocessor.z-c++ .z-keyword.z-control.z-import.z-c++ { 209 + color: #5e81ac; 210 + } 211 + .z-source.z-c .z-keyword.z-operator.z-word.z-c, .z-source.z-c++ .z-keyword.z-operator.z-word.z-c++ { 212 + color: #88c0d0; 213 + font-style: italic; 214 + } 215 + .z-source.z-css .z-support.z-type.z-property-name.z-css, .z-source.z-sass .z-support.z-type.z-property-name.z-sass, .z-source.z-css .z-support.z-type.z-vendor-prefix.z-css { 216 + color: #d8dee9; 217 + } 218 + .z-source.z-css .z-constant.z-other.z-color.z-rgb-value.z-css, .z-source.z-sass .z-constant.z-other.z-rgb-value.z-sass { 219 + color: #b48ead; 220 + } 221 + .z-source.z-css .z-support.z-constant.z-color.z-w3c-special-color-keyword.z-css, .z-source.z-css .z-support.z-constant.z-property-value.z-css, .z-source.z-sass .z-support.z-constant.z-property-value.z-sass { 222 + color: #81a1c1; 223 + } 224 + .z-source.z-css .z-entity.z-other.z-pseudo-class.z-css { 225 + color: #8fbcbb; 226 + } 227 + .z-source.z-css .z-keyword.z-control.z-at-rule.z-media.z-css, .z-source.z-css .z-punctuation.z-definition.z-keyword.z-css, .z-source.z-sass .z-keyword.z-control.z-at-rule.z-sass { 228 + color: #d08770; 229 + } 230 + .z-source.z-css .z-support.z-constant.z-color.z-w3c-standard-color-name.z-css { 231 + color: #81a1c1; 232 + font-style: italic; 233 + } 234 + .z-source.z-css .z-entity.z-other.z-attribute-name.z-id.z-css, .z-source.z-sass .z-entity.z-other.z-attribute-name.z-id.z-sass { 235 + font-weight: bold; 236 + } 237 + .z-source.z-diff .z-meta.z-diff.z-range.z-context { 238 + color: #8fbcbb; 239 + } 240 + .z-source.z-diff .z-meta.z-diff.z-header.z-from-file { 241 + color: #8fbcbb; 242 + } 243 + .z-source.z-diff .z-punctuation.z-definition.z-from-file { 244 + color: #8fbcbb; 245 + } 246 + .z-source.z-diff .z-punctuation.z-definition.z-separator { 247 + color: #81a1c1; 248 + } 249 + .z-source.z-go .z-support.z-function.z-builtin.z-go { 250 + font-style: italic; 251 + } 252 + .z-text.z-html.z-basic .z-constant.z-character.z-entity.z-html { 253 + color: #ebcb8b; 254 + } 255 + .z-variable.z-annotation.z-java, .z-punctuation.z-definition.z-annotation.z-java { 256 + color: #d08770; 257 + } 258 + .z-punctuation.z-accessor.z-dot.z-java { 259 + color: #eceff4; 260 + } 261 + .z-support.z-other.z-package.z-java { 262 + color: #8fbcbb; 263 + } 264 + .z-source.z-java .z-comment.z-block.z-documentation.z-javadoc .z-punctuation.z-definition.z-entity.z-html { 265 + color: #81a1c1; 266 + } 267 + .z-source.z-java .z-entity.z-name.z-constant { 268 + color: #d8dee9; 269 + } 270 + .z-source.z-java .z-keyword.z-other.z-documentation, .z-source.z-java .z-comment.z-block.z-documentation.z-javadoc .z-punctuation.z-definition.z-keyword.z-javadoc { 271 + color: #8fbcbb; 272 + } 273 + .z-source.z-java .z-variable.z-parameter.z-type.z-java { 274 + color: #8fbcbb; 275 + } 276 + .z-source.z-java .z-entity.z-other.z-inherited-class.z-java { 277 + color: #8fbcbb; 278 + font-weight: bold; 279 + } 280 + .z-source.z-java .z-keyword.z-declaration.z-implements.z-java { 281 + color: #81a1c1; 282 + } 283 + .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-key.z-json .z-string.z-quoted.z-double.z-json, .z-source.z-json.z-sublime .z-meta.z-structure.z-dictionary.z-json .z-meta.z-structure.z-dictionary.z-key.z-json .z-string.z-quoted.z-double.z-json { 284 + color: #8fbcbb; 285 + } 286 + .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string.z-begin.z-json, .z-source.z-json .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string.z-end.z-json, .z-source.z-json.z-sublime .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string.z-begin.z-json, .z-source.z-json.z-sublime .z-meta.z-structure.z-dictionary.z-json .z-punctuation.z-definition.z-string.z-end.z-json { 287 + color: #eceff4; 288 + } 289 + .z-text.z-html.z-markdown .z-punctuation.z-definition.z-raw.z-code-fence.z-begin.z-markdown, .z-text.z-html.z-markdown .z-punctuation.z-definition.z-raw.z-code-fence.z-end.z-markdown, .z-text.z-html.z-markdown .z-markup.z-raw.z-code-fence.z-markdown .z-constant.z-other.z-language-name.z-markdown { 290 + color: #8fbcbb; 291 + } 292 + .z-text.z-html.z-markdown .z-punctuation.z-definition.z-list_item.z-markdown, .z-text.z-html.z-markdown .z-markup.z-list.z-numbered.z-bullet.z-markdown { 293 + color: #81a1c1; 294 + } 295 + .z-text.z-html.z-markdown .z-markup.z-quote.z-markdown .z-punctuation.z-definition.z-blockquote.z-markdown { 296 + color: #8fbcbb; 297 + } 298 + .z-text.z-html.z-markdown .z-meta.z-link.z-inline.z-description.z-markdown, .z-text.z-html.z-markdown .z-meta.z-image.z-inline.z-description.z-markdown, .z-text.z-html.z-markdown .z-meta.z-link.z-reference.z-description.z-markdown, .z-text.z-html.z-markdown .z-constant.z-other.z-reference.z-link.z-markdown, .z-text.z-html.z-markdown .z-entity.z-name.z-reference.z-link.z-markdown { 299 + color: #88c0d0; 300 + } 301 + .z-text.z-html.z-markdown .z-punctuation.z-definition.z-link.z-begin.z-markdown, .z-text.z-html.z-markdown .z-punctuation.z-definition.z-link.z-end.z-markdown, .z-text.z-html.z-markdown .z-punctuation.z-definition.z-image.z-begin.z-markdown, .z-text.z-html.z-markdown .z-punctuation.z-definition.z-image.z-end.z-markdown, .z-text.z-html.z-markdown .z-punctuation.z-definition.z-constant.z-begin.z-markdown, .z-text.z-html.z-markdown .z-punctuation.z-definition.z-constant.z-end.z-markdown { 302 + color: #81a1c1; 303 + } 304 + .z-text.z-html.z-markdown .z-punctuation.z-separator.z-table-cell.z-markdown, .z-text.z-html.z-markdown .z-punctuation.z-section.z-table-header.z-markdown { 305 + color: #81a1c1; 306 + } 307 + .z-text.z-html.z-markdown .z-meta.z-table.z-header.z-markdown { 308 + color: #88c0d0; 309 + } 310 + .z-text.z-html.z-markdown .z-punctuation.z-definition.z-thematic-break.z-markdown { 311 + color: #81a1c1; 312 + font-weight: bold; 313 + } 314 + .z-embedding.z-php .z-text.z-html.z-basic .z-punctuation.z-section.z-embedded.z-begin.z-php, .z-embedding.z-php .z-text.z-html.z-basic .z-punctuation.z-section.z-embedded.z-end.z-php { 315 + color: #5e81ac; 316 + } 317 + .z-embedding.z-php .z-text.z-html.z-basic .z-comment.z-block.z-documentation.z-phpdoc.z-php .z-keyword.z-other.z-phpdoc.z-php { 318 + color: #8fbcbb; 319 + } 320 + .z-embedding.z-php .z-text.z-html.z-basic .z-support.z-other.z-namespace.z-php { 321 + color: #8fbcbb; 322 + } 323 + .z-source.z-python .z-meta.z-annotation.z-python .z-meta.z-qualified-name.z-python .z-support.z-function.z-builtin.z-python, .z-source.z-python .z-punctuation.z-definition.z-annotation.z-python { 324 + color: #d08770; 325 + } 326 + .z-support.z-function.z-builtin.z-python { 327 + font-style: italic; 328 + } 329 + .z-source.z-python .z-support.z-type.z-exception.z-python { 330 + color: #8fbcbb; 331 + } 332 + .z-source.z-python .z-support.z-type.z-python { 333 + color: #81a1c1; 334 + } 335 + .z-source.z-sass .z-variable.z-parameter.z-sass { 336 + color: #d8dee9; 337 + font-weight: bold; 338 + } 339 + .z-source.z-ruby .z-support.z-function.z-builtin.z-ruby { 340 + font-style: italic; 341 + } 342 + .z-source.z-shell .z-support.z-function.z-builtin.z-shell { 343 + font-style: italic; 344 + } 345 + .z-text.z-xml .z-entity.z-name.z-tag.z-namespace { 346 + color: #8fbcbb; 347 + } 348 + .z-text.z-xml .z-meta.z-tag.z-sgml.z-doctype.z-xml, .z-text.z-xml .z-meta.z-tag.z-preprocessor .z-entity.z-name.z-tag, .z-text.z-xml .z-meta.z-tag.z-preprocessor.z-xml .z-punctuation.z-definition.z-tag.z-begin.z-xml, .z-text.z-xml .z-meta.z-tag.z-preprocessor.z-xml .z-punctuation.z-definition.z-tag.z-end.z-xml, .z-text.z-xml .z-meta.z-tag.z-sgml.z-doctype.z-xml .z-punctuation.z-definition.z-tag.z-begin.z-xml, .z-text.z-xml .z-meta.z-tag.z-sgml.z-doctype.z-xml .z-punctuation.z-definition.z-tag.z-end.z-xml { 349 + color: #5e81ac; 350 + } 351 + .z-text.z-xml .z-string.z-unquoted.z-cdata.z-xml .z-punctuation.z-definition.z-string.z-begin.z-xml, .z-text.z-xml .z-string.z-unquoted.z-cdata.z-xml .z-punctuation.z-definition.z-string.z-end.z-xml { 352 + color: #d08770; 353 + font-style: italic; 354 + } 355 + .z-source.z-yaml .z-entity.z-name.z-tag { 356 + color: #8fbcbb; 357 + } 358 + .z-sublimelinter.z-mark.z-warning { 359 + color: #ebcb8b; 360 + } 361 + .z-sublimelinter.z-mark.z-error { 362 + color: #bf616a; 363 + } 364 + .z-markup.z-ignored.z-git_gutter { 365 + color: #616e88; 366 + } 367 + .z-markup.z-untracked.z-git_gutter { 368 + color: #88c0d0; 369 + } 370 + .z-markup.z-inserted.z-git_gutter { 371 + color: #a3be8c; 372 + } 373 + .z-markup.z-changed.z-git_gutter { 374 + color: #ebcb8b; 375 + } 376 + .z-markup.z-deleted.z-git_gutter { 377 + color: #bf616a; 378 + } 379 + .z-source.z-js .z-tag.z-decorator.z-js .z-entity.z-name.z-tag.z-js, .z-source.z-js .z-tag.z-decorator.z-js .z-punctuation.z-definition.z-tag.z-js { 380 + color: #d08770; 381 + } 382 + .z-source.z-js .z-string.z-quoted.z-js, .z-source.z-js .z-string.z-quoted.z-jsx, .z-source.z-js .z-meta.z-class.z-js .z-meta.z-class.z-property.z-js .z-string.z-interpolated.z-js, .z-source.z-js .z-string.z-interpolated.z-js, .z-source.z-js .z-string.z-template.z-js { 383 + color: #a3be8c; 384 + } 385 + .z-source.z-js .z-variable.z-other.z-constant.z-js { 386 + color: #d8dee9; 387 + font-weight: bold; 388 + } 389 + .z-source.z-js .z-constant.z-other.z-object.z-key.z-js .z-string.z-unquoted.z-label.z-js, .z-source.z-js .z-variable.z-other.z-readwrite.z-js { 390 + color: #d8dee9; 391 + } 392 + .z-source.z-js .z-meta.z-class.z-js .z-meta.z-class.z-property.z-js .z-variable.z-other.z-property.z-js { 393 + color: #88c0d0; 394 + } 395 + .z-source.z-js .z-variable.z-other.z-property.z-static.z-js { 396 + font-style: italic; 397 + } 398 + .z-source.z-js .z-variable.z-other.z-class.z-js { 399 + color: #8fbcbb; 400 + } 401 + .z-source.z-js .z-string.z-interpolated.z-js .z-keyword.z-other.z-substitution.z-begin.z-js, .z-source.z-js .z-string.z-interpolated.z-js .z-keyword.z-other.z-substitution.z-end.z-js, .z-source.z-js .z-punctuation.z-definition.z-template-expression.z-begin.z-js, .z-source.z-js .z-punctuation.z-definition.z-template-expression.z-end.z-js { 402 + color: #5e81ac; 403 + } 404 + .z-source.z-js .z-keyword.z-operator.z-spread.z-js { 405 + color: #81a1c1; 406 + } 407 + .z-source.z-js .z-meta.z-export.z-js .z-variable.z-other.z-readwrite.z-js { 408 + color: #8fbcbb; 409 + } 410 + .z-source.z-ts .z-meta.z-class.z-ts .z-entity.z-other.z-inherited-class.z-ts { 411 + color: #8fbcbb; 412 + font-weight: bold; 413 + } 414 + .z-source.z-ts .z-entity.z-name.z-type.z-class.z-ts, .z-source.z-ts .z-entity.z-name.z-type.z-enum.z-ts { 415 + color: #8fbcbb; 416 + } 417 + .z-source.z-ts .z-entity.z-name.z-type.z-ts { 418 + color: #8fbcbb; 419 + } 420 + .z-source.z-ts .z-support.z-type.z-primitive.z-ts { 421 + color: #81a1c1; 422 + } 423 + .z-source.z-ts .z-meta.z-class.z-ts .z-meta.z-method.z-declaration.z-ts .z-meta.z-parameters.z-ts .z-meta.z-decorator.z-ts .z-variable.z-other.z-readwrite.z-ts, .z-source.z-ts .z-meta.z-class.z-ts .z-meta.z-method.z-declaration.z-ts .z-meta.z-parameters.z-ts .z-meta.z-decorator.z-ts .z-punctuation.z-decorator.z-ts { 424 + color: #d08770; 425 + } 426 + .z-source.z-ts .z-punctuation.z-definition.z-template-expression.z-begin.z-ts, .z-source.z-ts .z-punctuation.z-definition.z-template-expression.z-end.z-ts { 427 + color: #5e81ac; 428 + } 429 + .z-source.z-ts .z-string.z-template.z-ts { 430 + color: #a3be8c; 431 + } 432 + .z-source.z-ts .z-support.z-function.z-math.z-ts { 433 + font-style: italic; 434 + } 435 + .z-source.z-ts .z-variable.z-other.z-constant.z-property.z-ts, .z-source.z-ts .z-variable.z-other.z-enummember.z-ts, .z-source.z-ts .z-variable.z-other.z-constant.z-ts { 436 + color: #d8dee9; 437 + font-weight: bold; 438 + } 439 + .z-source.z-ts .z-comment.z-block.z-documentation.z-ts .z-storage.z-type.z-class.z-jsdoc { 440 + color: #8fbcbb; 441 + }
+3
templates/index.html
··· 7 7 {%- if config.generate_feed -%} 8 8 <link rel="alternate" type="application/atom+xml" title="{{ config.title }} Feed" href="{{ get_url(path=config.feed_filename) | safe}}"> 9 9 {%- endif -%} 10 + {%- if config.extra.webmention -%} 11 + <link rel="webmention" href="{{ config.extra.webmention }}" > 12 + {%- endif -%} 10 13 {% endblock %} 11 14 12 15 {% block copyright %}
+9
templates/page.html
··· 60 60 (<a href="https://lists.sr.ht/~hauleth/blog">archive</a>).</p> 61 61 </div> 62 62 {%- endif -%} 63 + 64 + <div class="webmentions"> 65 + {%- set webmentions = load_data(url="https://webmention.io/api/mentions.jf2?target=" ~ page.permalink, format="json") -%} 66 + {%- for mention in webmentions.children -%} 67 + Foo 68 + {%- else -%} 69 + No webmentions yet, you can be first. 70 + {%- endfor -%} 71 + </div> 63 72 </article> 64 73 {%- endblock main -%}