{"id":15150698,"url":"https://github.com/flyntwp/flynt-starter-theme","last_synced_at":"2025-09-29T20:30:57.060Z","repository":{"id":76206059,"uuid":"73288396","full_name":"flyntwp/flynt-starter-theme","owner":"flyntwp","description":"The starter theme for building Flynt projects.","archived":true,"fork":false,"pushed_at":"2019-03-15T12:59:20.000Z","size":15632,"stargazers_count":69,"open_issues_count":16,"forks_count":4,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-09-26T14:40:52.913Z","etag":null,"topics":["acf","composer","flynt-framework","gulp","jeet","stylus","timber","twig","webpack","wordpress","wordpress-boilerplate","wordpress-developer-theme","wordpress-development","wordpress-framework","wordpress-starter-theme","wordpress-theme","yarn"],"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/flyntwp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-09T13:54:01.000Z","updated_at":"2024-01-03T15:23:04.000Z","dependencies_parsed_at":"2023-03-11T21:44:58.388Z","dependency_job_id":null,"html_url":"https://github.com/flyntwp/flynt-starter-theme","commit_stats":{"total_commits":610,"total_committers":16,"mean_commits":38.125,"dds":0.8016393442622951,"last_synced_commit":"5ecd3d4222ccc62a31530e6a8b447313f41a2dc0"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyntwp%2Fflynt-starter-theme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyntwp%2Fflynt-starter-theme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyntwp%2Fflynt-starter-theme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyntwp%2Fflynt-starter-theme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyntwp","download_url":"https://codeload.github.com/flyntwp/flynt-starter-theme/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234659851,"owners_count":18867628,"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":["acf","composer","flynt-framework","gulp","jeet","stylus","timber","twig","webpack","wordpress","wordpress-boilerplate","wordpress-developer-theme","wordpress-development","wordpress-framework","wordpress-starter-theme","wordpress-theme","yarn"],"created_at":"2024-09-26T14:40:32.533Z","updated_at":"2025-09-29T20:30:51.601Z","avatar_url":"https://github.com/flyntwp.png","language":"PHP","readme":"# flynt-starter-theme\n\n[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme)\n[![Build Status](https://travis-ci.org/flyntwp/flynt-starter-theme.svg?branch=master)](https://travis-ci.org/flyntwp/flynt-starter-theme)\n[![Code Quality](https://img.shields.io/scrutinizer/g/flyntwp/flynt-starter-theme.svg)](https://scrutinizer-ci.com/g/flyntwp/flynt-starter-theme/?branch=master)\n\nThe starter theme for building [Flynt](https://flyntwp.com/) projects.\n\n**:warning: DEPRECATED. This repository is no longer in active development. For the latest version of Flynt please use the [new Flynt repository](https://github.com/flyntwp/flynt). :warning:**\n\n## Table of Contents\n\n- [Background](#background)\n- [Install](#install)\n- [Usage](#usage)\n  - [Configuring Page Templates](#configuring-page-templates)\n  - [Components](#components)\n  - [Areas](#areas)\n  - [Features](#features)\n  - [Theme Structure](#theme-structure)\n- [Maintainers](#maintainers)\n- [Contribute](#contribute)\n- [License](#license)\n\n## Background\n\nFlynt is a sustainable approach to website development and content management with a component-based philosophy.\n\nFlynt Theme is a ready-to-go WordPress theme that implements all of Flynt's best practices.\n\n## Install\n\n1. Install [Node](https://nodejs.org/en/).\n2. Install [Yarn](https://yarnpkg.com/lang/en/docs/install/).\n3. Create a new project folder and setup a new [WordPress](https://wordpress.org/download/) installation.\n4. Install and activate the following plugins:\n  - [Flynt Core](https://github.com/flyntwp/flynt-core)\n  - [Advanced Custom Fields Pro](https://www.advancedcustomfields.com/pro/)\n  - [ACF Field Group Composer](https://github.com/flyntwp/acf-field-group-composer)\n  - [Timber](https://wordpress.org/plugins/timber-library/)\n5. Clone the flynt-starter-theme repo to `\u003cyour-project\u003e/wp-content/themes`.\n6. Change the host variable in `flynt-starter-theme/gulpfile.js/config.js` to match your host URL.\n```js\nconst host = 'your-host-url.test'\n```\n7. In your terminal, navigate to `\u003cyour-project\u003e/wp-content/themes/flynt-starter-theme`. Run `yarn` and then `yarn build`.\n8. Go to the administrator back-end of your WordPress site and activate the `flynt-starter-theme` theme.\n\n## Usage\n\nIn your terminal, navigate to `\u003cyour-project\u003e/wp-content/themes/flynt-starter-theme` and run `yarn start`. This will start a local server at  `localhost:3000`.\n\nChanges to files made in `Components` and `Features` will now be watched for changes and compiled to the `dist` folder.\n\n### Configuring Page Templates\nAll template files can be found under the theme root, in the `templates` directory.\n\nThe structure of each page within the theme is created using a nested JSON object. Each PHP template within the `templates` directory takes a simple JSON configuration file, and using the Flynt Core plugin, parses and renders this into HTML.\n\nFor example, take `templates/page.php`:\n\n```php\n\u003c?php\n\nFlynt\\echoHtmlFromConfigFile('default.json');\n```\n\nThe JSON template configuration files are found in `config/templates`. These configuration files define the [components](#components) and their [areas](#areas) which are loaded into the template.\n\nTake `config/templates/default.json` as an example. This template contains the `DocumentDefault` component, with one area within it: `layout`. The `layout` area contains the `LayoutSinglePost` component, which in turn has three nested [areas](#areas): `mainHeader`, `pageComponents`, and `mainFooter`. In addition, the `pageComponents` area contains the `ComponentLoaderFlexible` component.\n\n```json\n{\n  \"name\": \"DocumentDefault\",\n  \"areas\": {\n    \"layout\": [\n      {\n        \"name\": \"LayoutSinglePost\",\n        \"areas\": {\n          \"mainHeader\": [],\n          \"pageComponents\": [\n            {\n              \"name\": \"ComponentLoaderFlexible\",\n              \"customData\": {\n                \"fieldGroup\": \"pageComponents\"\n              }\n            }\n          ],\n          \"mainFooter\": []\n        }\n      }\n    ]\n  }\n}\n```\n\nThe `layout` area is then rendered in the `Components/DocumentDefault/index.twig` template:\n\n```twig\n\u003c!DOCTYPE html\u003e\n\u003chtml class=\"flyntComponent {{ body_class }}\" lang=\"{{ site.language }}\" dir=\"{{ dir }}\" is=\"flynt-document-default\"\u003e\n  \u003chead\u003e\u003c!--...--\u003e\u003c/head\u003e\n  \u003cbody role=\"document\"\u003e\n    {{ area('layout') }}\n    {{ wp_footer }}\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n### Components\nA component is a self-contained building-block. As such, each component is kept within its own folder which contains everything it requires; the layout, the ACF field setup, all necessary WordPress filter and hook logic, scripting, styles, and images.\n\n```\n  ExampleComponent/\n  ├── assets/\n  |   ├── exampleImage.jpg\n  |   └── exampleIcon.svg\n  ├── fields.json\n  ├── functions.php\n  ├── index.twig\n  ├── README.md\n  ├── script.js\n  ├── style.styl\n```\n\nBuilding components is a sustainable process, meaning every component you develop can be reused within a project, or in another; increasing your head-start with every new Flynt project.\n\n### Areas\nSince components are self-contained, areas provide a way to stack our building-blocks together. An area is simply a location within a component where it is possible to add other components.\n\n### Features\nWith WordPress, it is easy to create one large `functions.php` file, crammed full of all the custom logic your theme may need. This can get messy. In Flynt, we split each piece of functionality into smaller, self-contained **feature** bundles.\n\nIn most cases, features add global hooks and filters that affect the project on a global level. With this in mind, each feature is built with reusability in mind.\n\nFlynt comes with a core set of ready to go features, each with its own readme. To learn more, look through the [Features](https://github.com/flyntwp/flynt-starter-theme/tree/master/Features) directory.\n\n### Theme Structure\n\n```\nflynt-starter-theme/             # → Root of the theme\n├── Components/                  # → All base components\n├── config/                      # → WP/ACF Configuration\n│   ├── customPostTypes/         # → Configure custom post types\n│   ├── fieldGroups/             # → Configure ACF field groups\n│   ├── templates/               # → Page templates (JSON)\n├── dist/                        # → Built theme files (never edit)\n├── Features/                    # → All features\n├── gulpfile.js/                 # → Gulp tasks and setup\n│   ├── tasks/                   # → Individual gulp-tasks, e.g. webpack, stylus\n│   ├── config.js                # → Gulp config\n│   ├── index.js                 # → Load gulp tasks with config\n│   ├── webpack.config.js        # → Webpack config\n├── lib/                         # → Hold utils and setup features\n│   ├── Utils/                   # → Small utility functions\n│   ├── Bootstrap.php            # → Flynt Bootstrap\n│   ├── Init.php                 # → Setup theme, register features\n├── node_modules/                # → Node.js packages (never edit)\n├── templates/                   # → Page templates (PHP)\n├── .gitignore                   # → Files/Folders that will not be committed to Git.\n├── .stylintrc                   # → Define Stylus linting rules\n├── functions.php                # → Set template directory and load lib/Init.php\n├── index.php                    # → Theme entry point (never edit)\n├── package.json                 # → Node.js dependencies and scripts\n├── phpcs.ruleset.xml            # → Define PHP linting rules\n├── screenshot.png               # → Theme screenshot for WP admin\n├── style.css                    # → Required WordPress theme style file.\n├── yarn.lock                    # → Yarn lock file (never edit)\n```\n\n[You can read the full documentation here.](https://docs.flyntwp.com)\n\n## Maintainers\n\nThis project is maintained by [bleech](https://github.com/bleech).\n\nThe main people in charge of this repo are:\n\n- [Dominik Tränklein](https://github.com/domtra)\n- [Doğa Gürdal](https://github.com/Qakulukiam)\n\n## Contribute\n\nTo contribute, please use GitHub [issues](https://github.com/flyntwp/flynt-starter-theme/issues). Pull requests are accepted. Please also take a moment to read the [Contributing Guidelines](https://github.com/flyntwp/guidelines/blob/master/CONTRIBUTING.md) and [Code of Conduct](https://github.com/flyntwp/guidelines/blob/master/CODE_OF_CONDUCT.md).\n\nIf editing the README, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification.\n\n## License\n\nMIT © [bleech](https://www.bleech.de)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyntwp%2Fflynt-starter-theme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflyntwp%2Fflynt-starter-theme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyntwp%2Fflynt-starter-theme/lists"}