{"id":17705097,"url":"https://github.com/stenopephp/stenope","last_synced_at":"2025-04-07T07:08:55.427Z","repository":{"id":37800267,"uuid":"277568747","full_name":"StenopePHP/Stenope","owner":"StenopePHP","description":"The static website generator for Symfony developers","archived":false,"fork":false,"pushed_at":"2024-04-08T09:09:58.000Z","size":3393,"stargazers_count":100,"open_issues_count":14,"forks_count":8,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-14T06:05:17.589Z","etag":null,"topics":["builder","hacktoberfest","highlighting","static-site-generator","symfony"],"latest_commit_sha":null,"homepage":"https://stenopephp.github.io/Stenope/","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/StenopePHP.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}},"created_at":"2020-07-06T14:44:51.000Z","updated_at":"2024-04-15T10:34:33.919Z","dependencies_parsed_at":"2023-11-06T10:27:46.457Z","dependency_job_id":"31238c34-6de7-454d-b5e2-6640ead3b6b2","html_url":"https://github.com/StenopePHP/Stenope","commit_stats":{"total_commits":329,"total_committers":8,"mean_commits":41.125,"dds":0.6352583586626139,"last_synced_commit":"8b53cfb1c4644227d07f8ab411f8bfdc2a917c73"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StenopePHP%2FStenope","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StenopePHP%2FStenope/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StenopePHP%2FStenope/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StenopePHP%2FStenope/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StenopePHP","download_url":"https://codeload.github.com/StenopePHP/Stenope/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247608151,"owners_count":20965952,"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":["builder","hacktoberfest","highlighting","static-site-generator","symfony"],"created_at":"2024-10-24T22:06:21.216Z","updated_at":"2025-04-07T07:08:55.386Z","avatar_url":"https://github.com/StenopePHP.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stenope\n\n\u003e The static website generation tool for Symfony.\n\n![CLI](cli.png)\n\n## Why another static site generator?\n\nWe're Symfony developers that couldn't find a static website generator that bended to our needs.\n\nWe needed a way of generating static websites that:\n\n- Doesn't impose a format, a structure or a location for the data.\n- Runs in a [Symfony](symfony.com) environment.\n- Allow us to develop virtually any feature we might need.\n\nStenope does that.\n\n## Installation\n\nIn your existing Symfony app:\n\n```shell\ncomposer require stenope/stenope\n```\n\nIf you plan to create a new app from scratch, you can give a try to the [Stenope Skeleton](https://stenopephp.github.io/skeleton/).\n\n## Usage\n\n````shell\nbin/console -e prod cache:clear\nbin/console -e prod stenope:build ./static\n````\n\nYour Symfony app is now a static website in: `./static`! ✨\n\n**Next:** [learn more about Stenope's content management system](doc/loading-content.md).\n\n## Philosophy and goals\n\nStenope was designed with these goals in mind:\n\n- Stenope meets your needs, not the other way around.\n- Stenope runs in any Symfony project out of the box, connects with standard Symfony components and feels natural to Symfony developers.\n- Stenope is highly extensible: features can be replaced, added or removed.\n\n## How it works\n\n- 🔍 Stenope scans your Symfony app (like a search engine crawler would) and dumps every page into a static HTML file.\n- 🛠 Stenope provides tools for loading and parsing various data sources (like local Markdown files or distant headless CMS).\n- 🖌 Stenope enriches the parsed data by applying a series of processors (like Syntax Highlighting, slug generation, etc.).\n- 🧲 Stenope finally hydrates your custom PHP objects with the enriched data and provides interfaces for listing and retrieving them (like an ORM would).\n- ⚙️ Stenope gives you a lot of control over the whole process by providing entrypoints, interfaces and default implementations that are entirely replaceable.\n\n## What Stenope is not\n\nStenope is not a ready-to-use bloging system: but you could quickly _write your own_ blog system with it!\n\n## In-depth documentation\n\n### Features\n\n- [Loading and parsing content](doc/loading-content.md)\n- [Supported formats](doc/supported-formats.md)\n- [Supported sources](doc/supported-sources.md)\n- [CLI usage](doc/cli.md)\n- [Debug contents](doc/cli.md#debug)\n- [Syntax highlighting](doc/syntax-highlighting.md)\n- [Linking contents](doc/link-contents.md)\n- [Configuring the build](doc/build-configuration.md)\n- [Twig integration](doc/twig.md)\n\n### Cookbooks\n\n\u003c!-- TODO - [Specifying host and base url]() --\u003e\n\u003c!-- TODO - [Adding custom files to the build]() --\u003e\n\u003c!-- TODO - [Data source: writing a custom Provider]() --\u003e\n\u003c!-- TODO - [Data format: writing a custom Decoder]() --\u003e\n- [Data manipulation: writing a custom Processor](doc/cookbooks/processors.md)\n- [Exposing a not found page](doc/cookbooks/not-found-page.md)\n\u003c!-- TODO - [How to automatically deploy and host a static site]() --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstenopephp%2Fstenope","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstenopephp%2Fstenope","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstenopephp%2Fstenope/lists"}