56,966 blogs · [ { "id": "01a0bdf5-66da-72eb-af5c-d3642d607a7d", "title": "AI token economy (September 2026)", "url": "https://ricard.dev/ai-token-economy-september-2026/", "published_at": "2026-09-13T00:00:00+00:00" }, { "id": "01a087d4-3d3e-713f-bf2f-b92e15644a44", "title": "Setting up Anubis bot protection", "url": "https://ricard.dev/setting-up-anubis-bot-protection/", "published_at": "2026-08-31T00:00:00+00:00" }, { "id": "01a087d4-3d3e-713f-bf2f-b92e16602021", "title": "Cache breaking with package.json versions in Hugo", "url": "https://ricard.dev/cache-breaking-with-packagejson-versions-in-hugo/", "published_at": "2026-08-30T00:00:00+00:00" }, { "id": "01a087d4-3d3e-713f-bf2f-b92e16dfd280", "title": "Building a Git comment system for Hugo", "url": "https://ricard.dev/building-a-git-comment-system-for-hugo/", "published_at": "2026-08-27T00:00:00+00:00" }, { "id": "01a087d4-3d3e-713f-bf2f-b92e17d9ef3f", "title": "Lazy loading modules from npm packages in Hugo", "url": "https://ricard.dev/lazy-loading-modules-from-npm-packages-in-hugo/", "published_at": "2026-08-22T00:00:00+00:00" }, { "id": "01a087d4-3d3e-713f-bf2f-b92e1812124d", "title": "fail2ban jail to block HTTP probing", "url": "https://ricard.dev/fail2ban-jail-to-block-http-probing/", "published_at": "2026-08-21T00:00:00+00:00" }, { "id": "01a087d4-3d3e-713f-bf2f-b92e184c7b11", "title": "CSS Custom Highlight API in Hugo for code blocks", "url": "https://ricard.dev/css-custom-highlight-api-in-hugo-for-code-blocks/", "published_at": "2026-08-19T00:00:00+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62dccd64e7", "title": "Creating a VSCode extension for Hugo commands", "url": "https://ricard.dev/creating-a-vscode-extension-for-hugo-commands/", "published_at": "2026-08-13T00:00:00+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62dda15c1a", "title": "Creating an emoji picker UI", "url": "https://ricard.dev/creating-an-emoji-picker-ui/", "published_at": "2026-08-10T00:00:00+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62de178b82", "title": "Creating new Hugo posts with a bash script", "url": "https://ricard.dev/creating-new-hugo-posts-with-a-bash-script/", "published_at": "2026-08-09T00:00:00+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62df074adb", "title": "Validating Frontmatter in Markdown", "url": "https://ricard.dev/validating-frontmatter-in-markdown/", "published_at": "2026-08-08T00:00:00+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62dfdbfc96", "title": "Migrating from WordPress to Hugo", "url": "https://ricard.dev/migrating-from-wordpress-to-hugo/", "published_at": "2026-08-07T00:00:00+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62e0d93891", "title": "How to delete old Gitea workflow runs", "url": "https://ricard.dev/how-to-delete-old-gitea-workflow-runs/", "published_at": "2026-08-05T17:28:12+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62e130eaf4", "title": "AI token economy (July 2026)", "url": "https://ricard.dev/ai-token-economy-july-2026/", "published_at": "2026-07-28T18:37:34+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62e1fd83a1", "title": "How to generate and download Gitea backups", "url": "https://ricard.dev/how-to-generate-and-download-gitea-backups/", "published_at": "2026-07-27T06:28:25+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62e26448a8", "title": "Moving away from GitHub to self hosted Gitea", "url": "https://ricard.dev/moving-away-from-github-to-self-hosted-gitea/", "published_at": "2026-07-23T08:20:03+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62e2c303b2", "title": "Migrating Mastodon to Docker", "url": "https://ricard.dev/migrating-mastodon-to-docker/", "published_at": "2026-06-09T09:01:49+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62e38acdef", "title": "WordPress 7.0 demands themes to define an editor font", "url": "https://ricard.dev/wordpress-7-0-demands-themes-to-define-an-editor-font/", "published_at": "2026-05-21T09:55:44+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62e3a1a79a", "title": "How to set WordPress block default values", "url": "https://ricard.dev/how-to-set-wordpress-block-default-values/", "published_at": "2026-05-12T07:10:17+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62e3dbe20e", "title": "How to reuse GitHub workflows", "url": "https://ricard.dev/how-to-reuse-github-workflows/", "published_at": "2026-03-19T09:32:41+00:00" }, { "id": "01a087d4-3d3f-70ac-8078-7e62e3fab980", "title": "One of the best AI uses for coding is creating scripts", "url": "https://ricard.dev/one-of-the-best-ai-uses-for-coding-is-creating-scripts/", "published_at": "2026-03-17T10:43:49+00:00" } ] posts Claim your blog
Back to ricard.dev
Blog · corpus.blog/blogs/ricard.dev/posts

ricard.dev

ricard.dev

2026