├── .circleci
└── config.yml
├── .editorconfig
├── .eslintrc.js
├── .github
├── CODEOWNERS
├── CONTRIBUTING.md
├── ISSUE_TEMPLATE.md
├── ISSUE_TEMPLATE
│ ├── Bug_report.md
│ ├── Enhancement.md
│ └── Feature_request.md
├── PULL_REQUEST_TEMPLATE.md
├── dependabot.yml
├── labeler.yml
└── workflows
│ ├── auto-merge.yml
│ ├── changelog.yml
│ └── main.yml
├── .gitignore
├── .hooks
└── pre-push
├── .nvmrc
├── .prettierignore
├── .prettierrc.js
├── .releaserc.js
├── .stylelintrc.js
├── CHANGELOG.md
├── LICENSE
├── README.md
├── babel.config.js
├── commitlint.config.js
├── composer.json
├── composer.lock
├── newspack-joseph
├── fonts
│ ├── eb-garamond
│ │ ├── EBGaramond-Bold.ttf
│ │ ├── EBGaramond-BoldItalic.ttf
│ │ ├── EBGaramond-Italic.ttf
│ │ ├── EBGaramond-Regular.ttf
│ │ └── OFL.txt
│ └── old-standard-tt
│ │ ├── OFL.txt
│ │ ├── OldStandardTT-Bold.ttf
│ │ ├── OldStandardTT-Italic.ttf
│ │ └── OldStandardTT-Regular.ttf
├── functions.php
├── inc
│ ├── child-color-patterns.php
│ └── child-typography.php
├── sass
│ ├── style-editor.scss
│ ├── style.scss
│ ├── theme-description.scss
│ └── variables-style
│ │ └── _variables-style.scss
├── screenshot.png
└── tribe-events
│ └── tribe-events.scss
├── newspack-katharine
├── fonts
│ └── barlow
│ │ ├── Barlow-Bold.ttf
│ │ ├── Barlow-BoldItalic.ttf
│ │ ├── Barlow-Italic.ttf
│ │ ├── Barlow-Regular.ttf
│ │ └── OFL.txt
├── functions.php
├── inc
│ ├── child-color-patterns.php
│ └── child-typography.php
├── sass
│ ├── style-editor.scss
│ ├── style.scss
│ ├── theme-description.scss
│ └── variables-style
│ │ └── _variables-style.scss
├── screenshot.png
└── tribe-events
│ └── tribe-events.scss
├── newspack-nelson
├── fonts
│ └── montserrat
│ │ ├── Montserrat-Bold.ttf
│ │ ├── Montserrat-ExtraBold.ttf
│ │ ├── Montserrat-Medium.ttf
│ │ ├── Montserrat-MediumItalic.ttf
│ │ └── OFL.txt
├── functions.php
├── inc
│ ├── child-color-patterns.php
│ └── child-typography.php
├── sass
│ ├── style-editor.scss
│ ├── style.scss
│ ├── theme-description.scss
│ └── variables-style
│ │ └── _variables-style.scss
├── screenshot.png
└── tribe-events
│ └── tribe-events.scss
├── newspack-sacha
├── fonts
│ └── ibm-plex-serif
│ │ ├── IBMPlexSerif-Bold.ttf
│ │ ├── IBMPlexSerif-BoldItalic.ttf
│ │ ├── IBMPlexSerif-Italic.ttf
│ │ ├── IBMPlexSerif-Regular.ttf
│ │ └── OFL.txt
├── functions.php
├── inc
│ ├── child-color-patterns.php
│ └── child-typography.php
├── sass
│ ├── child-style-editor-overrides.scss
│ ├── style-editor.scss
│ ├── style.scss
│ ├── theme-description.scss
│ └── variables-style
│ │ └── _variables-style.scss
├── screenshot.png
├── template-parts
│ └── post
│ │ └── author-bio.php
└── tribe-events
│ └── tribe-events.scss
├── newspack-scott
├── fonts
│ └── fira-sans-condensed
│ │ ├── FiraSansCondensed-Italic.ttf
│ │ ├── FiraSansCondensed-Regular.ttf
│ │ ├── FiraSansCondensed-SemiBold.ttf
│ │ ├── FiraSansCondensed-SemiBoldItalic.ttf
│ │ └── OFL.txt
├── functions.php
├── inc
│ ├── child-color-patterns.php
│ └── child-typography.php
├── sass
│ ├── style-editor.scss
│ ├── style.scss
│ ├── theme-description.scss
│ └── variables-style
│ │ └── _variables-style.scss
├── screenshot.png
└── tribe-events
│ └── tribe-events.scss
├── newspack-theme
├── 404.php
├── archive-newspack_correction.php
├── archive.php
├── classes
│ ├── class-newspack-svg-icons.php
│ └── class-newspack-walker-comment.php
├── comments.php
├── fonts
│ ├── NonBreakingSpaceOverride.woff
│ └── NonBreakingSpaceOverride.woff2
├── footer.php
├── front-page.php
├── functions.php
├── header.php
├── image.php
├── inc
│ ├── back-compat.php
│ ├── color-patterns.php
│ ├── customizer.php
│ ├── icon-functions.php
│ ├── jetpack.php
│ ├── login-screen.php
│ ├── logo-resizer.php
│ ├── newspack-multibranded-site-plugin.php
│ ├── newspack-newsletters.php
│ ├── newspack-sponsors.php
│ ├── template-functions.php
│ ├── template-tags.php
│ ├── the-events-calendar.php
│ ├── trust-indicators.php
│ ├── typography.php
│ ├── web-stories.php
│ ├── woocommerce.php
│ ├── yoast-bluesky-contact-method.php
│ └── yoast.php
├── index.php
├── js
│ ├── originals
│ │ └── skip-link-focus-fix.js
│ └── src
│ │ ├── amp-fallback-newspack-sponsors.js
│ │ ├── amp-fallback.js
│ │ ├── customize-controls.js
│ │ ├── customize-preview.js
│ │ ├── editor-remove-blocks.js
│ │ ├── extend-featured-image-editor.js
│ │ ├── font-loading.js
│ │ ├── logo-customize-controls.js
│ │ ├── logo-customize-preview.js
│ │ ├── menu-accessibility.js
│ │ ├── post-meta-toggles.js
│ │ ├── post-subtitle
│ │ ├── SubtitleEditor.js
│ │ ├── index.js
│ │ └── utils.js
│ │ ├── post-summary
│ │ ├── SummaryEditor.js
│ │ ├── SummaryTitleEditor.js
│ │ ├── index.js
│ │ └── utils.js
│ │ └── relative-time.js
├── languages
│ ├── de_DE.mo
│ ├── de_DE.po
│ ├── es_ES.mo
│ ├── es_ES.po
│ ├── fr_BE.mo
│ ├── fr_BE.po
│ ├── newspack-de_DE-1214ebc007983574185a9f0914311f01.json
│ ├── newspack-de_DE-5fc520bf9874d4f5fca37c405ec1d21a.json
│ ├── newspack-de_DE-833a9c337dfe3a093d473e3fc210e521.json
│ ├── newspack-de_DE-df181a26eb62f21273525d59fc065434.json
│ ├── newspack-es_ES-1214ebc007983574185a9f0914311f01.json
│ ├── newspack-es_ES-5fc520bf9874d4f5fca37c405ec1d21a.json
│ ├── newspack-es_ES-833a9c337dfe3a093d473e3fc210e521.json
│ ├── newspack-es_ES-df181a26eb62f21273525d59fc065434.json
│ ├── newspack-fr_BE-1214ebc007983574185a9f0914311f01.json
│ ├── newspack-fr_BE-5fc520bf9874d4f5fca37c405ec1d21a.json
│ ├── newspack-fr_BE-833a9c337dfe3a093d473e3fc210e521.json
│ ├── newspack-fr_BE-df181a26eb62f21273525d59fc065434.json
│ ├── newspack-pl_PL-1214ebc007983574185a9f0914311f01.json
│ ├── newspack-pl_PL-5fc520bf9874d4f5fca37c405ec1d21a.json
│ ├── newspack-pl_PL-833a9c337dfe3a093d473e3fc210e521.json
│ ├── newspack-pl_PL-df181a26eb62f21273525d59fc065434.json
│ ├── newspack-pt_BR-1214ebc007983574185a9f0914311f01.json
│ ├── newspack-pt_BR-5fc520bf9874d4f5fca37c405ec1d21a.json
│ ├── newspack-pt_BR-833a9c337dfe3a093d473e3fc210e521.json
│ ├── newspack-pt_BR-df181a26eb62f21273525d59fc065434.json
│ ├── newspack-pt_PT-1214ebc007983574185a9f0914311f01.json
│ ├── newspack-pt_PT-5fc520bf9874d4f5fca37c405ec1d21a.json
│ ├── newspack-pt_PT-833a9c337dfe3a093d473e3fc210e521.json
│ ├── newspack-pt_PT-df181a26eb62f21273525d59fc065434.json
│ ├── newspack-theme.pot
│ ├── pl_PL.mo
│ ├── pl_PL.po
│ ├── pt_BR.mo
│ ├── pt_BR.po
│ ├── pt_PT.mo
│ └── pt_PT.po
├── no-header-footer.php
├── offline.php
├── page.php
├── sass
│ ├── _normalize.scss
│ ├── blocks
│ │ ├── _blocks.scss
│ │ └── _patterns.scss
│ ├── elements
│ │ ├── _elements.scss
│ │ ├── _lists.scss
│ │ └── _tables.scss
│ ├── forms
│ │ ├── _amp.scss
│ │ ├── _buttons.scss
│ │ ├── _fields.scss
│ │ ├── _forms.scss
│ │ └── _search.scss
│ ├── layout
│ │ └── _layout.scss
│ ├── media
│ │ ├── _captions.scss
│ │ ├── _galleries.scss
│ │ └── _media.scss
│ ├── mixins
│ │ ├── _mixins-main.scss
│ │ └── _utilities.scss
│ ├── modules
│ │ ├── _accessibility.scss
│ │ ├── _alignments.scss
│ │ └── _clearings.scss
│ ├── navigation
│ │ ├── _infinite-scroll.scss
│ │ ├── _links.scss
│ │ ├── _menu-dropdown.scss
│ │ ├── _menu-highlight-navigation.scss
│ │ ├── _menu-main-navigation.scss
│ │ ├── _menu-mobile-navigation.scss
│ │ ├── _menu-secondary-navigation.scss
│ │ ├── _menu-social-navigation.scss
│ │ ├── _menu-tertiary-navigation.scss
│ │ ├── _navigation.scss
│ │ └── _next-previous.scss
│ ├── plugins
│ │ ├── newspack-ads.scss
│ │ ├── newspack-listings.scss
│ │ ├── newspack-newsletters-editor.scss
│ │ ├── newspack-publisher-media-kit.scss
│ │ ├── newspack-sponsors-editor.scss
│ │ ├── newspack-sponsors.scss
│ │ ├── the-events-calendar.scss
│ │ ├── trust-indicators.scss
│ │ ├── woocommerce.scss
│ │ └── yoast-breadcrumb.scss
│ ├── print.scss
│ ├── site
│ │ ├── _site.scss
│ │ ├── footer
│ │ │ └── _site-footer.scss
│ │ ├── header
│ │ │ └── _site-header.scss
│ │ ├── primary
│ │ │ ├── _archives.scss
│ │ │ ├── _comments.scss
│ │ │ └── _posts-and-pages.scss
│ │ └── secondary
│ │ │ └── _widgets.scss
│ ├── style-base.scss
│ ├── style-editor-base.scss
│ ├── style-editor-customizer.scss
│ ├── style-editor-overrides.scss
│ ├── style-editor.scss
│ ├── style.scss
│ ├── styles
│ │ └── style-default
│ │ │ ├── style-default-editor.scss
│ │ │ └── style-default.scss
│ ├── theme-description.scss
│ ├── typography
│ │ ├── _copy.scss
│ │ ├── _headings.scss
│ │ └── _typography.scss
│ └── variables-site
│ │ ├── _colors.scss
│ │ ├── _fonts.scss
│ │ ├── _newspack-ui.scss
│ │ ├── _structure.scss
│ │ ├── _transitions.scss
│ │ └── _variables-site.scss
├── screenshot.png
├── search.php
├── searchform.php
├── sidebar.php
├── single-feature.php
├── single-wide.php
├── single.php
├── template-parts
│ ├── content
│ │ ├── content-archive.php
│ │ ├── content-corrections.php
│ │ ├── content-excerpt.php
│ │ ├── content-none.php
│ │ ├── content-page.php
│ │ ├── content-single.php
│ │ └── content.php
│ ├── footer
│ │ ├── below-footer-widgets.php
│ │ ├── footer-branding.php
│ │ └── footer-widgets.php
│ ├── header
│ │ ├── desktop-sidebar.php
│ │ ├── entry-header.php
│ │ ├── header-search.php
│ │ ├── mobile-sidebar.php
│ │ ├── site-branding.php
│ │ └── subpage-sidebar.php
│ └── post
│ │ ├── author-bio.php
│ │ ├── discussion-meta.php
│ │ └── large-featured-image.php
├── tribe-events
│ └── tribe-events.scss
├── tribe
│ └── events
│ │ └── v2
│ │ └── default-template.php
└── woocommerce
│ ├── order
│ └── order-details-customer.php
│ └── templates.php
├── package-lock.json
├── package.json
├── phpcs.xml
├── phpcs.xml.dist
├── phpstan.neon.dist
├── readme.txt
├── scripts
├── compile-scss.js
└── create-child-releases.js
├── tests
├── bootstrap.php
└── functions-stubs.php
└── webpack.config.js
/.editorconfig:
--------------------------------------------------------------------------------
1 | # WordPress Coding Standards
2 | # https://make.wordpress.org/core/handbook/coding-standards/
3 |
4 | root = true
5 |
6 | [*]
7 | charset = utf-8
8 | end_of_line = lf
9 | insert_final_newline = true
10 | trim_trailing_whitespace = true
11 | indent_style = tab
12 |
13 | [{package.json,*.yml}]
14 | indent_style = space
15 | indent_size = 2
16 |
17 | [{*.txt,wp-config-sample.php}]
18 | end_of_line = crlf
19 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | require( '@rushstack/eslint-patch/modern-module-resolution' );
2 |
3 | module.exports = {
4 | extends: [ './node_modules/newspack-scripts/config/eslintrc.js' ],
5 | };
6 |
--------------------------------------------------------------------------------
/.github/CODEOWNERS:
--------------------------------------------------------------------------------
1 | * @Automattic/newspack-product
2 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | **Describe the issue**
2 | A clear and concise description of what the bug is. Please be as descriptive as possible; issues lacking detail, or for any other reason than to report a bug, may be closed without action.
3 |
4 | **To Reproduce**
5 | Steps to reproduce the behavior:
6 | 1. Go to '...'
7 | 2. Click on '....'
8 | 3. Scroll down to '....'
9 | 4. See error
10 |
11 | **Screenshots**
12 | If applicable, add screenshots to help explain your problem.
13 |
14 | **Expected behavior**
15 | A clear and concise description of what you expected to happen.
16 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/Bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: "\U0001F41E Bug report"
3 | about: Report a bug if something isn't working as expected.
4 |
5 | ---
6 |
7 | **Describe the bug**
8 | A clear and concise description of what the bug is. Please be as descriptive as possible; issues lacking detail, or for any other reason than to report a bug, may be closed without action.
9 |
10 | **To Reproduce**
11 | Steps to reproduce the behavior:
12 | 1. Go to '...'
13 | 2. Click on '....'
14 | 3. Scroll down to '....'
15 | 4. See error
16 |
17 | **Screenshots**
18 | If applicable, add screenshots to help explain your problem.
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/Enhancement.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: "✨ New Enhancement"
3 | about: "If you have an idea to improve an existing feature please let us know or submit a Pull Request!"
4 |
5 | ---
6 |
7 | **Is your feature request related to a problem? Please describe.**
8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9 |
10 | **Describe the solution you'd like**
11 | A clear and concise description of what you want to happen.
12 |
13 | **Describe alternatives you've considered**
14 | A clear and concise description of any alternative solutions or features you've considered.
15 |
16 | **Additional context**
17 | Add any other context or screenshots about the feature request here.
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/Feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: "\U0001F680 Feature request"
3 | about: "Suggest a new feature \U0001F389 We'll consider building it if it receives sufficient interest! \U0001F44D"
4 |
5 | ---
6 |
7 | **Is your feature request related to a problem? Please describe.**
8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9 |
10 | **Describe the solution you'd like**
11 | A clear and concise description of what you want to happen.
12 |
13 | **Describe alternatives you've considered**
14 | A clear and concise description of any alternative solutions or features you've considered.
15 |
16 | **Additional context**
17 | Add any other context or screenshots about the feature request here.
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | ### All Submissions:
2 |
3 | * [ ] Have you followed the [Newspack Contributing guideline](https://github.com/Automattic/newspack-theme/blob/trunk/.github/CONTRIBUTING.md)?
4 | * [ ] Does your code follow the [WordPress' coding standards](https://make.wordpress.org/core/handbook/best-practices/coding-standards/) and [VIP Go coding standards](https://vip.wordpress.com/documentation/vip-go/code-review-blockers-warnings-notices/)?
5 | * [ ] Have you checked to ensure there aren't other open [Pull Requests](../../pulls) for the same update/change?
6 |
7 |
8 |
9 |
10 |
11 | ### Changes proposed in this Pull Request:
12 |
13 |
14 |
15 | Closes # .
16 |
17 | ### How to test the changes in this Pull Request:
18 |
19 | 1.
20 | 2.
21 | 3.
22 |
23 | ### Other information:
24 |
25 | * [ ] Have you added an explanation of what your changes do and why you'd like us to include them?
26 | * [ ] Have you written new tests for your changes, as applicable?
27 | * [ ] Have you successfully ran tests with your changes locally?
28 |
29 |
30 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # Dependabot config.
2 | # Keep NPM and Composer packages up-to-date.
3 | # Let's start out with weekly updates and then drop back to less frequent intervals after everything is up-to-date.
4 |
5 | version: 2
6 | updates:
7 | # Enable version updates for npm
8 | - package-ecosystem: 'npm'
9 | # Look for `package.json` and `lock` files in the `root` directory
10 | directory: '/'
11 | # Check the npm registry for updates every day (weekdays)
12 | schedule:
13 | interval: 'weekly'
14 | # Add reviewers
15 | reviewers:
16 | - 'Automattic/newspack-product'
17 |
18 | # Enable version updates for Composer
19 | - package-ecosystem: 'composer'
20 | # Look for a `composer.lock` in the `root` directory
21 | directory: '/'
22 | # Check for updates every day (weekdays)
23 | schedule:
24 | interval: 'weekly'
25 | # Add reviewers
26 | reviewers:
27 | - 'Automattic/newspack-product'
28 |
--------------------------------------------------------------------------------
/.github/labeler.yml:
--------------------------------------------------------------------------------
1 | needs-changelog:
2 | - base-branch: ['trunk']
3 |
--------------------------------------------------------------------------------
/.github/workflows/auto-merge.yml:
--------------------------------------------------------------------------------
1 | on:
2 | pull_request_target:
3 | types: [labeled]
4 |
5 | name: Dependabot auto-merge
6 | jobs:
7 | auto-merge:
8 | name: Auto-merge dependabot PRs for minor and patch updates
9 | runs-on: ubuntu-latest
10 | if: |
11 | contains( github.event.pull_request.labels.*.name, 'dependencies' )
12 | && ! contains( github.event.pull_request.labels.*.name, '[Status] Approved' )
13 | steps:
14 | - uses: actions/checkout@v2
15 | - uses: ahmadnassri/action-dependabot-auto-merge@v2
16 | with:
17 | target: minor # includes patch updates.
18 | github-token: ${{ secrets.DEPENDABOT_TOKEN }}
19 |
--------------------------------------------------------------------------------
/.github/workflows/changelog.yml:
--------------------------------------------------------------------------------
1 | name: "Pull Request Labeler"
2 | on:
3 | pull_request:
4 | types: [closed]
5 |
6 | jobs:
7 | labeler:
8 | if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'trunk' && github.event.pull_request.user.login != 'dependabot[bot]'
9 | permissions:
10 | contents: read
11 | pull-requests: write
12 | runs-on: ubuntu-latest
13 | steps:
14 | - uses: actions/labeler@v5
15 |
16 | comment_pr:
17 | if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'trunk' && github.event.pull_request.user.login != 'dependabot[bot]'
18 | permissions:
19 | contents: read
20 | pull-requests: write
21 | runs-on: ubuntu-latest
22 | name: Comment about the change log label
23 | steps:
24 | - name: Comment PR
25 | uses: thollander/actions-comment-pull-request@v3
26 | with:
27 | message: |
28 | Hey @${{ github.event.pull_request.user.login }}, good job getting this PR merged! :tada:
29 |
30 | Now, the `needs-changelog` label has been added to it.
31 |
32 | Please check if this PR needs to be included in the "Upcoming Changes" and "Release Notes" doc. If it doesn't, simply remove the label.
33 |
34 | If it does, please add an entry to our shared document, with screenshots and testing instructions if applicable, then remove the label.
35 |
36 | Thank you! :heart:
37 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | on: pull_request_review
2 | name: Label approved pull requests
3 | jobs:
4 | labelWhenApproved:
5 | name: Label when approved
6 | runs-on: ubuntu-latest
7 | steps:
8 | - name: Label when approved
9 | uses: abinoda/label-when-approved-action@master
10 | env:
11 | APPROVALS: '1'
12 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
13 | ADD_LABEL: '[Status] Approved'
14 | # Needs to be URL-encoded, see https://github.com/abinoda/label-when-approved-action/pull/3#discussion_r321882620
15 | REMOVE_LABEL: '%5BStatus%5D%20Needs%20Review'
16 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Editors
2 | project.xml
3 | project.properties
4 | /nbproject/private/
5 | .buildpath
6 | .project
7 | .settings*
8 | .idea
9 | .vscode
10 | *.sublime-project
11 | *.sublime-workspace
12 | .sublimelinterrc
13 |
14 | # NPM
15 | /node_modules/
16 | .cache
17 |
18 | # Sass
19 | .sass-cache/
20 |
21 | # OS X metadata
22 | .DS_Store
23 |
24 | # Windows junk
25 | Thumbs.db
26 |
27 | # Composer
28 | /vendor/
29 |
30 | # Compiled CSS
31 | /styles/
32 | *.css
33 |
34 | # Compiled Javascript
35 | newspack-*/js/dist/
36 |
37 | # Release folder
38 | release/
39 |
--------------------------------------------------------------------------------
/.hooks/pre-push:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | branch=$(git symbolic-ref HEAD | sed -e 's,.*/\(.*\),\1,')
4 |
5 | if [[ "$branch" = "trunk" ]]; then
6 | echo "Error: pushing directly to the trunk branch is prohibited"
7 | exit 1
8 | fi
9 |
--------------------------------------------------------------------------------
/.nvmrc:
--------------------------------------------------------------------------------
1 | lts/*
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | dist
2 | node_modules
3 | release
4 | vendor
--------------------------------------------------------------------------------
/.prettierrc.js:
--------------------------------------------------------------------------------
1 | const baseConfig = require( './node_modules/newspack-scripts/config/prettier.config.js' );
2 |
3 | module.exports = {
4 | ...baseConfig
5 | };
6 |
--------------------------------------------------------------------------------
/.releaserc.js:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/no-var-requires */
2 |
3 | const { THEMES } = require( './scripts/create-child-releases.js' );
4 |
5 | module.exports = {
6 | branches: [
7 | // `release` branch is published on the main distribution channel (a new version on GH).
8 | 'release',
9 | // `alpha` branch – for regular pre-releases.
10 | {
11 | name: 'alpha',
12 | prerelease: true,
13 | },
14 | // `hotfix/*` branches – for releases outside of the release schedule.
15 | {
16 | name: 'hotfix/*',
17 | // With `prerelease: true`, the `name` would be used for the pre-release tag. A name with a `/`
18 | // is not valid, though. See https://semver.org/#spec-item-9.
19 | prerelease: '${name.replace(/\\//g, "-")}',
20 | },
21 | // `epic/*` branches – for beta testing/QA pre-release builds.
22 | {
23 | name: 'epic/*',
24 | // With `prerelease: true`, the `name` would be used for the pre-release tag. A name with a `/`
25 | // is not valid, though. See https://semver.org/#spec-item-9.
26 | prerelease: '${name.replace(/\\//g, "-")}',
27 | },
28 | ],
29 | prepare: [
30 | '@semantic-release/changelog',
31 | '@semantic-release/npm',
32 | [
33 | 'semantic-release-version-bump',
34 | {
35 | // build script is run before semantic-release, so the version in *.css files
36 | // have to be updated explicitly
37 | files: [ 'newspack-*/sass/theme-description.scss', 'newspack-*/style.css' ],
38 | callback: 'npm run release:archive',
39 | },
40 | ],
41 | {
42 | path: '@semantic-release/git',
43 | assets: [
44 | ...THEMES.map( name => `${ name }/sass/theme-description.scss` ),
45 | 'package.json',
46 | 'package-lock.json',
47 | 'CHANGELOG.md',
48 | ],
49 | message: 'chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}',
50 | },
51 | ],
52 | plugins: [
53 | '@semantic-release/commit-analyzer',
54 | '@semantic-release/release-notes-generator',
55 | [
56 | '@semantic-release/npm',
57 | {
58 | npmPublish: false,
59 | },
60 | ],
61 | 'semantic-release-version-bump',
62 | [
63 | '@semantic-release/github',
64 | {
65 | assets: THEMES.map( name => ( {
66 | path: `./release/${ name }.zip`,
67 | label: `${ name }.zip`,
68 | } ) ),
69 | },
70 | ],
71 | ],
72 | };
73 |
--------------------------------------------------------------------------------
/.stylelintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | ignoreFiles: [
3 | '**/dist/**',
4 | '**/node_modules/**',
5 | '**/release/**',
6 | '**/scripts/**',
7 | ],
8 | extends: [ './node_modules/newspack-scripts/config/stylelint.config.js' ],
9 | };
10 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = api => {
2 | api.cache( true );
3 | return {
4 | extends: 'newspack-scripts/config/babel.config.js',
5 | };
6 | };
7 |
--------------------------------------------------------------------------------
/commitlint.config.js:
--------------------------------------------------------------------------------
1 | module.exports = { extends: [ '@commitlint/config-conventional' ] };
2 |
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "automattic/newspack-theme",
3 | "description": "A theme for Newspack. https://newspack.com/",
4 | "homepage": "https://newspack.com/",
5 | "type": "package",
6 | "license": "GPL-2.0-or-later",
7 | "support": {
8 | "issues": "https://github.com/Automattic/newspack-theme/issues"
9 | },
10 | "require-dev": {
11 | "composer/installers": "~2.0",
12 | "automattic/vipwpcs": "^2.0",
13 | "wp-coding-standards/wpcs": "^2.1",
14 | "phpcompatibility/phpcompatibility-wp": "^2.1",
15 | "dealerdirect/phpcodesniffer-composer-installer": "^1.0.0",
16 | "brainmaestro/composer-git-hooks": "^3.0",
17 | "wptrt/wpthemereview": "*",
18 | "szepeviktor/phpstan-wordpress": "^2.0"
19 | },
20 | "scripts": {
21 | "phpcs-i": "@php ./vendor/squizlabs/php_codesniffer/bin/phpcs -i",
22 | "lint": "@php ./vendor/squizlabs/php_codesniffer/bin/phpcs",
23 | "format": "@php ./vendor/squizlabs/php_codesniffer/bin/phpcbf",
24 | "post-install-cmd": [
25 | "vendor/bin/cghooks add --no-lock",
26 | "PHPStan\\WordPress\\Composer\\FixWpStubs::php73Polyfill"
27 | ],
28 | "post-update-cmd": [
29 | "vendor/bin/cghooks update",
30 | "PHPStan\\WordPress\\Composer\\FixWpStubs::php73Polyfill"
31 | ]
32 | },
33 | "extra": {
34 | "hooks": {
35 | "pre-commit": "./node_modules/.bin/lint-staged",
36 | "pre-push": "./.hooks/pre-push",
37 | "commit-msg": [
38 | "cat $1 | ./node_modules/.bin/newspack-scripts commitlint"
39 | ]
40 | }
41 | },
42 | "config": {
43 | "platform": {
44 | "php": "8.0"
45 | },
46 | "allow-plugins": {
47 | "composer/installers": true,
48 | "dealerdirect/phpcodesniffer-composer-installer": true
49 | }
50 | }
51 | }
--------------------------------------------------------------------------------
/newspack-joseph/fonts/eb-garamond/EBGaramond-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Automattic/newspack-theme/56563131fd256d3480467136de4334f782049ac0/newspack-joseph/fonts/eb-garamond/EBGaramond-Bold.ttf
--------------------------------------------------------------------------------
/newspack-joseph/fonts/eb-garamond/EBGaramond-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Automattic/newspack-theme/56563131fd256d3480467136de4334f782049ac0/newspack-joseph/fonts/eb-garamond/EBGaramond-BoldItalic.ttf
--------------------------------------------------------------------------------
/newspack-joseph/fonts/eb-garamond/EBGaramond-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Automattic/newspack-theme/56563131fd256d3480467136de4334f782049ac0/newspack-joseph/fonts/eb-garamond/EBGaramond-Italic.ttf
--------------------------------------------------------------------------------
/newspack-joseph/fonts/eb-garamond/EBGaramond-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Automattic/newspack-theme/56563131fd256d3480467136de4334f782049ac0/newspack-joseph/fonts/eb-garamond/EBGaramond-Regular.ttf
--------------------------------------------------------------------------------
/newspack-joseph/fonts/old-standard-tt/OldStandardTT-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Automattic/newspack-theme/56563131fd256d3480467136de4334f782049ac0/newspack-joseph/fonts/old-standard-tt/OldStandardTT-Bold.ttf
--------------------------------------------------------------------------------
/newspack-joseph/fonts/old-standard-tt/OldStandardTT-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Automattic/newspack-theme/56563131fd256d3480467136de4334f782049ac0/newspack-joseph/fonts/old-standard-tt/OldStandardTT-Italic.ttf
--------------------------------------------------------------------------------
/newspack-joseph/fonts/old-standard-tt/OldStandardTT-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Automattic/newspack-theme/56563131fd256d3480467136de4334f782049ac0/newspack-joseph/fonts/old-standard-tt/OldStandardTT-Regular.ttf
--------------------------------------------------------------------------------
/newspack-joseph/inc/child-color-patterns.php:
--------------------------------------------------------------------------------
1 | li,
53 | .h-sb.h-sh .nav1 ul.main-menu > li > a,
54 | .h-sb.h-sh .nav1 ul.main-menu > li > a:hover,
55 | .h-sb .top-header-contain,
56 | .h-sb .middle-header-contain {
57 | color: ' . esc_html( $header_color_contrast ) . ';
58 | }
59 | ';
60 | }
61 |
62 | if ( isset( $footer_color ) && '' !== $footer_color ) {
63 | $theme_css .= '
64 | #colophon,
65 | #colophon .widget-title,
66 | #colophon .widgettitle,
67 | #colophon .social-navigation a {
68 | color: ' . esc_html( $footer_color_contrast ) . ';
69 | }
70 |
71 | #colophon .footer-branding .wrapper,
72 | #colophon .footer-widgets:first-child {
73 | border-top: 0;
74 | }
75 | ';
76 | }
77 |
78 | $editor_css = '';
79 |
80 | if ( function_exists( 'register_block_type' ) && is_admin() ) {
81 | $theme_css = $editor_css;
82 | }
83 |
84 | return $theme_css;
85 | }
86 |
--------------------------------------------------------------------------------
/newspack-joseph/inc/child-typography.php:
--------------------------------------------------------------------------------
1 | li,
50 | .h-sb.h-sh .site-header .nav1 ul.main-menu > li > a,
51 | .h-sb.h-sh .site-header .nav1 ul.main-menu > li > a:hover,
52 | .h-sb .top-header-contain,
53 | .h-sb .middle-header-contain {
54 | color: ' . esc_html( $header_color_contrast ) . ';
55 | }
56 |
57 | .mobile-sidebar div.wpnbha .article-section-title::before,
58 | .mobile-sidebar .accent-header::before {
59 | background-color: ' . esc_html( newspack_adjust_brightness( $header_color, -30 ) ) . ';
60 | }
61 | ';
62 | }
63 | }
64 |
65 | if ( isset( $footer_color ) && '' !== $footer_color ) {
66 | $theme_css .= '
67 | .footer-branding .wrapper {
68 | border-bottom-color: ' . esc_html( newspack_adjust_brightness( $footer_color, -20 ) ) . ';
69 | }
70 |
71 | .site-footer div.wpnbha .article-section-title::before,
72 | .site-footer .accent-header::before {
73 | background-color: ' . esc_html( newspack_adjust_brightness( $footer_color, -20 ) ) . ';
74 | }
75 | ';
76 | }
77 |
78 | if ( function_exists( 'register_block_type' ) && is_admin() ) {
79 | $theme_css = $editor_css;
80 | }
81 |
82 | return $theme_css;
83 | }
84 |
--------------------------------------------------------------------------------
/newspack-katharine/inc/child-typography.php:
--------------------------------------------------------------------------------
1 | li,
50 | .h-sb.h-sh .nav1 ul.main-menu > li > a,
51 | .h-sb.h-sh .nav1 ul.main-menu > li > a:hover,
52 | .h-sb .top-header-contain,
53 | .h-sb .middle-header-contain {
54 | color: ' . esc_html( $header_color_contrast ) . ';
55 | }
56 | ';
57 | }
58 | }
59 |
60 | if ( isset( $footer_color ) && '' !== $footer_color ) {
61 | $theme_css .= '
62 | .site-footer .widget .widget-title,
63 | .site-footer .widget .widgettitle,
64 | .site-info a:visited {
65 | color: ' . esc_html( $footer_color_contrast ) . ';
66 | }
67 |
68 | .site-info {
69 | background-color: ' . esc_html( newspack_adjust_brightness( $footer_color, -10 ) ) . ';
70 | }
71 | ';
72 | }
73 |
74 | if ( function_exists( 'register_block_type' ) && is_admin() ) {
75 | $theme_css = $editor_css;
76 | }
77 |
78 | return $theme_css;
79 | }
80 |
--------------------------------------------------------------------------------
/newspack-sacha/inc/child-typography.php:
--------------------------------------------------------------------------------
1 |
12 |
13 |