# Cecil > Cecil is a command-line PHP application that merges Markdown pages, media and Twig templates to generate a static website. - [News](https://cecil-945.pages.dev/news.md): News about Cecil. - [Documentation](https://cecil-945.pages.dev/documentation.md): Documentation of the Cecil static site generator. - [How to?](https://cecil-945.pages.dev/how-to.md): Articles and tutorials for common Cecil tasks. - [Showcase](https://cecil-945.pages.dev/showcase/): Websites built with Cecil. - [Themes](https://cecil-945.pages.dev/themes/): Ready to use themes for Cecil. - [Starter kits](https://cecil-945.pages.dev/starter-kits/): Cecil provides ready to use starter kits to help you build your website quickly. - [Download](https://cecil-945.pages.dev/download.md): How to download Cecil. ## Documentation - [Getting started](https://cecil-945.pages.dev/documentation/getting-started.md): Discover Cecil, create your first website in a few minutes and learn how a project is organized. - [Quick Start](https://cecil-945.pages.dev/documentation/getting-started/quick-start.md): Install Cecil, create a new website, add pages, preview it locally, then build and deploy it. - [Installation](https://cecil-945.pages.dev/documentation/getting-started/installation.md): Requirements, installation methods (PHAR, standalone binary, package managers, Composer), update and troubleshooting. - [Directory structure](https://cecil-945.pages.dev/documentation/getting-started/directory-structure.md): How source files are organized, how the built website looks like and how files are routed to URLs. - [Starter kits](https://cecil-945.pages.dev/documentation/getting-started/starter-kits.md): Get started quickly with a ready-to-use project template. - [Content](https://cecil-945.pages.dev/documentation/content.md): Create and organize your content: pages, front matter, Markdown, multilingual and dynamic content. - [Pages and sections](https://cecil-945.pages.dev/documentation/content/pages.md): Anatomy of a page, file prefix, sections, sub-sections and home page. - [Front matter](https://cecil-945.pages.dev/documentation/content/front-matter.md): Custom and predefined page variables: menu, taxonomy, schedule, redirect, alias, output, etc. - [Markdown](https://cecil-945.pages.dev/documentation/content/markdown.md): Markdown syntax and extensions: attributes, links, images, table of contents, notes, syntax highlight, etc. - [Multilingual](https://cecil-945.pages.dev/documentation/content/multilingual.md): Translate pages through file name or front matter and link translated pages. - [Dynamic content](https://cecil-945.pages.dev/documentation/content/dynamic-content.md): Use variables and Twig expressions inside page content. - [Templates](https://cecil-945.pages.dev/documentation/templates.md): Work with Twig layouts, templates and components. - [Organization and lookup rules](https://cecil-945.pages.dev/documentation/templates/lookup-rules.md): Kinds of templates, naming convention, built-in templates and how a template is chosen for a page. - [Variables](https://cecil-945.pages.dev/documentation/templates/variables.md): Variables available in templates: site, page and cecil. - [Components](https://cecil-945.pages.dev/documentation/templates/components.md): Create reusable template components. - [Localization](https://cecil-945.pages.dev/documentation/templates/localization.md): Translate texts and localize dates in templates. - [Cache](https://cecil-945.pages.dev/documentation/templates/cache.md): Templates cache and fragments cache. - [Extend](https://cecil-945.pages.dev/documentation/templates/extend.md): Add custom functions and filters, or use a theme. - [Functions and filters](https://cecil-945.pages.dev/documentation/templates/reference.md): Reference of the Twig functions, sorts and filters provided by Cecil. - [Functions](https://cecil-945.pages.dev/documentation/templates/reference/functions.md): url, html, readtime, hash, cache_key, getenv, dump, etc. - [Sorts](https://cecil-945.pages.dev/documentation/templates/reference/sorts.md): Sort collections of pages, menus or taxonomies. - [Filters](https://cecil-945.pages.dev/documentation/templates/reference/filters.md): filter_by, markdown_to_html, toc, slugify, excerpt, highlight, preg_*, etc. - [Assets](https://cecil-945.pages.dev/documentation/assets.md): Handle assets (images, stylesheets, scripts, etc.) with the asset() function: process, optimize and fingerprint them. - [Images](https://cecil-945.pages.dev/documentation/assets/images.md): Resize, crop and convert images, generate responsive images and placeholders. - [CSS, JavaScript and processing](https://cecil-945.pages.dev/documentation/assets/processing.md): Compile Sass, minify, fingerprint, inline or embed assets. - [CDN providers](https://cecil-945.pages.dev/documentation/assets/cdn-providers.md): Configuration examples of image CDN providers (Cloudinary, Cloudimage, TwicPics, imgix, Netlify Image CDN). - [Configuration](https://cecil-945.pages.dev/documentation/configuration.md): Configure your website with the cecil.yml file. - [Site options](https://cecil-945.pages.dev/documentation/configuration/site.md): title, baseurl, menus, taxonomies, theme, date, metatags, debug, etc. - [Languages](https://cecil-945.pages.dev/documentation/configuration/languages.md): Main language and additional languages of a multilingual website. - [Locale codes](https://cecil-945.pages.dev/documentation/configuration/locale-codes.md): List of available locale codes to use with the languages option. - [Pages](https://cecil-945.pages.dev/documentation/configuration/pages.md): Pages directory, sorting, pagination, paths, body, virtual pages, generators, etc. - [Data and static files](https://cecil-945.pages.dev/documentation/configuration/data-static.md): Data files and static files options. - [Assets](https://cecil-945.pages.dev/documentation/configuration/assets.md): Assets directory, compilation, minification, images and CDN. - [Layouts](https://cecil-945.pages.dev/documentation/configuration/layouts.md): Templates directory, auto-escaping, images, translations and components. - [Output](https://cecil-945.pages.dev/documentation/configuration/output.md): Output directory, formats and post-processing. - [Cache](https://cecil-945.pages.dev/documentation/configuration/cache.md): Assets, templates and translations cache. - [Server and optimization](https://cecil-945.pages.dev/documentation/configuration/server.md): Local server headers and output optimization. - [Override configuration](https://cecil-945.pages.dev/documentation/configuration/override.md): Override the configuration with environment variables or a CLI option. - [Commands](https://cecil-945.pages.dev/documentation/commands.md): Reference of Cecil CLI commands and options. - [new:site](https://cecil-945.pages.dev/documentation/commands/new-site.md): Create a new website. - [new:page](https://cecil-945.pages.dev/documentation/commands/new-page.md): Create a new page, optionally from a model. - [serve](https://cecil-945.pages.dev/documentation/commands/serve.md): Preview the website with the built-in server. - [build](https://cecil-945.pages.dev/documentation/commands/build.md): Build the website. - [doctor](https://cecil-945.pages.dev/documentation/commands/doctor.md): Diagnose the configuration, front matter, SEO and links. - [Deploy](https://cecil-945.pages.dev/documentation/deploy.md): Deploy your static website to Jamstack platforms, through continuous deployment or to a static hosting. - [Jamstack platforms](https://cecil-945.pages.dev/documentation/deploy/jamstack-platforms.md): Netlify, Vercel, statichost, Cloudflare Pages, Render. - [Continuous build & deploy](https://cecil-945.pages.dev/documentation/deploy/continuous-deployment.md): GitHub Pages and GitLab CI. - [Static hosting](https://cecil-945.pages.dev/documentation/deploy/static-hosting.md): Deploy to a static hosting (Surge). - [Developers](https://cecil-945.pages.dev/documentation/developers.md): Extend Cecil with PHP, use it as a library and understand its architecture. - [Extend](https://cecil-945.pages.dev/documentation/developers/extend.md): Create custom pages generators, add Twig extensions and post-process output files. - [Library](https://cecil-945.pages.dev/documentation/developers/library.md): Use Cecil as a PHP library: install it with Composer, then build and diagnose programmatically. - [Architecture](https://cecil-945.pages.dev/documentation/developers/architecture.md): Diagram of the build pipeline and key components. ## How to? - [Add a table of contents and notes](https://cecil-945.pages.dev/how-to/markdown-toc-notes.md): Enrich Cecil Markdown pages with a table of contents, note blocks and custom attributes. - [Redirect old URLs](https://cecil-945.pages.dev/how-to/content-redirect-alias.md): Keep old links working in Cecil with the redirect and alias front matter variables. - [Use different settings per environment](https://cecil-945.pages.dev/how-to/config-environments.md): Override the Cecil configuration per environment with CECIL_ environment variables and extra config files. - [Compile, minify and fingerprint CSS and JavaScript](https://cecil-945.pages.dev/how-to/templates-assets-scss.md): Process Sass, CSS and JavaScript files in Cecil templates with the asset function and its filters. - [Organize pages with tags and categories](https://cecil-945.pages.dev/how-to/content-taxonomies.md): Classify Cecil pages with taxonomies like tags and categories, and customize their list pages. - [Build a navigation menu](https://cecil-945.pages.dev/how-to/templates-menus.md): Declare menus in Cecil configuration or front matter and render them in templates. - [Add client-side search](https://cecil-945.pages.dev/how-to/output-search-index.md): Add a client-side search to a Cecil static site with a JSON index of pages and a small JavaScript library. - [Deploy to GitHub Pages with GitHub Actions](https://cecil-945.pages.dev/how-to/deploy-github-pages.md): Build and deploy a Cecil site to GitHub Pages automatically with the Cecil GitHub Action. - [Publish an RSS or JSON feed](https://cecil-945.pages.dev/how-to/output-rss-json-feed.md): Publish RSS, Atom or JSON feeds of your Cecil site with output formats and built-in templates. - [Paginate a list of pages](https://cecil-945.pages.dev/how-to/templates-pagination.md): Split long lists of pages (blog, sections, taxonomies) into several pages with Cecil pagination. - [Translate a site into multiple languages](https://cecil-945.pages.dev/how-to/content-multilingual.md): Translate pages, configuration and template strings of a Cecil site into multiple languages. - [Apply SEO features in templates](https://cecil-945.pages.dev/how-to/templates-metatags.md): Add Cecil SEO features to templates with the metatags partial. - [Optimize images in Markdown](https://cecil-945.pages.dev/how-to/markdown-performance-images.md): Optimize Markdown images in Cecil with responsive sizes, formats, and lazy loading. - [Generate multiple formats of an image in templates](https://cecil-945.pages.dev/how-to/templates-image-formats.md): Generate AVIF and WebP image formats in Cecil templates. - [Render responsive images in templates](https://cecil-945.pages.dev/how-to/templates-responsive-images.md): Render responsive images in Cecil templates with the html function. ## Themes - [Theme Components](https://cecil-945.pages.dev/themes/components/): Theme Components for Cecil. ## Hosting - [Deploy to Netlify](https://cecil-945.pages.dev/hosting/netlify/deploy/): Deploy your site to Netlify with a single click and enjoy seamless hosting. - [Deploy to Vercel](https://cecil-945.pages.dev/hosting/vercel/deploy/): Deploy your site to Vercel with a single click and enjoy seamless hosting.