{"id":13495267,"url":"https://github.com/CONNECT-platform/codedoc","last_synced_at":"2025-03-28T16:32:05.959Z","repository":{"id":40793431,"uuid":"247532360","full_name":"CONNECT-platform/codedoc","owner":"CONNECT-platform","description":"Create beautiful modern documentation websites.","archived":false,"fork":false,"pushed_at":"2023-03-15T04:58:15.000Z","size":923,"stargazers_count":427,"open_issues_count":28,"forks_count":12,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-10-30T04:49:37.583Z","etag":null,"topics":["blog","blogging","docs","documentation","jamstack"],"latest_commit_sha":null,"homepage":"https://codedoc.cc","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/CONNECT-platform.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"loreanvictor"}},"created_at":"2020-03-15T19:01:51.000Z","updated_at":"2024-10-04T13:01:00.000Z","dependencies_parsed_at":"2024-01-16T10:09:04.443Z","dependency_job_id":null,"html_url":"https://github.com/CONNECT-platform/codedoc","commit_stats":{"total_commits":199,"total_committers":3,"mean_commits":66.33333333333333,"dds":"0.10552763819095479","last_synced_commit":"9995d393458291e9c7ab1a0ef078aac151851082"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CONNECT-platform%2Fcodedoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CONNECT-platform%2Fcodedoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CONNECT-platform%2Fcodedoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CONNECT-platform%2Fcodedoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CONNECT-platform","download_url":"https://codeload.github.com/CONNECT-platform/codedoc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222395786,"owners_count":16977623,"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","blogging","docs","documentation","jamstack"],"created_at":"2024-07-31T19:01:33.050Z","updated_at":"2024-10-31T10:30:52.391Z","avatar_url":"https://github.com/CONNECT-platform.png","language":"TypeScript","funding_links":["https://github.com/sponsors/loreanvictor"],"categories":["TypeScript"],"sub_categories":[],"readme":"![CODEDOC](https://raw.githubusercontent.com/CONNECT-platform/codedoc/master/repo-banner.svg?sanitize=true)\n\n\n```bash\nnpm i -g @codedoc/cli\n```\n\n**CODEDOC** is an open-source tool that helps you with creating beautiful and modern software documentation. It creates a JAMStack app from your markdown files that you can easily deploy on services such as GitHub Pages. [Read the docs for more info](https://codedoc.cc).\n\n\u003cbr\u003e\u003cbr\u003e\n\n# Installation\n\n```bash\nnpm i -g @codedoc/cli\n\ncd my-project\ncodedoc init\n```\n\n[Read the docs for more info](https://codedoc.cc/docs/cli#setting-up-a-project).\n\n\u003cbr\u003e\u003cbr\u003e\n\n# Usage\n\n```bash\ncodedoc serve\n```\n\nModify your markdown files (by default in `docs/md/`, for example `docs/md/index.md`) and see changes in real time. When you are done, build your documentations for deployment:\n\n```bash\ncodedoc build\n```\n\nand if you are for example using GitHub Pages, deploy by pushing:\n\n```bash\ngit add -A\ngit commit -m \"added docs\"\ngit push\n```\n\n[Read the docs for more info](https://codedoc.cc).\n\n\u003cbr\u003e\u003cbr\u003e\n\n# Prior Work\n\nWhile there are multiple frameworks and tools that help with building websites from a bunch of markdown files, I will only focus on those who are specifically designed for writing documentation/wikis, since the rest naturally come with a configuration overhead. You can [read this section](https://codedoc.cc/#features) for more info on **CODEDOC**'s features compared to the works mentioned here.\n\n## Jekyll\n\nA lot of the ideas of the workflow are shared between Jekyll and **CODEDOC**. The reason I created **CODEDOC** despite Jekyll being out there because:\n\n- Jekyll is a bit old-school and hence heavy handed by modern frontend standards (no component structure, etc),\n- Jekyll's themes are not up to modern standards, and it is quite some work to create new themes,\n- Jekyll is not yet specifically designed for documentation and project wikis (thats why GitHub has a separate wiki section for projects despite supporting Jekyll out of the box).\n\n## GitBook\n\nGitBook is a nice SaaS built specifically for documentation and project wikis. However:\n- It lacks some essential features (such as code-snippet hints),\n- It hides some essential features behind a paywall (for example the dark mode), which hurts open-source projects,\n- It is not customizable enough for my taste.\n\n\u003cbr\u003e\u003cbr\u003e\n\n# Acknowledgements\n\nThe following tools and open-source libraries are used by **CODEDOC**, so shout-out to their creators/maintainers/collaborators:\n\n[**webpack**](https://webpack.js.org)\\\nUsed by [CONNECTIVE SDH](https://github.com/CONNECT-platform/connective-sdh) as client-side code bundler. CONNECTIVE SDH is the basis of server-side/client-side rendering and components of **CODEDOC**.\n\n[**jsdom**](https://github.com/jsdom/jsdom), [**jsdom-global**](https://github.com/rstacruz/jsdom-global)\\\nUsed by [CONNECTIVE SDH](https://github.com/CONNECT-platform/connective-sdh) for ease of HTML element creation on the server side.\n\n[**Marked.js**](https://marked.js.org/)\\\nUsed by [@connectv/marked](https://github.com/CONNECT-platform/marked) as markdown processor (@connectv/marked enables using TSX-components for processing markdown and powers the custom components system).\n\n[**JSS**](https://cssinjs.org)\\\nUsed by [CONNECTIVE JSS Theme](https://github.com/CONNECT-platform/connective-jss-theme) which is the themed-component library used by **CODEDOC**.\n\n[**Prism**](https://prismjs.com)\\\nUsed for syntax highlighting in code snippets.\n\n[**Color Hunt**](https://colorhunt.co/)\\\nFor picking the default colors (also thanks to Niyousha Karimi for helping on that front, besides helping with usability testing).\n\n[**RxJS**](https://rxjs-dev.firebaseapp.com)\\\nUsed by [CONNECTIVE](https://github.com/CONNECT-platform/connective), [CONNECTIVE HTML](https://github.com/CONNECT-platform/connective-html) (which is the TSX-Component library behind **CODEDOC** components) for client-side interactions \nand [RxLine](https://github.com/loreanvictor/rxline) for asynchronous build process.\n\n[**ts-node**](https://github.com/TypeStrong/ts-node), [**ts-node-dev**](https://github.com/whitecolor/ts-node-dev)\\\nUsed by the CLI to run the build process and watch over markdown/config files.\n\n[**Express**](https://expressjs.com)\\\nUsed for the local development server.\n\n[**ShellJS**](https://github.com/shelljs/shelljs), [**chalk**](https://github.com/chalk/chalk)\\\nPowering the CLI and making it look nice.\n\n[**select**](https://github.com/zenorocha/select)\\\nUsed for convenient copy-to-clipboard functionality.\n\n[**KaTeX**](https://katex.org)\\\nUsed for rendering LaTeX formulas.\n\n[**color**](https://github.com/Qix-/color)\\\nUsed for automatic color deduction/manipulation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCONNECT-platform%2Fcodedoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCONNECT-platform%2Fcodedoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCONNECT-platform%2Fcodedoc/lists"}