Compare commits
No commits in common. "8d89c2d4532464b09221b3951b580efd73f7f143" and "12f273f54e8ae06e6c20392a3a7f09d4d96fc45e" have entirely different histories.
8d89c2d453
...
12f273f54e
504
.eleventy.js
|
@ -1,504 +0,0 @@
|
|||
const siteURL = "https://tarasis.net";
|
||||
|
||||
const fs = require("fs-extra");
|
||||
const sass = require("sass");
|
||||
const { promisify } = require("util");
|
||||
const sassRender = promisify(sass.render);
|
||||
const postcss = require("postcss");
|
||||
const autoprefixer = require("autoprefixer");
|
||||
const markdownIt = require("markdown-it");
|
||||
const markdownItRenderer = new markdownIt();
|
||||
const markdownItAnchor = require("markdown-it-anchor");
|
||||
// const relativeUrl = require("eleventy-filter-relative-url");
|
||||
const pluginTOC = require("eleventy-plugin-toc");
|
||||
const moment = require("moment");
|
||||
const description = require("eleventy-plugin-description");
|
||||
const pluginRss = require("@11ty/eleventy-plugin-rss");
|
||||
const UpgradeHelper = require("@11ty/eleventy-upgrade-help");
|
||||
const xmlFiltersPlugin = require("eleventy-xml-plugin");
|
||||
const yaml = require("js-yaml");
|
||||
const syntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight");
|
||||
|
||||
|
||||
const inspect = require("node:util").inspect;
|
||||
|
||||
// relativeURL
|
||||
const path = require("path");
|
||||
const urlFilter = require("@11ty/eleventy/src/Filters/Url");
|
||||
const indexify = (url) => url.replace(/(\/[^.]*)$/, "$1index.html");
|
||||
|
||||
module.exports = function (eleventyConfig) {
|
||||
let pathPrefix = "/";
|
||||
|
||||
eleventyConfig.addDataExtension("yaml", contents => yaml.load(contents));
|
||||
eleventyConfig.addDataExtension("yml", contents => yaml.load(contents));
|
||||
|
||||
eleventyConfig.addPlugin(pluginRss);
|
||||
//Blog excerpts
|
||||
eleventyConfig.addPlugin(description);
|
||||
// Eleventy Navigation (https://www.11ty.dev/docs/plugins/navigation/)
|
||||
eleventyConfig.addPlugin(require("@11ty/eleventy-navigation"));
|
||||
// Eleventy RSS Feed (https://www.11ty.dev/docs/plugins/rss/)
|
||||
eleventyConfig.addPlugin(require("@11ty/eleventy-plugin-rss"));
|
||||
// Filter to generate a Table of Contents from page content
|
||||
eleventyConfig.addPlugin(pluginTOC, {
|
||||
tags: ["h2", "h3"],
|
||||
wrapper: "div",
|
||||
});
|
||||
// TODO https://www.npmjs.com/package/eleventy-plugin-meta-generator
|
||||
// Eleventy Syntax Highlighting (https://www.11ty.dev/docs/plugins/syntaxhighlight/)
|
||||
// eleventyConfig.addPlugin(require("@11ty/eleventy-plugin-syntaxhighlight"));
|
||||
eleventyConfig.addPlugin(syntaxHighlight, {
|
||||
|
||||
alwaysWrapLineHighlights: true,
|
||||
// Change which Eleventy template formats use syntax highlighters
|
||||
// templateFormats: ["*"], // default
|
||||
|
||||
// Use only a subset of template types (11ty.js added in v4.0.0)
|
||||
// templateFormats: ["liquid", "njk", "md", "11ty.js"],
|
||||
|
||||
// init callback lets you customize Prism
|
||||
// init: function({ Prism }) {
|
||||
// Prism.languages.myCustomLanguage = /* */;
|
||||
// },
|
||||
|
||||
// Added in 3.1.1, add HTML attributes to the <pre> or <code> tags
|
||||
preAttributes: {
|
||||
tabindex: 0,
|
||||
|
||||
// Added in 4.1.0 you can use callback functions too
|
||||
"data-language": function({ language, content, options }) {
|
||||
return language;
|
||||
}
|
||||
},
|
||||
codeAttributes: {},
|
||||
});
|
||||
|
||||
eleventyConfig.addPlugin(xmlFiltersPlugin);
|
||||
|
||||
// Custom Collections
|
||||
eleventyConfig.addCollection("pages", (collection) =>
|
||||
collection.getFilteredByGlob("./src/_pages/**/*")
|
||||
);
|
||||
|
||||
eleventyConfig.addCollection("posts", (collection) =>
|
||||
collection
|
||||
.getFilteredByGlob("./src/_posts/**/*")
|
||||
.filter(
|
||||
(item) => item.data.draft !== true && item.date <= new Date()
|
||||
)
|
||||
.reverse()
|
||||
.map((cur, i, all) => {
|
||||
cur.data["siblings"] = {
|
||||
next: all[i - 1],
|
||||
prev: all[i + 1],
|
||||
};
|
||||
return cur;
|
||||
})
|
||||
);
|
||||
|
||||
eleventyConfig.addCollection("projects", (collection) =>
|
||||
collection
|
||||
.getFilteredByGlob("./src/projects/**/*")
|
||||
.sort((a, b) => a.data.weight - b.data.weight)
|
||||
);
|
||||
|
||||
// eleventyConfig.addCollection("posts", function (collectionApi) {
|
||||
// return collectionApi.getFilteredByGlob("./src/_posts/**/*.md");
|
||||
// });
|
||||
|
||||
eleventyConfig.addCollection("drafts", (collection) =>
|
||||
collection
|
||||
.getFilteredByGlob("./src/_drafts/**/*")
|
||||
.sort((a, b) => a.data.weight - b.data.weight)
|
||||
) ;
|
||||
|
||||
|
||||
eleventyConfig.addCollection("tags", (collection) => {
|
||||
let tags = new Set();
|
||||
|
||||
collection.getAll().forEach((item) => {
|
||||
if ("tags" in item.data) {
|
||||
if (item.data.tags != undefined) {
|
||||
for (const tag of item.data.tags) {
|
||||
tags.add(tag);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return [...tags];
|
||||
});
|
||||
|
||||
eleventyConfig.addCollection("categories", (collection) => {
|
||||
let categories = new Set();
|
||||
|
||||
collection.getAll().forEach((item) => {
|
||||
if ("category" in item.data) {
|
||||
if (item.data.category != undefined) {
|
||||
for (const category of item.data.category) {
|
||||
categories.add(category);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return [...categories];
|
||||
});
|
||||
|
||||
// Filters
|
||||
|
||||
// eleventyConfig.addFilter("markdownify", (str) => {
|
||||
// return markdownItRenderer.renderInline(str);
|
||||
// });
|
||||
|
||||
eleventyConfig.addFilter("markdownify", (string) => {
|
||||
return md.renderInline(string);
|
||||
});
|
||||
|
||||
eleventyConfig.addNunjucksFilter("markdownify", (str) => md.render(str));
|
||||
|
||||
eleventyConfig.addFilter("jsonify", (variable) => JSON.stringify(variable));
|
||||
|
||||
eleventyConfig.addFilter("slugify", (str) =>
|
||||
require("slugify")(str, {
|
||||
lower: true,
|
||||
replacement: "-",
|
||||
remove: /[*+~.·,()''`´%!?¿:@]/g,
|
||||
})
|
||||
);
|
||||
|
||||
eleventyConfig.addFilter("where", (array, key, value) =>
|
||||
array.filter((item) => {
|
||||
const keys = key.split(".");
|
||||
const reducedKey = keys.reduce((object, key) => object[key], item);
|
||||
|
||||
return reducedKey === value ? item : false;
|
||||
})
|
||||
);
|
||||
|
||||
eleventyConfig.addFilter("date", (date, format = "") =>
|
||||
require("moment")(date).format(format)
|
||||
);
|
||||
|
||||
eleventyConfig.addLiquidFilter("toUTCString", (date) => {
|
||||
const utc = date.toUTCString();
|
||||
return moment.utc(utc).format("MMMM Do YYYY");
|
||||
});
|
||||
|
||||
eleventyConfig.addFilter("number_of_words", numberOfWords);
|
||||
|
||||
// eleventyConfig.addShortcode("where_exp", function (item, exp) {
|
||||
// console.log(exp);
|
||||
// return eval(exp);
|
||||
// });
|
||||
eleventyConfig.addFilter("where_exp", function (value) {
|
||||
// where_exp function
|
||||
return value.hidden != true;
|
||||
});
|
||||
|
||||
eleventyConfig.addFilter("inspect", function (obj = {}) {
|
||||
return inspect(obj, {sorted: true});
|
||||
});
|
||||
|
||||
eleventyConfig.addFilter('group_by', groupBy)
|
||||
|
||||
eleventyConfig.addLayoutAlias(
|
||||
"archive-taxonomy",
|
||||
"layouts/archive-taxonomy.html"
|
||||
);
|
||||
eleventyConfig.addLayoutAlias("archive", "layouts/archive.html");
|
||||
eleventyConfig.addLayoutAlias("categories", "layouts/categories.html");
|
||||
eleventyConfig.addLayoutAlias("category", "layouts/category.html");
|
||||
eleventyConfig.addLayoutAlias("collection", "layouts/collection.html");
|
||||
eleventyConfig.addLayoutAlias("compress", "layouts/compress.html");
|
||||
eleventyConfig.addLayoutAlias("default", "layouts/default.html");
|
||||
eleventyConfig.addLayoutAlias("home", "layouts/home.html");
|
||||
eleventyConfig.addLayoutAlias("posts", "layouts/posts.html");
|
||||
eleventyConfig.addLayoutAlias("search", "layouts/search.html");
|
||||
eleventyConfig.addLayoutAlias("single", "layouts/single.html");
|
||||
eleventyConfig.addLayoutAlias("splash", "layouts/splash.html");
|
||||
eleventyConfig.addLayoutAlias("tag", "layouts/tag.html");
|
||||
eleventyConfig.addLayoutAlias("tags", "layouts/tags.html");
|
||||
eleventyConfig.addLayoutAlias("gallery", "layouts/gallery");
|
||||
eleventyConfig.addLayoutAlias("drafts", "layouts/drafts");
|
||||
|
||||
// Passthrough copy
|
||||
// don't use .gitignore (allows compiling sass to css into a monitored folder WITHOUT committing it to repo)
|
||||
eleventyConfig.setUseGitIgnore(false);
|
||||
|
||||
//Copy CNAME
|
||||
eleventyConfig.addPassthroughCopy("src/CNAME");
|
||||
|
||||
// Processing configuration
|
||||
eleventyConfig.addPassthroughCopy("src/favicon.ico");
|
||||
eleventyConfig.addPassthroughCopy("src/admin");
|
||||
eleventyConfig.addPassthroughCopy("src/assets");
|
||||
// eleventyConfig.addPassthroughCopy({ "src/_sass": "assets/css" });
|
||||
|
||||
eleventyConfig.addShortcode("post_url", (collection, slug) => {
|
||||
try {
|
||||
if (collection.length < 1) {
|
||||
throw "Collection appears to be empty";
|
||||
}
|
||||
if (!Array.isArray(collection)) {
|
||||
throw "Collection is an invalid type - it must be an array!";
|
||||
}
|
||||
if (typeof slug !== "string") {
|
||||
throw "Slug is an invalid type - it must be a string!";
|
||||
}
|
||||
|
||||
const found = collection.find((p) => p.fileSlug == slug);
|
||||
if (found === 0 || found === undefined) {
|
||||
throw `${slug} not found in specified collection.`;
|
||||
} else {
|
||||
return found.url;
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(
|
||||
`RMCG:An error occured while searching for the url to ${slug}. Details:`,
|
||||
e
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
// Set section
|
||||
|
||||
// Configure BrowserSync to serve the 404 page for missing files
|
||||
eleventyConfig.setBrowserSyncConfig({
|
||||
callbacks: {
|
||||
ready: (_err, browserSync) => {
|
||||
const content_404 = fs.readFileSync("dist/404.html");
|
||||
|
||||
browserSync.addMiddleware("*", (_req, res) => {
|
||||
// render the 404 content instead of redirecting
|
||||
res.write(content_404);
|
||||
res.end();
|
||||
});
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
eleventyConfig.setBrowserSyncConfig({
|
||||
files: "./dist/assets/styles/**/*.css",
|
||||
});
|
||||
|
||||
// Merge Data (https://www.11ty.dev/docs/data-deep-merge/)
|
||||
eleventyConfig.setDataDeepMerge(true);
|
||||
|
||||
eleventyConfig.setFrontMatterParsingOptions({
|
||||
excerpt: true,
|
||||
});
|
||||
|
||||
eleventyConfig.setLibrary("md", markdownIt().use(markdownItAnchor));
|
||||
|
||||
eleventyConfig.setLiquidOptions({
|
||||
// dynamicPartials: false,
|
||||
// strictVariables: false,
|
||||
// strictFilters: false,
|
||||
jekyllInclude: true,
|
||||
});
|
||||
|
||||
// Markdown Configuration
|
||||
const md = require("markdown-it")({
|
||||
html: true,
|
||||
breaks: true,
|
||||
linkify: true,
|
||||
});
|
||||
|
||||
eleventyConfig.setLibrary(
|
||||
"md",
|
||||
md
|
||||
.use(require("markdown-it-attrs"))
|
||||
.use(require("markdown-it-container"), "", {
|
||||
validate: () => true,
|
||||
render: (tokens, idx) => {
|
||||
if (tokens[idx].nesting === 1) {
|
||||
const classList = tokens[idx].info.trim();
|
||||
return `<div ${classList && `class="${classList}"`}>`;
|
||||
} else {
|
||||
return `</div>`;
|
||||
}
|
||||
},
|
||||
})
|
||||
.use(require("markdown-it-fontawesome"))
|
||||
.use(require("markdown-it-footnote"))
|
||||
);
|
||||
|
||||
// override markdown-it-footnote anchor template to use a different unicode character
|
||||
md.renderer.rules.footnote_anchor = (tokens, idx, options, env, slf) => {
|
||||
var id = slf.rules.footnote_anchor_name(tokens, idx, options, env, slf);
|
||||
|
||||
if (tokens[idx].meta.subId > 0) {
|
||||
id += ":" + tokens[idx].meta.subId;
|
||||
}
|
||||
|
||||
/* ⇑ with escape code to prevent display as Apple Emoji on iOS */
|
||||
return (
|
||||
' <a href="#fnref' +
|
||||
id +
|
||||
'" class="footnote-backref">\u21d1\uFE0E</a>'
|
||||
);
|
||||
};
|
||||
|
||||
//for upgrade sanity
|
||||
//eleventyConfig.addPlugin(UpgradeHelper);
|
||||
|
||||
// eleventyConfig.addWatchTarget("./assets/css/");
|
||||
// eleventyConfig.addTransform(
|
||||
// "sass",
|
||||
// async function sassTransform(content, outputPath) {
|
||||
// if (outputPath?.endsWith(".css")) {
|
||||
// const { css } = await sassRender({
|
||||
// data: content,
|
||||
// outputStyle: "compressed",
|
||||
// precision: 3,
|
||||
// });
|
||||
// return css;
|
||||
// }
|
||||
// return content;
|
||||
// }
|
||||
// );
|
||||
|
||||
eleventyConfig.addFilter("relative_url", relativeURLALT);
|
||||
eleventyConfig.addFilter("absolute_url", absoluteUrl);
|
||||
|
||||
return {
|
||||
templateFormats: ["html", "liquid", "md", "njk"],
|
||||
|
||||
pathPrefix,
|
||||
|
||||
environment: "production",
|
||||
|
||||
// absolute_url: "https://tarasis.net/",
|
||||
passthroughFileCopy: true,
|
||||
|
||||
dir: {
|
||||
input: "src",
|
||||
includes: "_includes",
|
||||
data: "_data",
|
||||
output: "dist",
|
||||
// input: "./", // Equivalent to Jekyll's source property
|
||||
// output: "./_site", // Equivalent to Jekyll's destination property
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
function numberOfWords(content) {
|
||||
return content.split(/\s+/g).length;
|
||||
}
|
||||
|
||||
function relativeURL(url, pathPrefix = undefined) {
|
||||
if (pathPrefix !== undefined) {
|
||||
// Fall back on original url filter if pathPrefix is set.
|
||||
return urlFilter(url, pathPrefix);
|
||||
}
|
||||
|
||||
if (pathPrefix == undefined && this.page == undefined) {
|
||||
return urlFilter(url, "");
|
||||
}
|
||||
|
||||
// Look up the url of the current rendering page, which is accessible via
|
||||
// `this`.
|
||||
//console.log(this); // rmcg
|
||||
|
||||
// rmcg - removed ctx from this.ctx.page.url
|
||||
const currentDir = this.page.url;
|
||||
const filteredUrl = urlFilter(url, "/");
|
||||
|
||||
// Make sure the index.html is expressed.
|
||||
const indexUrl = indexify(filteredUrl);
|
||||
|
||||
// Check that the url doesn't specify a protocol.
|
||||
const u = new URL(indexUrl, "make-relative://");
|
||||
if (u.protocol !== "make-relative:") {
|
||||
// It has a protocol, so just return the filtered URL output.
|
||||
return filteredUrl;
|
||||
}
|
||||
|
||||
// Return the relative path, or `index.html` if it's the same as the current
|
||||
// page's directory.
|
||||
const relativePath = `${
|
||||
path.relative(currentDir, u.pathname) || "index.html"
|
||||
}`;
|
||||
return relativePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Just `{{ '/something' | url }}` will return the relative path to
|
||||
* `/something/index.html`.
|
||||
*
|
||||
* `{{ '/something.with.dots' | url }}` will return the relative path to
|
||||
* `/something.with.dots`.
|
||||
*
|
||||
* @param {string} url the URL to transform
|
||||
* @param {string} [pathPrefix] optional path prefix to force an absolute URL
|
||||
* @returns {string} resulting URL
|
||||
*/
|
||||
function relativeURLALT(url, pathPrefix = undefined) {
|
||||
pathPrefix = "/";
|
||||
// console.log(url);
|
||||
// console.log(pathPrefix);
|
||||
// console.log(this.page);
|
||||
if (pathPrefix !== undefined) {
|
||||
// Fall back on original url filter if pathPrefix is set.
|
||||
return urlFilter(url, pathPrefix);
|
||||
}
|
||||
|
||||
if (pathPrefix == undefined && this.page == undefined) {
|
||||
// console.log("dropping out");
|
||||
return urlFilter(url, "");
|
||||
}
|
||||
|
||||
// Look up the url of the current rendering page, which is accessible via
|
||||
// `this`.
|
||||
console.log(this);
|
||||
const currentDir = this.page.url;
|
||||
const filteredUrl = urlFilter(url, "/");
|
||||
|
||||
// Make sure the index.html is expressed.
|
||||
const indexUrl = indexify(filteredUrl);
|
||||
|
||||
// Check that the url doesn't specify a protocol.
|
||||
const u = new URL(indexUrl, "make-relative://");
|
||||
if (u.protocol !== "make-relative:") {
|
||||
// It has a protocol, so just return the filtered URL output.
|
||||
return filteredUrl;
|
||||
}
|
||||
|
||||
// Return the relative path, or `index.html` if it's the same as the current
|
||||
// page's directory.
|
||||
const relativePath = `${
|
||||
path.relative(currentDir, u.pathname) || "index.html"
|
||||
}`;
|
||||
return relativePath;
|
||||
}
|
||||
|
||||
function absoluteUrl(url) {
|
||||
if (url !== undefined) {
|
||||
return siteURL + url
|
||||
} else {
|
||||
return siteURL
|
||||
}
|
||||
}
|
||||
|
||||
function groupBy(array, key) {
|
||||
const get = entry => key.split('.').reduce((acc, key) => acc[key], entry)
|
||||
|
||||
const map = array.reduce((acc, entry) => {
|
||||
const value = get(entry)
|
||||
|
||||
if (typeof acc[value] === 'undefined') {
|
||||
acc[value] = []
|
||||
}
|
||||
|
||||
acc[value].push(entry)
|
||||
return acc
|
||||
}, {})
|
||||
|
||||
return Object.keys(map).reduce(
|
||||
(acc, key) => [...acc, { name: key, items: map[key] }],
|
||||
[]
|
||||
)
|
||||
}
|
||||
|
|
@ -9,81 +9,3 @@ _site
|
|||
.jekyll-metadata
|
||||
|
||||
**/*/premdesigns
|
||||
|
||||
# ---> Eleventy
|
||||
|
||||
#_site
|
||||
|
||||
#package-lock.json
|
||||
css/main.css.map
|
||||
|
||||
# dependency directories
|
||||
node_modules/
|
||||
|
||||
# config
|
||||
.env*
|
||||
|
||||
# caches
|
||||
.cache
|
||||
.sass-cache/
|
||||
|
||||
# eleventy gulp build
|
||||
/dist
|
||||
|
||||
*.log
|
||||
npm-debug.*
|
||||
*.scssc
|
||||
*.swp
|
||||
Thumbs.db
|
||||
|
||||
dist
|
||||
src/_includes/css
|
||||
|
||||
# my chosen output directory.
|
||||
www
|
||||
|
||||
#### From FrontEnd Mentor gitignore. Just to avoid accidentally uploading design files
|
||||
#
|
||||
# Avoid accidental upload of the Sketch and Figma design files
|
||||
#####################################################
|
||||
## Please do not remove lines 5 and 6 - thanks! 🙂 ##
|
||||
#####################################################
|
||||
*.sketch
|
||||
*.fig
|
||||
|
||||
# Avoid accidental XD upload if you convert the design file
|
||||
###############################################
|
||||
## Please do not remove line 12 - thanks! 🙂 ##
|
||||
###############################################
|
||||
*.xd
|
||||
.prettierignore
|
||||
|
||||
# ---> macOS
|
||||
# General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
# main links
|
||||
main:
|
||||
# - title: "Posts"
|
||||
# url: /year-archive/
|
||||
# - title: ""
|
||||
# url: /docs/quick-start-guide/
|
||||
- title: "Posts"
|
||||
url: /year-archive/
|
||||
- title: "Tags"
|
||||
url: /tags/
|
||||
- title: "Categories"
|
|
@ -6,7 +6,6 @@ share: true
|
|||
related: true
|
||||
title: 'An End of Sorts'
|
||||
tag: [Life, Work]
|
||||
eleventyExcludeFromCollections: true
|
||||
---
|
||||
|
||||
Lets be clear up front: ITS MY **FAULT**.
|
|
@ -0,0 +1,58 @@
|
|||
---
|
||||
title: A short look back on my Camino de Santiago journey
|
||||
|
||||
tags:
|
||||
- life
|
||||
- camino
|
||||
- caminodesantiago
|
||||
category: camino
|
||||
---
|
||||
|
||||
A year ago tomorrow I began the most gruelling, yet immensely satisfying, journey of my life. I set off from my home in Buchholz in der Nordheide Germany, to fly to France to walk the Camino de Santiago.
|
||||
|
||||
Ostensibly the point of the walk was to find myself, to seek out something that had been missing in me for a long time. But it was also about trying to make a decision about what I was doing and my relationship with my wife.
|
||||
|
||||
I kinda failed at the latter point. I found while walking that often my brain zoned out and I wasn't thinking about what I should have been. I did however find something that (mostly) made me feel good.
|
||||
|
||||
My original intention was to take time along the way to stop for an extra day here and there to see places that I was walking through, but it never really happened. I kind of regret that, although the point of the walk was not to be a tourist.
|
||||
|
||||
I had fully intended to go back on the Camino this year (2020), but the unthinkable happened and the world entered a state of lock down that for now has no end in sight. The intention was to walk (mostly) different routes this time, because there are a heck of a lot of them.
|
||||
|
||||
I didn't want to end when I did, I wasn't ready to back and quite honestly, I'm still not ready to.
|
||||
|
||||
## Some Stats, Dates, and Figures
|
||||
|
||||
- I walked 2 camino's. The Camino Frances & Camino Portuguese (Porto; More Costal Route + Espiritual Variente)
|
||||
- I flew from Hamburg to France on the 28th of May 2019
|
||||
- I started the Camino de Santiago, leaving Saint-Jean-Pied-de-Port on the 31st of May 2019
|
||||
- I finished the Camino on the 8th July 2019, when I arrived in Santiago de Compostela
|
||||
- I left the next day for Finisterre
|
||||
- I arrived in Finisterre on the 11th of July 2019
|
||||
- I start the Camino Portuguese on the 18th July 2019
|
||||
- I arrived in Santiago de Compostela on the 31st of July 2019
|
||||
- I flew back to Hamburg from Porto on the 6th of August 2019 (walking 14km to the airport from Porto)
|
||||
|
||||
- I took 3 rest days (3rd, 8th and 23rd of June). The first 2 where not because I actually needed to rest, but because I had the wrong shoes and they where messing my feet up. (which gave me a couple of nasty blisters)
|
||||
- I bought a new pair of shoes on the evening of the 7th of June, which I then used the rest of the way.
|
||||
- I sent roughly 2kg of stuff home on the 8th of June, stuff I thought I needed but didn't
|
||||
|
||||
Originally I was track my steps / distances using a Fitbit HR and my iPhone 6S. However because of issues charging the HR (connector area broke), I gave up using it on July 6th.
|
||||
|
||||
In total I walked at least 1643km. This was a combination of the daily Camino walks, plus any extra after I arrived at my destination.
|
||||
|
||||
| Section | Stage Distance Walked | Total walked that stage |
|
||||
| ------- | -------- | ------- |
|
||||
| Camino Frances | 793.04km | 972.3km |
|
||||
| Santiago to Finisterre | 96.16km | 105.9km |
|
||||
| Camino Portuguese | 299.14km | 402.9km |
|
||||
| **Totals:** | **1,188.34km** | **1,481.1km** |
|
||||
|
||||
The remaining 160km was days walking around Finisterre, Muxia, Santiago and Porto.
|
||||
|
||||
## Photos
|
||||
|
||||
Over the next little while I am going to post photos from my journey, more than I did at the time on Instagram (which had a limit of 10 per post).
|
||||
|
||||
I'll try and add context to them, and a bit about where they where taken.
|
||||
|
||||
Anyway, enough for now. I intend, body willing, to locally repeat the Camino distances over the next 2 months.
|
|
@ -2,8 +2,6 @@
|
|||
title: Cash Register Challenge on freeCodeCamp
|
||||
tags: [webdev, javascript, freecodecamp]
|
||||
category: programming
|
||||
eleventyExcludeFromCollections: true
|
||||
layout: single
|
||||
---
|
||||
|
||||
I've been (slowly) working through the JavaScript module on [freeCodeCamp](https://freecodecamp.org) for a while now, and have recently been doing the certificate challenges. The last of which is the "Cash Register" challenge where you are to write a function that takes a price, a payment amount and an array that contains the cash in the drawer.
|
|
@ -2,7 +2,6 @@
|
|||
title: CSS Properties, or I have a problem.
|
||||
tags: [webdev, css]
|
||||
category: programming
|
||||
eleventyExcludeFromCollections: true
|
||||
---
|
||||
|
||||
|
|
@ -2,7 +2,6 @@
|
|||
title: What happens when I finish a Frontend Mentor Challenge
|
||||
tags: [webdev, site, frontendmentor]
|
||||
category: [programming, webdev]
|
||||
eleventyExcludeFromCollections: true
|
||||
---
|
||||
|
||||
I've been doing challenges from [Frontend Mentor](https://frontendmentor.io) as a means to practice frontend web development. Specifically working with plain HTML, CSS and JavaScript.
|
|
@ -2,8 +2,6 @@
|
|||
title: Filtering
|
||||
tags: [webdev, javascript]
|
||||
category: programming
|
||||
eleventyExcludeFromCollections: true
|
||||
|
||||
---
|
||||
|
||||
I was watching the video [How To Create A Search Bar In JavaScript](https://www.youtube.com/watch?v=TlP5WIxVirU) by [Web Dev Simplified](https://www.youtube.com/channel/UCFbNIlppjAuEX4znoulh0Cw) to learn how to do a search bar in JavaScript.
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
layout: post
|
||||
title: pretty-terminal-configs
|
||||
---
|
|
@ -6,7 +6,6 @@ share: true
|
|||
related: true
|
||||
title: 'Superheroes'
|
||||
tag: [Movies, TV, Comics]
|
||||
eleventyExcludeFromCollections: true
|
||||
---
|
||||
|
||||
Test
|
|
@ -6,7 +6,6 @@ tags:
|
|||
- swift
|
||||
- coding-challenges
|
||||
category: coding-challenges
|
||||
eleventyExcludeFromCollections: true
|
||||
---
|
||||
|
||||
# Challenge 3
|
|
@ -7,7 +7,6 @@ related: true
|
|||
title: SwiftUI
|
||||
tags: [swiftui,programming,ios, swift]
|
||||
category: Programming
|
||||
eleventyExcludeFromCollections: true
|
||||
---
|
||||
|
||||
Its been a long while since I sat and did programming, but between a life situation and the new technology from Apple for creating user interfaces (SwiftUI), I've been inspired to pickup again an idea I've been kicking around for 10 years.
|
|
@ -4,8 +4,6 @@ title: terminal-colors
|
|||
tags:
|
||||
- programming
|
||||
category: programming
|
||||
eleventyExcludeFromCollections: true
|
||||
|
||||
|
||||
---
|
||||
|
|
@ -2,7 +2,6 @@
|
|||
title: Writeup
|
||||
tags: [camino,caminodesantiago,jakobsweg,life]
|
||||
category: personal
|
||||
eleventyExcludeFromCollections: true
|
||||
---
|
||||
Its been a long while since I posted. I fell behind on my Camino posts, although I continued to take notes for a while, before I ended up giving up on those too.
|
||||
|
|
@ -35,18 +35,18 @@ layout: default
|
|||
{% if page.toc %}
|
||||
<aside class="sidebar__right {% if page.toc_sticky %}sticky{% endif %}">
|
||||
<nav class="toc">
|
||||
<header><h4 class="nav__title"><i class="fas fa-{{ page.toc_icon | default: 'file-alt' }}"></i> {{ page.toc_label | default: ui-text[site.locale].toc_label | default: "On this page" }}</h4></header>
|
||||
<header><h4 class="nav__title"><i class="fas fa-{{ page.toc_icon | default: 'file-alt' }}"></i> {{ page.toc_label | default: site.data.ui-text[site.locale].toc_label | default: "On this page" }}</h4></header>
|
||||
{% include toc.html sanitize=true html=content h_min=1 h_max=6 class="toc__menu" %}
|
||||
</nav>
|
||||
</aside>
|
||||
{% endif %}
|
||||
{{ content }}
|
||||
{% if page.link %}<div><a href="{{ page.link }}" class="btn btn--primary">{{ ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
|
||||
{% if page.link %}<div><a href="{{ page.link }}" class="btn btn--primary">{{ site.data.ui-text[site.locale].ext_link_label | default: "Direct Link" }}</a></div>{% endif %}
|
||||
</section>
|
||||
|
||||
<footer class="page__meta">
|
||||
{% if ui-text[site.locale].meta_label %}
|
||||
<h4 class="page__meta-title">{{ ui-text[site.locale].meta_label }}</h4>
|
||||
{% if site.data.ui-text[site.locale].meta_label %}
|
||||
<h4 class="page__meta-title">{{ site.data.ui-text[site.locale].meta_label }}</h4>
|
||||
{% endif %}
|
||||
{% include page__taxonomy.html %}
|
||||
{% include page__date.html %}
|
||||
|
@ -65,7 +65,7 @@ layout: default
|
|||
{% comment %}<!-- only show related on a post page when `related: true` -->{% endcomment %}
|
||||
{% if page.id and page.related and site.related_posts.size > 0 %}
|
||||
<div class="page__related">
|
||||
<h4 class="page__related-title">{{ ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
|
||||
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
|
||||
<div class="grid__wrapper">
|
||||
{% for post in site.related_posts limit:4 %}
|
||||
{% include archive-single.html type="grid" %}
|
||||
|
@ -75,7 +75,7 @@ layout: default
|
|||
{% comment %}<!-- otherwise show recent posts if no related when `related: true` -->{% endcomment %}
|
||||
{% elsif page.id and page.related %}
|
||||
<div class="page__related">
|
||||
<h4 class="page__related-title">{{ ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
|
||||
<h4 class="page__related-title">{{ site.data.ui-text[site.locale].related_label | default: "You May Also Enjoy" }}</h4>
|
||||
<div class="grid__wrapper">
|
||||
{% for post in site.posts limit:4 %}
|
||||
{% if post.id == page.id %}
|
|
@ -2,7 +2,6 @@
|
|||
title: "Page Not Found"
|
||||
excerpt: "Page not found. Your pixels are in another canvas."
|
||||
sitemap: false
|
||||
layout: default
|
||||
permalink: /404.html
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ author_profile: true
|
|||
read_time: true
|
||||
share: true
|
||||
related: true
|
||||
date: 2019-02-22 00:54:00 +01:00
|
||||
date: '2019-02-22 00:54:00 +0100'
|
||||
tag: Site
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 1 … So the adventure (finally) begins
|
||||
date: 2019-05-28 21:32:45 +01:59
|
||||
date: 2019-05-28 21:32:45 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg,caminofrances]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 5 - Unexpectedly Easy
|
||||
date: 2019-06-01 20:50:46 +01:59
|
||||
date: 2019-06-01 20:50:46 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 6 - Bad Day
|
||||
date: 2019-06-02 18:48:22 +01:59
|
||||
date: 2019-06-02 18:48:22 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 7 - Taking a break
|
||||
date: 2019-06-03 22:19:16 +01:59
|
||||
date: 2019-06-03 22:19:16 +0159
|
||||
category:
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 8 - Its my birthday
|
||||
date: 2019-06-04 21:29:37 +01:59
|
||||
date: 2019-06-04 21:29:37 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 9 - TWTFSSMTW
|
||||
date: 2019-06-05 21:04:53 +01:59
|
||||
date: 2019-06-05 21:04:53 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 10 - A Fountain of Wine
|
||||
date: 2019-06-06 21:57:40 +01:59
|
||||
date: 2019-06-06 21:57:40 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 11 - Frustrated
|
||||
date: 2019-06-07 23:09:43 +01:59
|
||||
date: 2019-06-07 23:09:43 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 12 - An unexpected port
|
||||
date: 2019-06-08 22:43:16 +01:59
|
||||
date: 2019-06-08 22:43:16 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 13 - A second wind
|
||||
date: 2019-06-09 22:38:02 +01:59
|
||||
date: 2019-06-09 22:38:02 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 15 - can’t think of a subtitle yet
|
||||
date: 2019-06-11 23:05:50 +01:59
|
||||
date: 2019-06-11 23:05:50 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 16 - Off to the races
|
||||
date: 2019-06-12 22:20:00 +01:59
|
||||
date: 2019-06-12 22:20:00 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 17
|
||||
date: 2019-06-13 23:00:00 +01:59
|
||||
date: 2019-06-13 23:00:00 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 18 - drawn to stop
|
||||
date: 2019-06-14 22:56:21 +01:59
|
||||
date: 2019-06-14 22:56:21 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 19
|
||||
date: 2019-06-15 18:06:55 +01:59
|
||||
date: 2019-06-15 18:06:55 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -5,7 +5,7 @@ read_time: true
|
|||
share: true
|
||||
related: true
|
||||
title: Day 21
|
||||
date: 2019-06-17 22:38:55 +01:59
|
||||
date: 2019-06-17 22:38:55 +0159
|
||||
tags: [camino,caminodesantiago,jakobsweg]
|
||||
---
|
||||
|
|
@ -6,7 +6,7 @@ tags:
|
|||
- personal
|
||||
- site
|
||||
category: personal
|
||||
date: 2020-04-17 02:18:00 +01:00
|
||||
date: 2020-04-17 02:18 +0100
|
||||
---
|
||||
Long time, no write.
|
||||
|
|
@ -6,7 +6,7 @@ tags:
|
|||
- swift
|
||||
- coding-challenges
|
||||
category: coding-challenges
|
||||
date: 2020-04-20 15:28:00 +01:00
|
||||
date: 2020-04-20 15:28 +0100
|
||||
---
|
||||
Second one within 13 hours, good lord, that would never do.
|
||||
|
||||
|
@ -42,4 +42,5 @@ func challenge2(input: String) -> Bool {
|
|||
return true
|
||||
}
|
||||
```
|
||||
|
||||
(As an aside, to my mind index, reverseIndex and arrayOfCharacters should be highlighted the same color the whole way through the code, not in two different colors. Not sure what I can do about that.)
|
|
@ -6,7 +6,7 @@ tags:
|
|||
- swift
|
||||
- coding-challenges
|
||||
category: coding-challenges
|
||||
date: 2020-04-20 13:36:00 +01:00
|
||||
date: 2020-04-20 13:36 +0100
|
||||
---
|
||||
As an effort to improve and challenge myself I got a copy of Paul Hudson's [Swift Coding Challenges](https://www.hackingwithswift.com/store/swift-coding-challenges) book and I'm going to work through it and post my thoughts on it and about how I did. I (probably) won't post the answers because that might spoil it for some.
|
||||
|
|
@ -21,9 +21,9 @@ gallery:
|
|||
image_path: https://roadmap.sh/roadmaps/devops.png
|
||||
alt: DevOps Roadmap
|
||||
title: DevOps Roadmap
|
||||
date: 2020-04-21 00:44:00 +01:00
|
||||
date: 2020-04-21 00:44 +0100
|
||||
---
|
||||
I mentioned in the [goals post]({% post_url collections.posts, "goals" %}), one of the things I am aiming to do is to start learning web development.
|
||||
I mentioned in the [goals post]({% post_url 2020-04-17-goals %}), one of the things I am aiming to do is to start learning web development.
|
||||
|
||||
I was well aware that what falls under the banner of web development is massive, I just hadn't realised quite how large it was.
|
||||
|
|
@ -9,7 +9,7 @@ tags:
|
|||
- caminodesantiago
|
||||
category: camino
|
||||
|
||||
date: 2020-05-27 01:45:00 +01:00
|
||||
date: 2020-05-27 01:45 +0100
|
||||
---
|
||||
|
||||
A year ago tomorrow I began the most gruelling, yet immensely satisfying, journey of my life. I set off from my home in Buchholz in der Nordheide Germany, to fly to France to walk the Camino de Santiago.
|
|
@ -2,7 +2,6 @@
|
|||
title: What happens when I finish a Frontend Mentor Challenge (or how I build and deploy an 11ty site)
|
||||
tags: [webdev, site, frontendmentor]
|
||||
category: [programming, webdev]
|
||||
date: 2022-10-15
|
||||
---
|
||||
|
||||
I've been doing challenges from [Frontend Mentor](https://frontendmentor.io) as a means to practice frontend web development. Specifically working with plain HTML, CSS and JavaScript.
|
|
@ -2,9 +2,6 @@
|
|||
title: Moving site from Jekyll to ???
|
||||
tags: [webdev, site, personal]
|
||||
category: [site, webdev, personal]
|
||||
date: 2023-01-21
|
||||
last_modified: 2023-01-22 13:11
|
||||
excerpt: Goal is that at some point in the not to distant future I will move the blog from [Jekyll](https://jekyllrb.com) & the [Minimal Mistakes Theme](https://mmistakes.github.io/minimal-mistakes/) to something built with [11ty](https://www.11ty.dev/).
|
||||
---
|
||||
|
||||
Goal is that at some point in the not to distant future I will move the blog from [Jekyll](https://jekyllrb.com) & the [Minimal Mistakes Theme](https://mmistakes.github.io/minimal-mistakes/) to something built with [11ty](https://www.11ty.dev/).
|
|
@ -1,6 +1,5 @@
|
|||
---
|
||||
# made a liquid file so theme is correctly compiled into import below
|
||||
permalink: /assets/css/tocompile.scss
|
||||
# Only the main Sass file needs front matter (the dashes are enough)
|
||||
---
|
||||
|
||||
@charset "utf-8";
|
||||
|
@ -27,7 +26,6 @@ $warning-color: #d67f05 !default;
|
|||
$danger-color: #ff0000 !default;
|
||||
$info-color: #3b9cba !default;
|
||||
|
||||
// section not needed under 11ty
|
||||
/* neon syntax highlighting (base16) */
|
||||
$base00: #1a191a;
|
||||
$base01: #e0e0e0;
|
||||
|
@ -57,7 +55,6 @@ $base0f: #926e5c;
|
|||
// base16-classic-dark
|
||||
// base16-brewer
|
||||
|
||||
// section not needed under 11ty
|
||||
// Hacking the syntax highlighting
|
||||
.nb {
|
||||
/* Name.Builtin */
|
||||
|
@ -94,7 +91,7 @@ $base0f: #926e5c;
|
|||
|
||||
// Scroll to top
|
||||
#scroll-to-top {
|
||||
background: rgb(215, 210, 210);
|
||||
background: black;
|
||||
display:block;
|
||||
position:fixed;
|
||||
font-size:25px;
|
||||
|
@ -126,7 +123,7 @@ $base0f: #926e5c;
|
|||
}
|
||||
#scroll-to-top span {
|
||||
cursor:pointer;
|
||||
color:#dee3ee
|
||||
color:#1a1d24
|
||||
}
|
||||
#scroll-to-top span:hover .up-arrow,
|
||||
#scroll-to-top span:active .up-arrow {
|
||||
|
@ -141,12 +138,8 @@ pre {
|
|||
color: #1bb6be !important
|
||||
}
|
||||
|
||||
$github-color: #fff !default;
|
||||
|
||||
//@import "progress.css"; // for progress bar
|
||||
//@import "minimal-mistakes/skins/{{ site.minimal_mistakes_skin | default: 'default' }}"; // skin
|
||||
@import "minimal-mistakes/skins/_{{ site.minimal_mistakes_skin | default: 'default' }}.scss"; // skin
|
||||
@import "minimal-mistakes/skins/{{ site.minimal_mistakes_skin | default: 'default' }}"; // skin
|
||||
@import "minimal-mistakes"; // main partials
|
||||
//@import "assets/css/override-notices.scss"
|
||||
@import "override-notices.scss";
|
||||
|
||||
@import "override-notices.scss"
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 2.4 MiB After Width: | Height: | Size: 2.4 MiB |
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 876 B After Width: | Height: | Size: 876 B |
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 152 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 403 KiB After Width: | Height: | Size: 403 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 608 KiB After Width: | Height: | Size: 608 KiB |
742
diff-index
|
@ -1,742 +0,0 @@
|
|||
0a1
|
||||
>
|
||||
13d13
|
||||
<
|
||||
19a20,21
|
||||
> <meta property="article:author" content="Robert McGovern">
|
||||
>
|
||||
22c24
|
||||
< <meta property="og:type" content="website">
|
||||
---
|
||||
> <meta property="og:type" content="article">
|
||||
26c28
|
||||
< <meta property="og:url" content="http://localhost:4000/">
|
||||
---
|
||||
> <meta property="og:url" content="index.html">
|
||||
33c35
|
||||
< <meta property="og:image" content="http://localhost:4000/assets/images/bio-photo.jpg">
|
||||
---
|
||||
> <meta property="og:image" content="index.html">
|
||||
40c42
|
||||
< <meta name="twitter:url" content="http://localhost:4000/">
|
||||
---
|
||||
> <meta name="twitter:url" content="index.html">
|
||||
43,46c45,46
|
||||
< <meta name="twitter:card" content="summary">
|
||||
<
|
||||
< <meta name="twitter:image" content="http://localhost:4000/assets/images/bio-photo.jpg">
|
||||
<
|
||||
---
|
||||
> <meta name="twitter:card" content="summary_large_image">
|
||||
> <meta name="twitter:image" content="index.html">
|
||||
52a53
|
||||
> <meta property="article:published_time" content="2020-03-05T11:10:24+00:00">
|
||||
56a58
|
||||
>
|
||||
62c64
|
||||
< <link rel="canonical" href="http://localhost:4000/">
|
||||
---
|
||||
> <link rel="canonical" href="index.html">
|
||||
66d67
|
||||
< <link rel="next" href="http://localhost:4000/page2/">
|
||||
68d68
|
||||
<
|
||||
75c75
|
||||
< "url": "http://localhost:4000/"
|
||||
---
|
||||
> "url": "index.html"
|
||||
90c90
|
||||
< <link href="/feed.xml" type="application/atom+xml" rel="alternate" title="TDN: RMCG Feed">
|
||||
---
|
||||
> <link href="feed.xml" type="application/atom+xml" rel="alternate" title="TDN: RMCG Feed">
|
||||
101c101
|
||||
< <link rel="stylesheet" href="/assets/css/main.css">
|
||||
---
|
||||
> <link rel="stylesheet" href="assets/css/main.css">
|
||||
107c107
|
||||
< <script src="/assets/js/progress.js"></script>
|
||||
---
|
||||
> <script src="assets/js/progress.js"></script>
|
||||
109c109
|
||||
< <script src="/assets/js/scroll-to-top.js"></script>
|
||||
---
|
||||
> <script src="assets/js/scroll-to-top.js"></script>
|
||||
118c118
|
||||
< <body class="layout--home">
|
||||
---
|
||||
> <body class="layout--">
|
||||
138c138
|
||||
< <a class="site-logo" href="/"><img src="/assets/images/apple-touch-icon.png" alt="TDN: RMCG"></a>
|
||||
---
|
||||
> <a class="site-logo" href="index.html"><img src="assets/images/apple-touch-icon.png" alt="TDN: RMCG"></a>
|
||||
140c140
|
||||
< <a class="site-title" href="/">
|
||||
---
|
||||
> <a class="site-title" href="index.html">
|
||||
144,152c144
|
||||
< <ul class="visible-links"><li class="masthead__menu-item">
|
||||
< <a href="/year-archive/">Posts</a>
|
||||
< </li><li class="masthead__menu-item">
|
||||
< <a href="/tags/">Tags</a>
|
||||
< </li><li class="masthead__menu-item">
|
||||
< <a href="/categories/">Categories</a>
|
||||
< </li><li class="masthead__menu-item">
|
||||
< <a href="/about/">About</a>
|
||||
< </li></ul>
|
||||
---
|
||||
> <ul class="visible-links"></ul>
|
||||
174a167
|
||||
>
|
||||
177,178d169
|
||||
< <div class="sidebar sticky">
|
||||
<
|
||||
181,331d171
|
||||
< <div itemscope itemtype="https://schema.org/Person">
|
||||
<
|
||||
<
|
||||
< <div class="author__avatar">
|
||||
<
|
||||
< <img src="/assets/images/bio-photo.jpg" alt="Robert McGovern" itemprop="image">
|
||||
<
|
||||
< </div>
|
||||
<
|
||||
<
|
||||
< <div class="author__content">
|
||||
<
|
||||
< <h3 class="author__name" itemprop="name">Robert McGovern</h3>
|
||||
<
|
||||
<
|
||||
< <div class="author__bio" itemprop="description">
|
||||
< <p>Wannabe field researcher for the Hitchhikers Guide to the Galaxy</p>
|
||||
<
|
||||
< </div>
|
||||
<
|
||||
< </div>
|
||||
<
|
||||
< <div class="author__urls-wrapper">
|
||||
< <button class="btn btn--inverse">Follow</button>
|
||||
< <ul class="author__urls social-icons">
|
||||
<
|
||||
< <li itemprop="homeLocation" itemscope itemtype="https://schema.org/Place">
|
||||
< <i class="fas fa-fw fa-map-marker-alt" aria-hidden="true"></i> <span itemprop="name">ZZ9 Plural Z Alpha</span>
|
||||
< </li>
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="https://tarasis.net" rel="nofollow noopener noreferrer"><i class="fas fa-fw fa-link" aria-hidden="true"></i><span class="label">Website</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="mailto:rob@tarasis.net" rel="nofollow noopener noreferrer"><i class="fas fa-fw fa-envelope-square" aria-hidden="true"></i><span class="label">Email</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="https://www.linkedin.com/in/robertmcgovern/" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-linkedin" aria-hidden="true"></i><span class="label">Linkedin</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="https://github.com/tarasis" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-github" aria-hidden="true"></i><span class="label">Github</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="https://twitter.com/tarasis" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-twitter-square" aria-hidden="true"></i><span class="label">Twitter</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="https://www.facebook.com/tarasis" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-facebook" aria-hidden="true"></i><span class="label">Facebook</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="https://instagram.com/tarasis" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-instagram" aria-hidden="true"></i><span class="label">Instagram</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="https://www.flickr.com/photos/tarasis/" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-flickr" aria-hidden="true"></i><span class="label">Flickr</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="https://www.youtube.com/user/tarasis" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-youtube" aria-hidden="true"></i><span class="label">Youtube</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="https://soundcloud.com/tarasis" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-soundcloud" aria-hidden="true"></i><span class="label">Soundcloud</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="https://www.last.fm/user/tarasis" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-lastfm" aria-hidden="true"></i><span class="label">Last.FM</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="https://www.reddit.com/user/tarasis" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-reddit" aria-hidden="true"></i><span class="label">Reddit</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="https://www.pinterest.com/tarasis/" rel="nofollow noopener noreferrer"><i class="fab fa-fw fa-pinterest" aria-hidden="true"></i><span class="label">Pinterest</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <!--
|
||||
< <li>
|
||||
< <a href="http://link-to-whatever-social-network.com/user/" itemprop="sameAs" rel="nofollow noopener noreferrer">
|
||||
< <i class="fas fa-fw" aria-hidden="true"></i> Custom Social Profile Link
|
||||
< </a>
|
||||
< </li>
|
||||
< -->
|
||||
< </ul>
|
||||
< </div>
|
||||
< </div>
|
||||
<
|
||||
<
|
||||
< </div>
|
||||
<
|
||||
<
|
||||
<
|
||||
338d177
|
||||
< <h3 class="archive__subtitle">Recent posts</h3>
|
||||
340a180
|
||||
> <h3 class="archive__subtitle">Recent Posts</h3>
|
||||
343d182
|
||||
< <div class="entries-list">
|
||||
345d183
|
||||
<
|
||||
349,384c187
|
||||
< <div class="list__item">
|
||||
< <article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
<
|
||||
< <h2 class="archive__item-title no_toc" itemprop="headline">
|
||||
<
|
||||
< <a href="/2022/10/15/frontend-mentor-challenge-deployment/" rel="permalink">What happens when I finish a Frontend Mentor Challenge (or how I build and deploy an 11ty site)
|
||||
< </a>
|
||||
<
|
||||
< </h2>
|
||||
<
|
||||
<
|
||||
< <p class="page__meta">
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <span class="page__meta-readtime">
|
||||
< <i class="far fa-clock" aria-hidden="true"></i>
|
||||
<
|
||||
< 4 minute read
|
||||
<
|
||||
< </span>
|
||||
<
|
||||
< </p>
|
||||
<
|
||||
<
|
||||
< <p class="archive__item-excerpt" itemprop="description">I’ve been doing challenges from Frontend Mentor as a means to practice frontend web development. Specifically working with plain HTML, CSS and JavaScript.
|
||||
<
|
||||
< R...</p>
|
||||
< </article>
|
||||
< </div>
|
||||
<
|
||||
---
|
||||
> <div class="entries-list">
|
||||
386,421d188
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <div class="list__item">
|
||||
< <article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
<
|
||||
< <h2 class="archive__item-title no_toc" itemprop="headline">
|
||||
<
|
||||
< <a href="/2020/05/27/camino-de-santiago/" rel="permalink">A short look back on my Camino de Santiago journey
|
||||
< </a>
|
||||
<
|
||||
< </h2>
|
||||
<
|
||||
<
|
||||
< <p class="page__meta">
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <span class="page__meta-readtime">
|
||||
< <i class="far fa-clock" aria-hidden="true"></i>
|
||||
<
|
||||
< 3 minute read
|
||||
<
|
||||
< </span>
|
||||
<
|
||||
< </p>
|
||||
<
|
||||
<
|
||||
< <p class="archive__item-excerpt" itemprop="description">A year ago tomorrow I began the most gruelling, yet immensely satisfying, journey of my life. I set off from my home in Buchholz in der Nordheide Germany, to...</p>
|
||||
< </article>
|
||||
424,425d190
|
||||
<
|
||||
<
|
||||
429,812d193
|
||||
< <div class="list__item">
|
||||
< <article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
<
|
||||
< <h2 class="archive__item-title no_toc" itemprop="headline">
|
||||
<
|
||||
< <a href="/2020/04/21/learning-web-development/" rel="permalink">Learning Web Development
|
||||
< </a>
|
||||
<
|
||||
< </h2>
|
||||
<
|
||||
<
|
||||
< <p class="page__meta">
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <span class="page__meta-readtime">
|
||||
< <i class="far fa-clock" aria-hidden="true"></i>
|
||||
<
|
||||
< 2 minute read
|
||||
<
|
||||
< </span>
|
||||
<
|
||||
< </p>
|
||||
<
|
||||
<
|
||||
< <p class="archive__item-excerpt" itemprop="description">I mentioned in the goals post, one of the things I am aiming to do is to start learning web development.
|
||||
<
|
||||
< I was well aware that what falls under the banner o...</p>
|
||||
< </article>
|
||||
< </div>
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <div class="list__item">
|
||||
< <article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
<
|
||||
< <h2 class="archive__item-title no_toc" itemprop="headline">
|
||||
<
|
||||
< <a href="/2020/04/20/swift-coding-challenge-2/" rel="permalink">Swift Coding Challenges: Challenge 2
|
||||
< </a>
|
||||
<
|
||||
< </h2>
|
||||
<
|
||||
<
|
||||
< <p class="page__meta">
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <span class="page__meta-readtime">
|
||||
< <i class="far fa-clock" aria-hidden="true"></i>
|
||||
<
|
||||
< 1 minute read
|
||||
<
|
||||
< </span>
|
||||
<
|
||||
< </p>
|
||||
<
|
||||
<
|
||||
< <p class="archive__item-excerpt" itemprop="description">Second one within 13 hours, good lord, that would never do.
|
||||
<
|
||||
< So this challenge was to test if a string matched against the reverse of itself. Basically a pal...</p>
|
||||
< </article>
|
||||
< </div>
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <div class="list__item">
|
||||
< <article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
<
|
||||
< <h2 class="archive__item-title no_toc" itemprop="headline">
|
||||
<
|
||||
< <a href="/2020/04/20/swift-coding-challenges/" rel="permalink">Swift Coding Challenges: Challenge 1
|
||||
< </a>
|
||||
<
|
||||
< </h2>
|
||||
<
|
||||
<
|
||||
< <p class="page__meta">
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <span class="page__meta-readtime">
|
||||
< <i class="far fa-clock" aria-hidden="true"></i>
|
||||
<
|
||||
< less than 1 minute read
|
||||
<
|
||||
< </span>
|
||||
<
|
||||
< </p>
|
||||
<
|
||||
<
|
||||
< <p class="archive__item-excerpt" itemprop="description">As an effort to improve and challenge myself I got a copy of Paul Hudson’s Swift Coding Challenges book and I’m going to work through it and post my thoughts...</p>
|
||||
< </article>
|
||||
< </div>
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <div class="list__item">
|
||||
< <article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
<
|
||||
< <h2 class="archive__item-title no_toc" itemprop="headline">
|
||||
<
|
||||
< <a href="/2020/04/17/goals/" rel="permalink">Goals
|
||||
< </a>
|
||||
<
|
||||
< </h2>
|
||||
<
|
||||
<
|
||||
< <p class="page__meta">
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <span class="page__meta-readtime">
|
||||
< <i class="far fa-clock" aria-hidden="true"></i>
|
||||
<
|
||||
< 6 minute read
|
||||
<
|
||||
< </span>
|
||||
<
|
||||
< </p>
|
||||
<
|
||||
<
|
||||
< <p class="archive__item-excerpt" itemprop="description">Long time, no write.
|
||||
<
|
||||
< A lot has changed in my life, not least of which is that I am no longer a stay at home dad or living in Germany. For now I am back home...</p>
|
||||
< </article>
|
||||
< </div>
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <div class="list__item">
|
||||
< <article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
<
|
||||
< <h2 class="archive__item-title no_toc" itemprop="headline">
|
||||
<
|
||||
< <a href="/2019/06/17/Day21/" rel="permalink">Day 21
|
||||
< </a>
|
||||
<
|
||||
< </h2>
|
||||
<
|
||||
<
|
||||
< <p class="page__meta">
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <span class="page__meta-readtime">
|
||||
< <i class="far fa-clock" aria-hidden="true"></i>
|
||||
<
|
||||
< 2 minute read
|
||||
<
|
||||
< </span>
|
||||
<
|
||||
< </p>
|
||||
<
|
||||
<
|
||||
< <p class="archive__item-excerpt" itemprop="description">Day 21 of trip
|
||||
<
|
||||
< Day Frómista to Carrión de los Condes. 18.88km according to app. 19.18km with Phone GPS (minor detour). Was walking quickly. Which Fitbit doe...</p>
|
||||
< </article>
|
||||
< </div>
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <div class="list__item">
|
||||
< <article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
<
|
||||
< <h2 class="archive__item-title no_toc" itemprop="headline">
|
||||
<
|
||||
< <a href="/2019/06/15/Day19/" rel="permalink">Day 19
|
||||
< </a>
|
||||
<
|
||||
< </h2>
|
||||
<
|
||||
<
|
||||
< <p class="page__meta">
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <span class="page__meta-readtime">
|
||||
< <i class="far fa-clock" aria-hidden="true"></i>
|
||||
<
|
||||
< 3 minute read
|
||||
<
|
||||
< </span>
|
||||
<
|
||||
< </p>
|
||||
<
|
||||
<
|
||||
< <p class="archive__item-excerpt" itemprop="description">Day 19 of trip
|
||||
<
|
||||
< Day 16 of walk.
|
||||
<
|
||||
< Today was Hornillos del Camino to Castrojeriz (19.47km)
|
||||
<
|
||||
< Weather: cool, grey and minimal sun (nice to walk in)
|
||||
<
|
||||
< Terrain: lig...</p>
|
||||
< </article>
|
||||
< </div>
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <div class="list__item">
|
||||
< <article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
<
|
||||
< <h2 class="archive__item-title no_toc" itemprop="headline">
|
||||
<
|
||||
< <a href="/2019/06/14/Day-2018/" rel="permalink">Day 18 - drawn to stop
|
||||
< </a>
|
||||
<
|
||||
< </h2>
|
||||
<
|
||||
<
|
||||
< <p class="page__meta">
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <span class="page__meta-readtime">
|
||||
< <i class="far fa-clock" aria-hidden="true"></i>
|
||||
<
|
||||
< 4 minute read
|
||||
<
|
||||
< </span>
|
||||
<
|
||||
< </p>
|
||||
<
|
||||
<
|
||||
< <p class="archive__item-excerpt" itemprop="description">Day 18
|
||||
<
|
||||
< Burgos to Hornillos del Camino ~22km
|
||||
<
|
||||
< Weather was pleasant but cool
|
||||
<
|
||||
< Terrain most flat, gravel & roads
|
||||
<
|
||||
< Woke up at 3am freezing and no blanket to...</p>
|
||||
< </article>
|
||||
< </div>
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <div class="list__item">
|
||||
< <article class="archive__item" itemscope itemtype="https://schema.org/CreativeWork">
|
||||
<
|
||||
< <h2 class="archive__item-title no_toc" itemprop="headline">
|
||||
<
|
||||
< <a href="/2019/06/13/Day-2017/" rel="permalink">Day 17
|
||||
< </a>
|
||||
<
|
||||
< </h2>
|
||||
<
|
||||
<
|
||||
< <p class="page__meta">
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <span class="page__meta-readtime">
|
||||
< <i class="far fa-clock" aria-hidden="true"></i>
|
||||
<
|
||||
< 3 minute read
|
||||
<
|
||||
< </span>
|
||||
<
|
||||
< </p>
|
||||
<
|
||||
<
|
||||
< <p class="archive__item-excerpt" itemprop="description">Day 17
|
||||
<
|
||||
< So it’s day 17 of the trip and day 14 of the Camino (day 12 if you take out 2 rest days)
|
||||
<
|
||||
< Woke at 6 pretty impressed that I didn’t hear the 2 women i...</p>
|
||||
< </article>
|
||||
< </div>
|
||||
<
|
||||
<
|
||||
< </div>
|
||||
<
|
||||
<
|
||||
< <nav class="pagination">
|
||||
<
|
||||
< <ul>
|
||||
<
|
||||
<
|
||||
< <li><a href="#" class="disabled"><span aria-hidden="true">Previous</span></a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="#" class="disabled current">1</a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="/page2/">2</a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="/page3/">3</a></li>
|
||||
<
|
||||
<
|
||||
<
|
||||
<
|
||||
< <li><a href="/page2/">Next</a></li>
|
||||
<
|
||||
< </ul>
|
||||
< </nav>
|
||||
<
|
||||
<
|
||||
<
|
||||
841,842d221
|
||||
< <li><strong>Follow:</strong></li>
|
||||
<
|
||||
869c248
|
||||
< <li><a href="/feed.xml"><i class="fas fa-fw fa-rss-square" aria-hidden="true"></i> Feed</a></li>
|
||||
---
|
||||
> <li><a href="feed.xml"><i class="fas fa-fw fa-rss-square" aria-hidden="true"></i> Feed</a></li>
|
||||
874c253
|
||||
< <div class="page__footer-copyright">© 2023 Robert McGovern. Powered by <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
|
||||
---
|
||||
> <div class="page__footer-copyright">© %2023 Robert McGovern. Powered by <a href="https://jekyllrb.com" rel="nofollow">Jekyll</a> & <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
|
||||
880c259
|
||||
< <script src="/assets/js/main.min.js"></script>
|
||||
---
|
||||
> <script src="assets/js/main.min.js"></script>
|
||||
884a264
|
||||
>
|
||||
886,889c266,268
|
||||
< <script src="/assets/js/lunr/lunr.min.js"></script>
|
||||
< <script src="/assets/js/lunr/lunr-store.js"></script>
|
||||
< <script src="/assets/js/lunr/lunr-en.js"></script>
|
||||
<
|
||||
---
|
||||
> <script src="assets/js/lunr/lunr.min.js"></script>
|
||||
> <script src="assets/js/lunr/lunr-store.js"></script>
|
||||
> <script src="assets/js/lunr/lunr-en.js"></script>
|
|
@ -1,60 +0,0 @@
|
|||
// Credits 🙇 for original ideas to:
|
||||
// Fork of https://github.com/vimtor/eleventy-plugin-external-links
|
||||
// css.gg SVG icon https://github.com/astrit/css.gg/blob/master/icons/svg/external.svg
|
||||
|
||||
const { parse, HTMLElement } = require("node-html-parser");
|
||||
const { extname } = require("path");
|
||||
|
||||
module.exports = eleventyConfig => {
|
||||
const options = {
|
||||
name: "external-links",
|
||||
regex: new RegExp("^(([a-z]+:)|(//))", "i"),
|
||||
target: "_blank",
|
||||
rel: "noopener noreferrer nofollow",
|
||||
extensions: [".html"],
|
||||
};
|
||||
|
||||
eleventyConfig.addTransform(options.name, (content, outputPath) => {
|
||||
if (outputPath && options.extensions.includes(extname(outputPath))) {
|
||||
const root = parse(content);
|
||||
const links = root.querySelectorAll("a");
|
||||
links
|
||||
.filter(link => {
|
||||
const href = link.getAttribute("href");
|
||||
return (
|
||||
href &&
|
||||
options.regex.test(href) &&
|
||||
!link.getAttribute("rel") &&
|
||||
!link.getAttribute("target")
|
||||
);
|
||||
})
|
||||
.forEach(link => {
|
||||
link.setAttribute("target", options.target);
|
||||
link.setAttribute("rel", options.rel);
|
||||
|
||||
const srText = new HTMLElement("span", { class: "sr-only" });
|
||||
srText.textContent = "(opens in a new window)";
|
||||
|
||||
const icon = new HTMLElement(
|
||||
"svg",
|
||||
{},
|
||||
`viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"`
|
||||
);
|
||||
icon.set_content(`
|
||||
<path
|
||||
d="M15.6396 7.02527H12.0181V5.02527H19.0181V12.0253H17.0181V8.47528L12.1042 13.3892L10.6899 11.975L15.6396 7.02527Z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
<path
|
||||
d="M10.9819 6.97473H4.98193V18.9747H16.9819V12.9747H14.9819V16.9747H6.98193V8.97473H10.9819V6.97473Z"
|
||||
fill="currentColor"
|
||||
/>`);
|
||||
link.appendChild(srText);
|
||||
link.appendChild(icon);
|
||||
});
|
||||
|
||||
return root.toString();
|
||||
}
|
||||
return content;
|
||||
});
|
||||
};
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 876 B After Width: | Height: | Size: 876 B |
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |