{"id":23084305,"url":"https://github.com/swetrix/blog-posts","last_synced_at":"2026-01-16T00:54:44.938Z","repository":{"id":198949013,"uuid":"701869815","full_name":"Swetrix/blog-posts","owner":"Swetrix","description":"Swetrix Analytics blog posts","archived":false,"fork":false,"pushed_at":"2024-07-17T23:00:44.000Z","size":78,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-09T03:27:43.047Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Swetrix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-07T19:58:38.000Z","updated_at":"2024-07-17T23:00:47.000Z","dependencies_parsed_at":"2024-01-12T04:06:41.833Z","dependency_job_id":"5d87a155-527b-4946-9dc0-7d0c4cd9f113","html_url":"https://github.com/Swetrix/blog-posts","commit_stats":null,"previous_names":["swetrix/blog-posts"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swetrix%2Fblog-posts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swetrix%2Fblog-posts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swetrix%2Fblog-posts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Swetrix%2Fblog-posts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Swetrix","download_url":"https://codeload.github.com/Swetrix/blog-posts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247022887,"owners_count":20870885,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-16T15:51:00.898Z","updated_at":"2026-01-16T00:54:44.932Z","avatar_url":"https://github.com/Swetrix.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://swetrix.com/assets/logo_white.png\"\u003e\n  \u003cimg alt=\"\" src=\"https://swetrix.com/assets/logo_blue.png\" width=\"360\"\u003e\n\u003c/picture\u003e\n\u003cbr /\u003e\u003cbr /\u003e\n\nThis repository contains blog posts for [Swetrix](https://swetrix.com).\n\n## Development\n\n### Code Formatting\n\nThis project uses [Prettier](https://prettier.io/) to ensure consistent formatting of Markdown files.\n\n#### Available Scripts\n\n- `npm run format` - Format all Markdown files\n- `npm run format:check` - Check if files need formatting (without making changes)\n\n## Syntax\n\nBlog posts follow the regular markdown syntax, with the following additional features.\n\n### Metadata\n\nEvery blog post must contain a metadata block at the beginning of the file.\n\n```markdown\n---\ntitle: 'Title of the blog post'\nintro: 'Intro of the blog post' (optional)\ndate: November 28, 2025 (optional)\nhidden: false (true/false) - if true, the post will not be visible on the /blog page, but is still accessible at the direct URL\nstandalone: true (true/false) - if true, the post will be displayed as a standalone page, without the /blog prefix\nauthor: Author name (optional)\ntwitter_handle: Author Twitter handle (optional; without the @ prefix)\n---\n```\n\n### UI Components\n\nYou can include UI components in your blog posts. They follow the syntax of `::COMPONENT_NAME::`.\n\nAvailable components:\n\n- `::TABLE_OF_CONTENTS::` - autogenerated table of contents for the blog post based on the headings in the post.\n- `::CTA:TIME_TO_SWITCH::` - a CTA section to switch to Swetrix from other analytics tools.\n- `::CTA:TIME_TO_DITCH_GOOGLE::` - a CTA section to ditch Google Analytics and switch to Swetrix.\n- `::SWETRIX_LOGO::` - a Swetrix logo, font size inherited from the surrounding text.\n\n### Emojis\n\n`✅`, `⚠️` and `❌` emojis are replaced with proper SVG entities on render.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswetrix%2Fblog-posts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswetrix%2Fblog-posts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswetrix%2Fblog-posts/lists"}