{"id":19235108,"url":"https://github.com/willkirkmanm/blog","last_synced_at":"2026-03-05T00:06:43.880Z","repository":{"id":226495637,"uuid":"767982352","full_name":"WillKirkmanM/blog","owner":"WillKirkmanM","description":"🛣 Full Text Searchable SSG NextJS 14 Blog (supporting DOCX and MDX content)","archived":false,"fork":false,"pushed_at":"2024-05-11T12:26:33.000Z","size":1418,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-11T05:34:03.114Z","etag":null,"topics":["blog","docx","full-text-search","mdx","nextjs14","shadcn-ui","ssg"],"latest_commit_sha":null,"homepage":"https://steady.parsonlabs.com","language":"TypeScript","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/WillKirkmanM.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":"2024-03-06T08:56:30.000Z","updated_at":"2024-06-23T10:13:19.000Z","dependencies_parsed_at":"2024-03-10T09:36:53.298Z","dependency_job_id":"6711d18d-fe83-4c6d-963b-a7ad57300cee","html_url":"https://github.com/WillKirkmanM/blog","commit_stats":null,"previous_names":["willkirkmanm/steady","willkirkmanm/blog"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WillKirkmanM%2Fblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WillKirkmanM%2Fblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WillKirkmanM%2Fblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WillKirkmanM%2Fblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WillKirkmanM","download_url":"https://codeload.github.com/WillKirkmanM/blog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241143732,"owners_count":19917213,"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":["blog","docx","full-text-search","mdx","nextjs14","shadcn-ui","ssg"],"created_at":"2024-11-09T16:15:55.933Z","updated_at":"2026-03-05T00:06:43.807Z","avatar_url":"https://github.com/WillKirkmanM.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Steady\n\u003e Server Side Generated, MDX written articles created with NextJS 14\n\n![Google Lighthouse Report](https://github.com/WillKirkmanM/steady/assets/98240335/33bdd03e-2a9b-45af-92ae-083e53ae1ac3)\n\n## Getting Started\nInstall Dependencies:\n```bash\nbun install\n```\n\nRun in Development mode:\n```bash\nbun dev\n```\n\nBuild for Production:\n```bash\nbun build\n```\n\nStart Production Build:\n```bash\nbun start\n```\n\n## Writing Articles\nArticles are written in the `content/articles` folder. The name of the file before the `.mdx` will be the url. \n\nIn MDX you can set the title and description of the article enclosed by the `---` at the top of the file:\n\n```mdx\n---\ntitle: \"Hello, World!\"\ndescription: \"What a day to be alive\"\n---\n```\n\n## Custom Components\nIf you would like to use Custom Components in your articles, you need to include them in the `components/MDX/TheMDXRemote.tsx`:\n\n```\nimport { Button } from \"@/components/ui/button\"\n\nconst components = {\n  Button\n}\n\n```\n\nYou can also modify existing behaviour:\n```ts\n  const components = {\n    h1: (props) =\u003e \u003ch1 className=\"text-3xl\" {...props} /\u003e,\n    ol: (props: any) =\u003e \u003col className=\"list-decimal\" {...props} /\u003e\n  }\n```\n\nthen in your article:\n```mdx\nPsychologically, the button has to be one of the most appealing elements on the page. Get that wrong and you fail. Take this button for example:\n\n\u003cButton\u003eLogin\u003c/Button\u003e\n\nEntranced by the look, you find the feel... and click it. Simply perfect\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillkirkmanm%2Fblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwillkirkmanm%2Fblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwillkirkmanm%2Fblog/lists"}