All Projects → CouscousPHP → Couscous

CouscousPHP / Couscous

Licence: other
Couscous is good.

Projects that are alternatives of or similar to Couscous

Flybook
✈️ FlyBook is a simple utility to generate static website such as gh-pages, manual of you projects
Stars: ✭ 76 (-90.58%)
Mutual labels:  documentation, static-site-generator, markdown
Assemble
Community
Stars: ✭ 3,995 (+395.04%)
Mutual labels:  documentation, static-site-generator, markdown
Mkdocs
Project documentation with Markdown.
Stars: ✭ 13,346 (+1553.78%)
Mutual labels:  documentation, static-site-generator, markdown
Docnado
Rapid documentation tool that will blow you away...
Stars: ✭ 67 (-91.7%)
Mutual labels:  documentation, static-site-generator, markdown
Log4brains
✍️ Log and publish your architecture decisions (ADR)
Stars: ✭ 98 (-87.86%)
Mutual labels:  documentation, static-site-generator, markdown
X0
Document & develop React components without breaking a sweat
Stars: ✭ 1,706 (+111.4%)
Mutual labels:  documentation, static-site-generator, markdown
Docfx
Tools for building and publishing API documentation for .NET projects
Stars: ✭ 2,873 (+256.01%)
Mutual labels:  documentation, static-site-generator, markdown
Restapidocs
Templates for documenting REST APIs
Stars: ✭ 327 (-59.48%)
Mutual labels:  documentation, markdown
Mdx Go
⚡️ Lightning fast MDX-based dev server for progressive documentation
Stars: ✭ 340 (-57.87%)
Mutual labels:  documentation, markdown
Readme
👋 - The documentation for being an Artsy Engineer
Stars: ✭ 380 (-52.91%)
Mutual labels:  documentation, markdown
Easybook
Book publishing as easy as it should be (built with Symfony components)
Stars: ✭ 744 (-7.81%)
Mutual labels:  documentation, markdown
Docsify
🃏 A magical documentation site generator.
Stars: ✭ 19,310 (+2292.81%)
Mutual labels:  documentation, markdown
Phenomic
DEPRECATED. Please use Next.js instead.
Stars: ✭ 3,264 (+304.46%)
Mutual labels:  static-site-generator, markdown
Md To Pdf
Hackable CLI tool for converting Markdown files to PDF using Node.js and headless Chrome.
Stars: ✭ 374 (-53.66%)
Mutual labels:  documentation, markdown
Easy Hexo
🤘 Build your own website with Hexo, the easy way. | 轻松使用 Hexo 建站。
Stars: ✭ 314 (-61.09%)
Mutual labels:  documentation, static-site-generator
Docs
Phalcon Framework documentation
Stars: ✭ 305 (-62.21%)
Mutual labels:  documentation, markdown
Gostatic
Fast static site generator
Stars: ✭ 387 (-52.04%)
Mutual labels:  static-site-generator, markdown
Mdx Docs
📝 Document and develop React components with MDX and Next.js
Stars: ✭ 412 (-48.95%)
Mutual labels:  documentation, markdown
Bluedoc
An open-source document management tool for enterprise self host.
Stars: ✭ 579 (-28.25%)
Mutual labels:  documentation, markdown
Verb
HEADS UP! Verb is going though a major transition, we've completely refactored everything from the ground up. If you're interested, please see the dev branch.
Stars: ✭ 442 (-45.23%)
Mutual labels:  documentation, markdown

layout: home

Couscous generates a GitHub pages website from your markdown documentation.

Build Status Average time to resolve an issue Percentage of issues still open

Everything is documented on couscous.io.

What follows is the documentation for contributors.

How Couscous works?

Couscous was designed to be as simple as possible. By embracing simplicity, it becomes extremely simple to extend.

Website generation

The website generation is composed of a list of steps to process the Project model object:

interface Step
{
    /**
     * Process the given project.
     *
     * @param Project $project
     */
    public function __invoke(Project $project);
}

Steps are very granular, thus extremely easy to write and test. For example:

  • LoadConfig: load the couscous.yml config file
  • InstallDependencies: install the dependencies (using yarn, npm or bower)
  • LoadMarkdownFiles: load the content of all the *.md files in memory
  • RenderMarkdown: render the markdown content
  • WriteFiles: write the in-memory processed files to the target directory

For example, here is a step that would preprocess Markdown files to put the word "Couscous" in bold:

class PutCouscousInBold implements \Couscous\Step
{
    public function __invoke(Project $project)
    {
        /** @var MarkdownFile[] $markdownFiles */
        $markdownFiles = $project->findFilesByType('Couscous\Model\MarkdownFile');

        foreach ($markdownFiles as $file) {
            $file->content = str_replace('Couscous', '**Couscous**', $file->content);
        }
    }
}

Couscous uses PHP-DI for wiring everything together with dependency injection.

The full list of steps is configured in src/Application/config.php.

Website deployment

Couscous deploys by cloning (in a temp directory) the current repository, checking out the gh-pages branch, generating the website inside it, committing and pushing.

In the future, Couscous will support several deployment strategies.

Contributing

See the CONTRIBUTING file.

License

Couscous is released under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].