├── .editorconfig ├── .eslintignore ├── .eslintrc.json ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug.md │ └── feature.md └── workflows │ ├── ci.yml │ └── pm.yml ├── .gitignore ├── .travis.yml ├── 404.php ├── Gruntfile.js ├── archive.php ├── assets ├── css │ ├── admin │ │ ├── block-editor.css │ │ ├── editor-style.css │ │ ├── editor-typography.css │ │ ├── meta-box.css │ │ └── style.css │ ├── all.css │ ├── all.min.css │ ├── components │ │ ├── comments.css │ │ ├── comments.min.css │ │ ├── font-awesome.css │ │ ├── font-awesome.min.css │ │ ├── font-icons.css │ │ ├── font-icons.min.css │ │ ├── widget-areas.css │ │ └── widget-areas.min.css │ ├── main-rtl.css │ ├── main-rtl.min.css │ ├── main.css │ ├── main.min.css │ ├── mobile.css │ ├── mobile.min.css │ ├── style-rtl.css │ ├── style-rtl.min.css │ ├── style.css │ ├── style.min.css │ ├── unsemantic-grid.css │ └── unsemantic-grid.min.css ├── dist │ ├── block-editor.asset.php │ ├── block-editor.js │ ├── customizer.asset.php │ ├── customizer.js │ ├── dashboard.asset.php │ ├── dashboard.js │ ├── modal.asset.php │ ├── modal.js │ ├── style-customizer.css │ └── style-dashboard.css ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ ├── fontawesome-webfont.woff2 │ ├── generatepress.eot │ ├── generatepress.svg │ ├── generatepress.ttf │ ├── generatepress.woff │ └── generatepress.woff2 └── js │ ├── a11y.js │ ├── back-to-top.js │ ├── back-to-top.min.js │ ├── classList.js │ ├── classList.min.js │ ├── dropdown-click.js │ ├── dropdown-click.min.js │ ├── menu.js │ ├── menu.min.js │ ├── navigation-search.js │ └── navigation-search.min.js ├── comments.php ├── composer.json ├── content-404.php ├── content-link.php ├── content-page.php ├── content-single.php ├── content.php ├── footer-min.php ├── footer.php ├── functions.php ├── header-min.php ├── header.php ├── inc ├── block-editor.php ├── class-css.php ├── class-dashboard.php ├── class-html-attributes.php ├── class-rest.php ├── class-theme-update.php ├── class-typography-migration.php ├── class-typography.php ├── css-output.php ├── customizer.php ├── customizer │ ├── class-customize-field.php │ ├── controls │ │ ├── class-color-control.php │ │ ├── class-deprecated.php │ │ ├── class-range-control.php │ │ ├── class-react-control.php │ │ ├── class-typography-control.php │ │ ├── class-upsell-control.php │ │ ├── class-upsell-section.php │ │ ├── class-wrapper-control.php │ │ ├── css │ │ │ ├── selectWoo.min.css │ │ │ ├── slider-customizer.css │ │ │ ├── typography-customizer.css │ │ │ └── upsell-customizer.css │ │ └── js │ │ │ ├── customizer-controls.js │ │ │ ├── customizer-live-preview.js │ │ │ ├── postMessage.js │ │ │ ├── selectWoo.min.js │ │ │ ├── slider-control.js │ │ │ ├── typography-customizer.js │ │ │ └── upsell-control.js │ ├── customizer-helpers.php │ ├── deprecated.php │ ├── fields │ │ ├── back-to-top.php │ │ ├── body.php │ │ ├── buttons.php │ │ ├── content.php │ │ ├── footer-bar.php │ │ ├── footer-widgets.php │ │ ├── forms.php │ │ ├── header.php │ │ ├── primary-navigation.php │ │ ├── search-modal.php │ │ ├── sidebar-widgets.php │ │ └── top-bar.php │ └── helpers.php ├── dashboard.php ├── defaults.php ├── deprecated.php ├── general.php ├── markup.php ├── meta-box.php ├── plugin-compat.php ├── structure │ ├── archives.php │ ├── comments.php │ ├── featured-images.php │ ├── footer.php │ ├── header.php │ ├── navigation.php │ ├── post-meta.php │ ├── search-modal.php │ └── sidebars.php ├── theme-functions.php └── typography.php ├── index.php ├── no-results.php ├── package-lock.json ├── package.json ├── page.php ├── phpcs.xml.dist ├── phpunit.xml ├── readme.txt ├── sass ├── abstracts │ └── _variables.scss ├── admin │ └── header.scss ├── all.scss ├── base │ ├── _a11y.scss │ ├── _elements.scss │ ├── _reset-flex.scss │ └── _reset-float.scss ├── comments.scss ├── components │ ├── _font-icons.scss │ ├── _forms-flex.scss │ ├── _forms-float.scss │ ├── _icons.scss │ └── _links.scss ├── editor-typography.scss ├── font-icons.scss ├── layout │ ├── content │ │ ├── _alignments.scss │ │ ├── _comments.scss │ │ ├── _content-flex.scss │ │ ├── _content-layout-float.scss │ │ ├── _content-layout.scss │ │ ├── _featured-images-flex.scss │ │ ├── _featured-images-float.scss │ │ ├── _post-content.scss │ │ ├── _sidebars-flex.scss │ │ ├── _unsemantic-grid.scss │ │ ├── _widgets-flex.scss │ │ ├── _widgets-float.scss │ │ └── _widgets.scss │ ├── footer │ │ ├── _footer-flex.scss │ │ ├── _footer-float.scss │ │ └── _footer.scss │ ├── general │ │ ├── _clearings.scss │ │ ├── _compatibility-float.scss │ │ ├── _compatibility.scss │ │ └── _widget-areas-flex.scss │ ├── header │ │ ├── _header-flex.scss │ │ ├── _header-float.scss │ │ ├── _header.scss │ │ └── _top-bar-float.scss │ ├── mobile │ │ ├── _mobile-flex.scss │ │ └── _mobile-float.scss │ ├── navigation │ │ ├── _navigation-dropdowns.scss │ │ ├── _navigation-flex.scss │ │ ├── _navigation-float.scss │ │ ├── _navigation.scss │ │ ├── _post-navigation.scss │ │ └── _sidebar-navigation.scss │ └── rtl │ │ ├── rtl-flex.scss │ │ └── rtl-float.scss ├── main-rtl.scss ├── main.scss ├── mobile.scss ├── style-rtl.scss ├── style.scss └── widget-areas.scss ├── screenshot.png ├── search.php ├── searchform.php ├── sidebar-left.php ├── sidebar.php ├── single.php ├── src ├── block-editor.js ├── components │ ├── GeneratePressControl.js │ ├── advanced-select │ │ ├── index.js │ │ └── style.scss │ ├── color-picker │ │ ├── GlobalColorPicker.js │ │ ├── components │ │ │ ├── ColorButton.js │ │ │ ├── ColorInput.js │ │ │ ├── ColorPalette.js │ │ │ ├── PanelColorPicker.js │ │ │ └── VariableNameInput.js │ │ ├── index.js │ │ └── style.scss │ ├── dnd │ │ ├── DndItem.js │ │ ├── DndList.js │ │ └── index.js │ ├── range-control │ │ ├── index.js │ │ └── style.scss │ ├── unit-control │ │ ├── index.js │ │ ├── style.scss │ │ ├── unit-dropdown.js │ │ └── unit-list.js │ ├── unit-picker │ │ ├── index.js │ │ └── style.scss │ └── utility-label │ │ ├── index.js │ │ └── style.scss ├── customizer-controls │ ├── color-manager │ │ ├── GeneratePressColorManagerControlForm.js │ │ ├── components │ │ │ ├── ColorPlaceholder.js │ │ │ ├── ColorsList.js │ │ │ └── buttons.js │ │ ├── hooks │ │ │ └── useColors.js │ │ ├── index.js │ │ └── style.scss │ ├── color-picker │ │ ├── GeneratePressColorControlForm.js │ │ ├── index.js │ │ └── style.scss │ ├── font-manager │ │ ├── GeneratePressFontManagerControlForm.js │ │ ├── GeneratePressTypographyControlForm.js │ │ ├── TypographyList.js │ │ ├── TypographyList │ │ │ ├── Typography.js │ │ │ ├── Typography │ │ │ │ ├── DeleteButton.js │ │ │ │ ├── Label.js │ │ │ │ └── SettingsButton.js │ │ │ ├── TypographySettings.js │ │ │ └── TypographySettings │ │ │ │ ├── CustomSelector.js │ │ │ │ ├── DeviceInputGroup.js │ │ │ │ ├── FontFamily.js │ │ │ │ ├── FontSize.js │ │ │ │ ├── FontStyle.js │ │ │ │ ├── FontWeight.js │ │ │ │ ├── LetterSpacing.js │ │ │ │ ├── LineHeight.js │ │ │ │ ├── MarginBottom.js │ │ │ │ ├── TargetElement.js │ │ │ │ ├── TextTransform.js │ │ │ │ └── textDecoration.js │ │ ├── google-fonts.json │ │ ├── index.js │ │ ├── placeholders.js │ │ ├── style.scss │ │ └── utils.js │ └── title │ │ ├── GeneratePressTitleControl.js │ │ ├── GeneratePressTitleControlForm.js │ │ ├── index.js │ │ └── style.scss ├── customizer.js ├── dashboard.js ├── dashboard │ ├── go-pro │ │ ├── index.js │ │ ├── pro-items.js │ │ └── style.scss │ ├── index.js │ ├── reset │ │ ├── index.js │ │ └── style.scss │ ├── start-customizing │ │ ├── customize-items.js │ │ ├── index.js │ │ └── style.scss │ └── style.scss ├── extend │ ├── content-width │ │ └── index.js │ └── is-dark-theme │ │ └── index.js ├── modal.js ├── modal │ └── index.js ├── style.scss ├── tests │ └── getMigratedUnits.test.js └── utils │ ├── get-font-weights │ └── index.js │ ├── get-icon │ └── index.js │ ├── has-numeric-value │ └── index.js │ ├── react-render │ └── index.js │ └── reorder.js ├── style.css └── tests ├── GPTestCase.php ├── Unit ├── DynamicCSSTest.php └── TypographyCSSTest.php └── bootstrap.php /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | 4 | # WordPress Coding Standards 5 | # https://make.wordpress.org/core/handbook/coding-standards/ 6 | 7 | root = true 8 | 9 | [*] 10 | charset = utf-8 11 | end_of_line = lf 12 | insert_final_newline = true 13 | trim_trailing_whitespace = true 14 | indent_style = tab 15 | 16 | [*.yml] 17 | indent_style = space 18 | indent_size = 2 19 | 20 | [*.md] 21 | trim_trailing_whitespace = false 22 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | **/*.min.js 2 | **/*.build.js 3 | **/node_modules/** 4 | **/vendor/** 5 | build 6 | coverage 7 | cypress 8 | node_modules 9 | vendor 10 | Gruntfile.js 11 | wp-color-picker-alpha.js 12 | wp-color-picker-alpha.min.js 13 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | *.js text eol=lf 4 | *.php text eol=lf 5 | *.txt text eol=lf 6 | *.css text eol=lf 7 | *.scss text eol=lf 8 | *.xml text eol=lf 9 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug reports 3 | about: Use for bugs, and weird behaviors. 4 | title: '' 5 | labels: 'bug' 6 | --- 7 | 8 | ### Description 9 | Describe the bug the best you can. 10 | 11 | ### Steps to reproduce 12 | 1. ... 13 | 14 | #### Actual behavior 15 | ... 16 | 17 | #### Expected behavior 18 | ... 19 | 20 | --- 21 | 22 | #### References 23 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature requests 3 | about: Use for features, enhancements, improvements. 4 | title: '' 5 | labels: 'feature' 6 | --- 7 | 8 | ### Description 9 | Describe your feature request. 10 | 11 | --- 12 | 13 | #### References 14 | -------------------------------------------------------------------------------- /.github/workflows/pm.yml: -------------------------------------------------------------------------------- 1 | name: Product management automations 2 | 3 | on: 4 | issues: 5 | types: 6 | - opened 7 | 8 | jobs: 9 | 10 | add-label: 11 | name: Add triage label 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v2 15 | - uses: actions-ecosystem/action-add-labels@v1 16 | with: 17 | labels: triage 18 | 19 | add-to-project: 20 | name: Add project 21 | runs-on: ubuntu-latest 22 | steps: 23 | - uses: actions/add-to-project@main 24 | with: 25 | project-url: ${{ secrets.PROJECT_URL }} 26 | github-token: ${{ secrets.TOKEN }} 27 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .sass-cache 3 | generatepress.zip 4 | generatepress 5 | *.zip 6 | vendor 7 | cghooks.lock 8 | composer.lock 9 | .DS_Store 10 | .phpunit.result.cache 11 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # Travis CI (MIT License) configuration file for the GeneratePress WordPress theme. 2 | # @link https://travis-ci.org/ 3 | 4 | # For use with the GeneratePress WordPress theme. 5 | # @link https://github.com/tomusborne/generatepress 6 | 7 | # Tell Travis CI which OS and which distro to use. 8 | os: linux 9 | dist: xenial 10 | 11 | # Cache directories between builds. 12 | # @link https://docs.travis-ci.com/user/caching/#arbitrary-directories 13 | cache: 14 | directories: 15 | # Cache directory for npm. 16 | - $HOME/.npm 17 | # Cache directory for older Composer versions. 18 | - $HOME/.composer/cache/files 19 | # Cache directory for more recent Composer versions. 20 | - $HOME/.cache/composer/files 21 | 22 | # Declare project language. 23 | # @link https://docs.travis-ci.com/user/languages/php/ 24 | language: 25 | - php 26 | 27 | php: 28 | - 5.6 29 | - 7.0 30 | - 7.1 31 | - 7.2 32 | - 7.3 33 | 34 | jobs: 35 | fast_finish: true 36 | include: 37 | - php: 7.4 38 | env: SNIFF=1 39 | 40 | before_install: 41 | # Speed up build time by disabling Xdebug. 42 | - phpenv config-rm xdebug.ini || echo 'No xdebug config.' 43 | # Download and install the latest long-term support release of node. 44 | - if [[ "$SNIFF" == 1 ]]; then nvm install --lts; fi 45 | # Install Composer dependencies. 46 | - composer install 47 | # Install NPM dependencies. 48 | - if [[ "$SNIFF" == 1 ]]; then npm install; fi 49 | 50 | script: 51 | # Validate the composer.json file. 52 | # @link https://getcomposer.org/doc/03-cli.md#validate 53 | - composer validate --no-check-all --strict 54 | 55 | # Search for PHP syntax errors using PHP Parallel Lint. 56 | # @link https://github.com/php-parallel-lint/PHP-Parallel-Lint 57 | - composer lint:php 58 | 59 | # Check the PHP files with the coding standards documented in the phpcs.xml.dist file. 60 | - if [[ "$SNIFF" == 1 ]]; then composer lint:wpcs; fi 61 | 62 | # Receive notifications for build results. 63 | # @link https://docs.travis-ci.com/user/notifications/#configuring-email-notifications 64 | notifications: 65 | email: false 66 | -------------------------------------------------------------------------------- /404.php: -------------------------------------------------------------------------------- 1 | 13 | 14 |