first commit with a pre-push hook, curious >.<"
This commit is contained in:
parent
2b1140996e
commit
b4deca7d0f
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
sync-zola.sh
|
14
_index.md
Normal file
14
_index.md
Normal file
|
@ -0,0 +1,14 @@
|
|||
+++
|
||||
template = "index.html"
|
||||
title = "Test home page"
|
||||
+++
|
||||
|
||||
Hi!
|
||||
|
||||
This is my test website build with the static site generator [Zola](www.getzola.org). I want to try out a more direct workflow in writing/blogging and keeping up with projects than my [main website build with Grav](https://joostagterhoek.nl) can offer. Liking it so far! :star:
|
||||
|
||||
## Blog Posts
|
||||
|
||||
- 🥇 [My first blog post here](./blog/my-first-post)
|
||||
|
||||
## Projects
|
5
about.md
Normal file
5
about.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
title = "About"
|
||||
+++
|
||||
|
||||
Hi there! I'm Joost Agterhoek and this is one of my websites. Currently not my main one, that would be [this lovely place](https://joostagterhoek.nl). This is still a work in progress.
|
198
config.toml
Normal file
198
config.toml
Normal file
|
@ -0,0 +1,198 @@
|
|||
# The base URL of the site; the only required configuration variable.
|
||||
base_url = "https://notes.joostagterhoek.nl"
|
||||
|
||||
# The site title and description; used in feeds by default.
|
||||
title = "Trying out a statically generated website"
|
||||
description = ""
|
||||
|
||||
# The default language; used in feeds.
|
||||
default_language = "en"
|
||||
|
||||
# The site theme to use.
|
||||
theme = "anemone"
|
||||
|
||||
# For overriding the default output directory `public`, set it to another value (e.g.: "docs")
|
||||
output_dir = "public"
|
||||
|
||||
# Whether dotfiles at the root level of the output directory are preserved when (re)building the site.
|
||||
# Enabling this also prevents the deletion of the output folder itself on rebuilds.
|
||||
preserve_dotfiles_in_output = false
|
||||
|
||||
# When set to "true", the Sass files in the `sass` directory in the site root are compiled.
|
||||
# Sass files in theme directories are always compiled.
|
||||
compile_sass = false
|
||||
|
||||
# When set to "true", the generated HTML files are minified.
|
||||
minify_html = false
|
||||
|
||||
# A list of glob patterns specifying asset files to ignore when the content
|
||||
# directory is processed. Defaults to none, which means that all asset files are
|
||||
# copied over to the `public` directory.
|
||||
# Example:
|
||||
# ignored_content = ["*.{graphml,xlsx}", "temp.*", "**/build_folder"]
|
||||
ignored_content = []
|
||||
|
||||
# Similar to ignored_content, a list of glob patterns specifying asset files to
|
||||
# ignore when the static directory is processed. Defaults to none, which means
|
||||
# that all asset files are copied over to the `public` directory
|
||||
ignored_static = []
|
||||
|
||||
# When set to "true", a feed is automatically generated.
|
||||
generate_feeds = true
|
||||
|
||||
# The filenames to use for the feeds. Used as the template filenames, too.
|
||||
# Defaults to ["atom.xml"], which has a built-in template that renders an Atom 1.0 feed.
|
||||
# There is also a built-in template "rss.xml" that renders an RSS 2.0 feed.
|
||||
feed_filenames = [ "atom.xml" ]
|
||||
|
||||
# The number of articles to include in the feed. All items are included if
|
||||
# this limit is not set (the default).
|
||||
# feed_limit = 20
|
||||
|
||||
# When set to "true", files in the `static` directory are hard-linked. Useful for large
|
||||
# static files. Note that for this to work, both `static` and the
|
||||
# output directory need to be on the same filesystem. Note that the theme's `static`
|
||||
# files are always copied, regardless of this setting.
|
||||
hard_link_static = false
|
||||
|
||||
# The default author for pages
|
||||
author = "Joost Agterhoek"
|
||||
|
||||
# The taxonomies to be rendered for the site and their configuration of the default languages
|
||||
# Example:
|
||||
# taxonomies = [
|
||||
# {name = "tags", feed = true}, # each tag will have its own feed
|
||||
# {name = "tags"}, # you can have taxonomies with the same name in multiple languages
|
||||
# {name = "categories", paginate_by = 5}, # 5 items per page for a term
|
||||
# {name = "authors"}, # Basic definition: no feed or pagination
|
||||
# ]
|
||||
#
|
||||
taxonomies = [
|
||||
{name = "tags", feed = true},
|
||||
]
|
||||
|
||||
# When set to "true", a search index is built from the pages and section
|
||||
# content for `default_language`.
|
||||
build_search_index = false
|
||||
|
||||
# Configuration of the Markdown rendering
|
||||
[markdown]
|
||||
# When set to "true", all code blocks are highlighted.
|
||||
highlight_code = false
|
||||
|
||||
# A list of directories used to search for additional `.sublime-syntax` and `.tmTheme` files.
|
||||
extra_syntaxes_and_themes = []
|
||||
|
||||
# The theme to use for code highlighting.
|
||||
# See below for list of allowed values.
|
||||
highlight_theme = "dracula"
|
||||
|
||||
# When set to "true", emoji aliases translated to their corresponding
|
||||
# Unicode emoji equivalent in the rendered Markdown files. (e.g.: :smile: => 😄)
|
||||
render_emoji = true
|
||||
|
||||
# Whether external links are to be opened in a new tab
|
||||
# If this is true, a `rel="noopener"` will always automatically be added for security reasons
|
||||
external_links_target_blank = false
|
||||
|
||||
# Whether to set rel="nofollow" for all external links
|
||||
external_links_no_follow = false
|
||||
|
||||
# Whether to set rel="noreferrer" for all external links
|
||||
external_links_no_referrer = false
|
||||
|
||||
# Whether smart punctuation is enabled (changing quotes, dashes, dots in their typographic form)
|
||||
# For example, `...` into `…`, `"quote"` into `“curly”` etc
|
||||
smart_punctuation = false
|
||||
|
||||
# Whether to set decoding="async" and loading="lazy" for all images
|
||||
# When turned on, the alt text must be plain text.
|
||||
# For example, `![xx](...)` is ok but `![*x*x](...)` isn’t ok
|
||||
lazy_async_image = false
|
||||
|
||||
# Configuration of the link checker.
|
||||
[link_checker]
|
||||
# Skip link checking for external URLs that start with these prefixes
|
||||
skip_prefixes = [
|
||||
"http://[2001:db8::]/",
|
||||
]
|
||||
|
||||
# Skip anchor checking for external URLs that start with these prefixes
|
||||
skip_anchor_prefixes = [
|
||||
"https://caniuse.com/",
|
||||
]
|
||||
|
||||
# Treat internal link problems as either "error" or "warn", default is "error"
|
||||
internal_level = "warn"
|
||||
|
||||
# Treat external link problems as either "error" or "warn", default is "error"
|
||||
external_level = "error"
|
||||
|
||||
# Various slugification strategies, see below for details
|
||||
# Defaults to everything being a slug
|
||||
[slugify]
|
||||
paths = "on"
|
||||
taxonomies = "on"
|
||||
anchors = "on"
|
||||
# Whether to remove date prefixes for page path slugs.
|
||||
# For example, content/posts/2016-10-08_a-post-with-dates.md => posts/a-post-with-dates
|
||||
# When true, content/posts/2016-10-08_a-post-with-dates.md => posts/2016-10-08-a-post-with-dates
|
||||
paths_keep_dates = false
|
||||
|
||||
[search]
|
||||
# Whether to include the title of the page/section in the index
|
||||
include_title = true
|
||||
# Whether to include the description of the page/section in the index
|
||||
include_description = false
|
||||
# Whether to include the path of the page/section in the index
|
||||
include_path = false
|
||||
# Whether to include the rendered content of the page/section in the index
|
||||
include_content = true
|
||||
# At which character to truncate the content to. Useful if you have a lot of pages and the index would
|
||||
# become too big to load on the site. Defaults to not being set.
|
||||
# truncate_content_length = 100
|
||||
|
||||
# Wether to produce the search index as a javascript file or as a JSON file
|
||||
# Accepted value "elasticlunr_javascript" or "elasticlunr_json"
|
||||
index_format = "elasticlunr_javascript"
|
||||
|
||||
# Optional translation object for the default language
|
||||
# Example:
|
||||
# default_language = "fr"
|
||||
#
|
||||
# [translations]
|
||||
# title = "Un titre"
|
||||
#
|
||||
[translations]
|
||||
|
||||
# Additional languages definition
|
||||
# You can define language specific config values and translations:
|
||||
# title, description, generate_feed, feed_filename, taxonomies, build_search_index
|
||||
# as well as its own search configuration and translations (see above for details on those)
|
||||
[languages]
|
||||
# For example
|
||||
# [languages.fr]
|
||||
# title = "Mon blog"
|
||||
# generate_feed = true
|
||||
# taxonomies = [
|
||||
# {name = "auteurs"},
|
||||
# {name = "tags"},
|
||||
# ]
|
||||
# build_search_index = false
|
||||
|
||||
# You can put any kind of data here. The data
|
||||
# will be accessible in all templates
|
||||
# Example:
|
||||
# [extra]
|
||||
# author = "Famous author"
|
||||
#
|
||||
# author value will be available using {{ config.extra.author }} in templates
|
||||
#
|
||||
[extra]
|
||||
|
||||
header_nav = [
|
||||
{ url = "/", name_en = "/home/", name_fr = "/accueil/" },
|
||||
{ url = "/about", name_en = "/about/", name_fr = "/concernant/" },
|
||||
{ url = "/journal", name_en = "/journal/", name_fr = "/journal/" },
|
||||
{ url = "/blog", name_en = "/blog/", name_fr = "/blog/" }
|
||||
]
|
13
content/_index.md
Normal file
13
content/_index.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
+++
|
||||
template = "index.html"
|
||||
title = "Test home page"
|
||||
+++
|
||||
|
||||
Here you can find a website built with the static site generator [Zola](www.getzola.org). I want to try out a more direct workflow in writing/blogging and keeping up with projects than my [main website built with Grav](https://joostagterhoek.nl) can offer. Liking it so far! :star:
|
||||
|
||||
## Blog posts
|
||||
- 🥇 [My first blog post here](./blog/my-first-post)
|
||||
|
||||
## Projects
|
||||
|
||||
- (add gui-host-lookup)
|
5
content/about.md
Normal file
5
content/about.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
+++
|
||||
title = "About"
|
||||
+++
|
||||
|
||||
Hi there! I'm Joost Agterhoek and this is one of my websites. Currently not my main one, that would be [this lovely place](https://joostagterhoek.nl). This is still a work in progress.
|
7
content/blog/_index.md
Normal file
7
content/blog/_index.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
+++
|
||||
paginate_by = 15
|
||||
title = "All blog posts"
|
||||
sort_by = "date"
|
||||
+++
|
||||
|
||||
> List of all *[tags](/tags)*
|
25
content/blog/my-first-post.md
Normal file
25
content/blog/my-first-post.md
Normal file
|
@ -0,0 +1,25 @@
|
|||
+++
|
||||
title = "My first statically generated post"
|
||||
date = 2024-08-24
|
||||
description = "A blog post about Obsidian, Zola and friction in writing"
|
||||
+++
|
||||
|
||||
I have spent *many* hours searching and trying out different ways to manage my own website. I want it to be a resume, a place where I can blog if I want to (which is not really frequent), and most importantly, a place to showcase my development. Especially that last part has been hard: none of the setups I have tried worked so far.
|
||||
|
||||
## Friction
|
||||
|
||||
So what's wrong? What's holding me back? I've recently seen some YouTube-videos by [Devops Toolbox](https://youtu.be/oLpGahrsSGQ?si=YRMo5k47hx1GDHE-) and his comments on how friction in your workflow can degrade of your intended input. This got me thinking. Very recently I switched both my personal and work notes entirely to [Obsidian](https://obsidian.md/). There, I *finally* did not experience any friction, taking notes. So, I thought, why not make this wonderful writing and note taking experience that [combines Obsidian with Neovim](https://joostagterhoek.nl/blog/learning-obsidian) also work for my online presence?
|
||||
|
||||
## Searching
|
||||
|
||||
Unfortunately, the solution was not so easy: combining [Grav](https://www.getgrav.org) with Obsidian didn't work, because they both interpret and rely on YAML frontmatter. Given that I had already spent quite some time setting up my ideal Obsidian/Nvim-experience, I thought, well, maybe that last bit is just too good to be true. And then, I thought of statically generated websites.
|
||||
|
||||
## Trying
|
||||
|
||||
|
||||
I still don't have the workflow down exactly, but the ideal for me would be the following: I can write from Obsidian (phone or laptop) or Neovim a blog post, something about a project, and have it sync to and update my website seamlessly. After some failed attempts with Git and remote bare repositories (which I misunderstood), I think I *almost* have a working process.
|
||||
1 => I write from my Obsidian vault (phone, laptop, Neovim)
|
||||
2 => Obsidian and Neovim (with nvim.images) show me a preview of the content
|
||||
3 => I sync the content to my server which puts it in the correct place and file ownership context
|
||||
|
||||
I would say that I'm stuck at step 3, but not in an immovable way: I just need to configure everything right, learn how to best leverage [rsync](https://linux.die.net/man/1/rsync) and [inotify-tools](https://manpages.debian.org/bullseye/inotify-tools/inotifywait.1.en.html) to get a somewhat smart syncing going on, and then I'm in business. Oh yeah, also, I hope to get my emoji game on with [this plugin](https://github.com/Allaman/emoji.nvim?tab=readme-ov-file), because, uh, I'm a professional...? See you soon!
|
7
content/blog/my-second-post.md
Normal file
7
content/blog/my-second-post.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
+++
|
||||
title = "Trying out my new Obsidian<->Zola sync"
|
||||
date = 2024-08-26
|
||||
description = "A blog post about my attempt to sync an Obsidian vault from WSL to my Zola-instance on my Yunohost-server."
|
||||
+++
|
||||
|
||||
Here we are! The first post on this particular website that I hope to sync neatly from my workstation's WSL installation to my Yunohost-server. I have been thinking about and trying out various ways to do it: Git repositories, syncing services like Syncthing. But in the end, especially as I take this work laptop with me almost every other day, I don't want anything too sophisticated or requiring real maintenance. So for the sake of reliability and ease-of-use, I want to combine Obsidian (store the static files in a vault folder) with Git (version control those static files to my [Gitea-instance](https://www.code.joostagterhoek.nl) and rsync (sync the static files from my Obsidian vault folder to the server). A script on my server is waiting for new files in a user folder to copy (new or modified) or delete files from the user folder to the root path of Zola. I will try this workflow for this blog post and a few future posts or edits and see how it goes.
|
Loading…
Reference in New Issue
Block a user