{"id":26793240,"url":"https://github.com/beapi/beapi-frontend-framework","last_synced_at":"2025-10-25T09:10:13.632Z","repository":{"id":35092704,"uuid":"39254393","full_name":"BeAPI/beapi-frontend-framework","owner":"BeAPI","description":"WordPress friendly Front-End framework.","archived":false,"fork":false,"pushed_at":"2025-06-30T10:38:22.000Z","size":55293,"stargazers_count":67,"open_issues_count":8,"forks_count":18,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-07-03T23:17:41.250Z","etag":null,"topics":["framework","frontend","starter-theme","wordpress","wordpress-theme"],"latest_commit_sha":null,"homepage":"https://beapi.fr","language":"SCSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"letiantian/TextRank4ZH","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BeAPI.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-07-17T13:02:50.000Z","updated_at":"2025-06-30T10:38:24.000Z","dependencies_parsed_at":"2024-04-29T17:27:56.566Z","dependency_job_id":"7e8d5ca6-c365-43d5-8951-4b30edc70761","html_url":"https://github.com/BeAPI/beapi-frontend-framework","commit_stats":null,"previous_names":[],"tags_count":98,"template":false,"template_full_name":null,"purl":"pkg:github/BeAPI/beapi-frontend-framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeAPI%2Fbeapi-frontend-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeAPI%2Fbeapi-frontend-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeAPI%2Fbeapi-frontend-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeAPI%2Fbeapi-frontend-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BeAPI","download_url":"https://codeload.github.com/BeAPI/beapi-frontend-framework/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BeAPI%2Fbeapi-frontend-framework/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264951610,"owners_count":23687974,"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":["framework","frontend","starter-theme","wordpress","wordpress-theme"],"created_at":"2025-03-29T16:19:34.479Z","updated_at":"2025-10-25T09:10:08.601Z","avatar_url":"https://github.com/BeAPI.png","language":"SCSS","readme":"# Be API FrontEnd Framework\n\n[![Be API Github Banner](.github/banner-github.png)](https://beapi.fr)\n\n[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/Naereen/StrapDown.js/graphs/commit-activity)\n\n## What is BFF ?\n\n**Be API Frontend Framework** *(or BFF)*  is a WordPress theme boilerplate designed to assist you in launching your own WordPress theme using modern tools.\n\n## Requirements\n\n### Composer\n\nYou need composer to autoload all your classes from the inc folder.\n\nUse the `beapi/composer-scaffold-theme` package that add it automatically to the composer.json file.\nYou can add it yourself like this :\n\n```composer.json\n    \"autoload\": {\n        \"psr-4\": {\n            \"BEA\\\\Theme\\\\Framework\\\\\": \"content/themes/framework/inc/\"\n        }\n    }\n```\n\n### Autoload\n\nThe autoload is based on psr-4 and handled by composer.\n\n### Node.js\n\nYou need [the latest stable version of Node.js](https://nodejs.org/).\n\n## Installation\n\nDownload the latest release of BFF [here](https://github.com/BeAPI/beapi-frontend-framework/releases) and extract the zip archive into your `themes` WordPress's folder.\n\n```bash\n|____wp-admin\n|____wp-content\n| |____plugins\n| |____themes\n| | |____beapi-frontend-framework\n| |____uploads\n|____wp-includes\n```\n\nOf course, you can rename `beapi-frontend-framework` to define your WordPress theme's name.\n\nNext, go to your theme folder (in the following example, I didn't rename `beapi-frontend-framework`) with your favorite Term software.\n\n```bash\ncd wp-content/themes/beapi-frontend-framework\n```\n\nThen install node dependencies with Yarn.\n\n```bash\nyarn\n```\n\nAlternatively, you can use NPM.\n\n```bash\nnpm install\n```\n\n## Configuration\n\nThe configurations files are in `config` directory.\n\n### Webpack\n\nYou can find the common Webpack settings file in `webpack.common.js`. For development mode purpose, you can edit `webpack.dev.js` file and for production mode, you can edit `webpack.prod.js`.\nYou also have the loaders in `loaders.js` file and Webpack's plugin in `plugins.js` file.\n\n## How to use BFF ?\n\nAfter installing dependencies, you can run some commands which are explained below.\n\n### Start with Browser Sync\n\nBFF is configured to work with [lando](https://lando.dev/). If you have a `.lando.yml` file in your project's root, set the path to your file in the `browsersync.config.js` file.\n\n```js\nlet fileContents = fs.readFileSync('../../../../.lando.yml', 'utf8')\n```\n\nThen, run the following command from the theme :\n\n```bash\nyarn start\n```\n\nBrowserSync will proxy your lando'server based on the name defined in your `.lando.yml`.\n\n### Build\n\n```bash\nyarn build\n```\n\n### Bundle report\n\nYou can launch a bundle report with the following command :\n\n```bash\nyarn bundle-report\n```\n\n## WordPress Editor (Gutenberg)\n\n### Customize blocks\n\nThe `bff_editor_custom_settings` filter allow you to customize blocks styles and variations. For example:\n\n```php\nadd_filter( 'bff_editor_custom_settings', 'customize_editor_settings', 10, 1 );\nfunction customize_editor_settings( $settings ) {\n\t// Disable all block styles for Separator block\n\t$settings[ 'disableAllBlocksStyles' ] = [ 'core/separator' ];\n\n\t// Disable specific block style for Button block\n\t$settings[ 'disabledBlocksStyles' ]   = [ 'core/button' =\u003e [ 'outline' ] ];\n\n\t// Allow only YouTube variation for Embed block\n\t$settings[ 'allowedBlocksVariations' ] = [ 'core/embed' =\u003e [ 'youtube' ] ];\n\n\treturn $settings;\n}\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeapi%2Fbeapi-frontend-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeapi%2Fbeapi-frontend-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeapi%2Fbeapi-frontend-framework/lists"}