{"id":36997055,"url":"https://github.com/aheenam/mozhi","last_synced_at":"2026-01-13T23:52:44.620Z","repository":{"id":56942364,"uuid":"109163275","full_name":"aheenam/mozhi","owner":"aheenam","description":"A Laravel package for a static file based CMS","archived":true,"fork":false,"pushed_at":"2019-02-28T19:50:03.000Z","size":65,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-03-12T10:20:26.679Z","etag":null,"topics":["cms","laravel","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/aheenam.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-01T17:44:14.000Z","updated_at":"2024-03-12T10:20:26.680Z","dependencies_parsed_at":"2022-08-21T07:50:31.747Z","dependency_job_id":null,"html_url":"https://github.com/aheenam/mozhi","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/aheenam/mozhi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aheenam%2Fmozhi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aheenam%2Fmozhi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aheenam%2Fmozhi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aheenam%2Fmozhi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aheenam","download_url":"https://codeload.github.com/aheenam/mozhi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aheenam%2Fmozhi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28405571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T21:51:37.118Z","status":"ssl_error","status_checked_at":"2026-01-13T21:45:14.585Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cms","laravel","php"],"created_at":"2026-01-13T23:52:43.380Z","updated_at":"2026-01-13T23:52:44.611Z","avatar_url":"https://github.com/aheenam.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"*Do not use in production yet*\n\nMozhi\n===\n\nThe package provides a simple way to add a static files based CMS to your Laravel project. It uses Markdown files as the content provider and uses Laravel's Blade for templating.\n\n## Requirements\n\nThis package requires `PHP 7.2` and a Laravel version `\u003e= 5.7`.\n\nInstallation\n---\nYou can install the package via composer:\n\n```bash\ncomposer require aheenam/mozhi\n```\n\nConfiguration\n---\n\nMozhi comes with a set of configuration possibilities, so make sure to check the config file's content:\n\n```php\n\u003c?php\n\nreturn [\n\n    /**\n     * The name of the disk Laravel's filesystem should use to search\n     * for the content files. Mozhi expects a content directory inside of\n     * the disk where the contents a located\n     *\n     * Default is set to local, that means storage_path('app/')\n     * will be used to look for a contents directory\n     */\n    'content_disk' =\u003e env('MOZHI_CONTENT_DISK', 'local'),\n\n    /**\n     * the path where the themes are located, must be relative to the\n     * base_path\n     */\n    'theme_path' =\u003e env('MOZHI_THEME_PATH', 'resources/themes/'),\n\n    /**\n     * The name of the theme that should be used to render the views\n     */\n    'theme' =\u003e env('MOZHI_THEME', 'default'),\n\n    /**\n     * The name of the template that should be used if no template was defined\n     * in the page's markdown file\n     */\n    'default_template' =\u003e env('MOZHI_DEFAULT_TEMPLATE', 'page'),\n\n    /**\n     * Add all the CommonMark extension you want to use\n     */\n    'markdown_extensions' =\u003e [\n        new \\Webuni\\CommonMark\\TableExtension\\TableExtension()\n    ]\n\n];\n```\n\nAll the keys are commented well enough, so the usage should not be too tough. If there is something not that clear, feel free to post an issue.\n\nAs you see all the config variables can be set using the env file, but if you want, you can also publish them to change the values.\n\n```bash\n$ php artisan vendor:publish --provider=\"Aheenam\\Mozhi\\MozhiServiceProvider\"\n```\n\nUsage\n---\n\nAfter the setup all of your routes will be caught by Mozhi and the package will try to find the appropriate content file for it.\n\nConsider the config as above and then a call to `/blog/awesome-blog`. Now Mozhi will look for a file in `storage/contents/blog/` that is named `awesome-blog.md`.\n\nIf it is found, it will render the specified template of the currenty theme and pass the content and the header of the markdown file.\n\nThe MarkDown files are parsed using Spatie's awesome package called [YAML Front Matter](https://github.com/spatie/yaml-front-matter) before parsing the markdown, so you can (and should decorate) your markdown files.\n\nSo in your template file you can use the `$content` and the `$meta` variables. First is the html of the content file and `$meta` is an array of all header data specified in the Markdown file.\n\n\u003e Note: If no template was specified it will fallback to the `default_theme` specified in the config.\n\n### Parsing Markdown\n\nMozhi uses the CommonMark implementation of [The PHP League](https://github.com/thephpleague/commonmark) to parse Markdown to HTML. They offer a way to extend the specification. Mozhi uses the Table Extension by default, but you can manage all the extension by changing the `markdown_extensions` array in the config.\n\nChangelog\n---\nCheck [CHANGELOG](CHANGELOG.md) for the changelog\n\nTesting\n---\nTo run tests use\n\n    $ composer test\n\nContributing\n---\n\n\nSecurity\n---\nIf you discover any security related issues, please email rathes@aheenam.com or use the issue tracker of GitHub.\n\nAbout\n---\nAheenam is a small company from NRW, Germany creating custom digital solutions. Visit [our website](https://aheenam.com)\nto find out more about us.\n\nLicense\n---\nThe MIT License (MIT). Please see [License File](https://github.com/Aheenam/laravel-translatable/blob/master/LICENSE)\nfor more information.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faheenam%2Fmozhi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faheenam%2Fmozhi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faheenam%2Fmozhi/lists"}