{"id":13961752,"url":"https://github.com/vixalien/vixalien_deno_blog","last_synced_at":"2025-03-29T23:42:03.596Z","repository":{"id":56872287,"uuid":"526820654","full_name":"vixalien/vixalien_deno_blog","owner":"vixalien","description":"Modified version of deno_blog just for me!","archived":false,"fork":false,"pushed_at":"2024-01-18T02:32:17.000Z","size":1678,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-05T01:29:45.992Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vixalien.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-08-20T04:04:44.000Z","updated_at":"2023-07-06T06:42:30.000Z","dependencies_parsed_at":"2023-01-31T02:00:33.649Z","dependency_job_id":"85926510-8a09-4197-bfbf-8df7dd8142d5","html_url":"https://github.com/vixalien/vixalien_deno_blog","commit_stats":{"total_commits":62,"total_committers":21,"mean_commits":"2.9523809523809526","dds":0.7419354838709677,"last_synced_commit":"0ef8917b30a459cf9e5414d7c0b8d0ec24d8d927"},"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixalien%2Fvixalien_deno_blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixalien%2Fvixalien_deno_blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixalien%2Fvixalien_deno_blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vixalien%2Fvixalien_deno_blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vixalien","download_url":"https://codeload.github.com/vixalien/vixalien_deno_blog/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246258862,"owners_count":20748573,"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-08-08T17:01:24.872Z","updated_at":"2025-03-29T23:42:03.572Z","avatar_url":"https://github.com/vixalien.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Modified Blog\n\nThis is a modified `deno-blog` for my personal use. It's modified so that it may\nbe easier for me to use.\n\nFeatures:\n\n- Removes UnoCSS\n- Uses `marked` instead of `gfm`\n- Provides 2 example middleware: `highlight` \u0026 `image-container`, both for\n  markdown\n- Allows non-array tags (will be treated as one tag string)\n- Allows `created` to be used as `publish_date` for frontmatter\n- Ships 0 JS\n- Add support for `links` (link rel, not social links which are already\n  supported)\n- Uses plain CSS for styling\n- Allows multiple `styles` instead of a single `style`\n- Adds support for large `og:image`\n\nMinimal boilerplate blogging. All you need is one boilerplate JavaScript file\nthat has 2 lines of code:\n\n```js\nimport blog from \"https://deno.land/x/vixalien_deno_blog/blog.tsx\";\n\nblog();\n```\n\n## Getting started\n\nTo initialize your own blog you can run following script:\n\n```shellsession\n$ deno run -r --allow-read --allow-write https://deno.land/x/blog/init.ts ./directory/for/blog/\n```\n\n_This command will setup a blog with a \"Hello world\" post so you can start\nwriting right away._\n\nStart local server with live reload:\n\n```shellsession\n$ deno task dev\n```\n\nTo ensure the best development experience, make sure to follow\n[Set up your environment](https://deno.land/manual/getting_started/setup_your_environment)\nfrom the Deno Manual.\n\n## Configuration\n\nYou can customize your blog as follows:\n\n```js\nimport blog, {\n  ga,\n  redirects,\n} from \"https://deno.land/x/vixalien_deno_blog/blog.tsx\";\nimport { unocss_opts } from \"./unocss.ts\";\n\nblog({\n  author: \"Dino\",\n  title: \"My Blog\",\n  description: \"The blog description.\",\n  avatar: \"avatar.png\",\n  avatarClass: \"rounded-full\",\n  links: [\n    { title: \"Email\", url: \"mailto:bot@deno.com\" },\n    { title: \"GitHub\", url: \"https://github.com/denobot\" },\n    { title: \"Twitter\", url: \"https://twitter.com/denobot\" },\n  ],\n  lang: \"en\",\n  // localised format based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat\n  dateFormat: (date) =\u003e\n    new Intl.DateTimeFormat(\"en-GB\", { dateStyle: \"long\" }).format(date),\n  middlewares: [\n    ga(\"UA-XXXXXXXX-X\"),\n    redirects({\n      \"/foo\": \"/my_post\",\n      // you can skip leading slashes too\n      \"bar\": \"my_post2\",\n    }),\n  ],\n  unocss: unocss_opts, // check https://github.com/unocss/unocss\n  favicon: \"favicon.ico\",\n});\n```\n\n![Preview](./.github/preview.png)\n\n## Customize the header and footer\n\nBy default, we render the header and footer with builtin template using the blog\nsettings. You can customize them as follows:\n\n```jsx\n/** @jsx h */\n\nimport blog, { h } from \"https://deno.land/x/vixalien_deno_blog/blog.tsx\";\n\nblog({\n  title: \"My Blog\",\n  header: \u003cheader\u003eYour custom header\u003c/header\u003e,\n  showHeaderOnPostPage: true, // by default, the header will only show on home, set showHeaderOnPostPage to true to make it show on each post page\n  section: (post) =\u003e (\n    \u003csection\u003eYour custom section with access to Post props.\u003c/section\u003e\n  ),\n  footer: \u003cfooter\u003eYour custom footer\u003c/footer\u003e,\n});\n```\n\nBeware to use `.tsx` extension to this extent.\n\n## Hosting with Deno Deploy\n\nTo deploy the project to the live internet, you can use\n[Deno Deploy](https://deno.com/deploy):\n\n1. Push your project to GitHub.\n2. [Create a Deno Deploy project](https://dash.deno.com/new).\n3. [Link](https://deno.com/deploy/docs/projects#enabling) the Deno Deploy\n   project to the `main.tsx` file in the root of the created repository.\n4. The project will be deployed to a public `$project.deno.dev` subdomain.\n\n## Self hosting\n\nYou can also self-host the blog, in such case run:\n\n```shellsession\n$ deno task serve\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvixalien%2Fvixalien_deno_blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvixalien%2Fvixalien_deno_blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvixalien%2Fvixalien_deno_blog/lists"}