forked from mirror/_s
Compare commits
3 Commits
master
...
improve-by
Author | SHA1 | Date |
---|---|---|
Yoav Farhi | b2880f537e | |
Yoav Farhi | 6af98e3e3b | |
Yoav Farhi | 43bc383c26 |
|
@ -1,8 +0,0 @@
|
||||||
{
|
|
||||||
"extends": [
|
|
||||||
"plugin:@wordpress/eslint-plugin/es5"
|
|
||||||
],
|
|
||||||
"env": {
|
|
||||||
"browser": true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
Thanks for contributing to `_s` (Underscores) — you rock!
|
||||||
|
|
||||||
|
## Maintainers
|
||||||
|
|
||||||
|
`_s` is maintained by the [Automattic Theme Team](https://themeshaper.com/about/).
|
||||||
|
|
||||||
|
## Submitting issues
|
||||||
|
|
||||||
|
Before submitting your issue, make sure it has not been discussed earlier. You can search for existing tickets [here](https://github.com/Automattic/_s/search).
|
||||||
|
|
||||||
|
Here are some tips to consider and to help you write a great report:
|
||||||
|
|
||||||
|
* `_s` supports Microsoft Internet Explorer 11 and Edge, as well as the latest two versions of all other major browsers.
|
||||||
|
* `_s` is backwards compatible with the two versions prior to the current stable version of WordPress.
|
||||||
|
* `_s` uses HTML5 markup.
|
||||||
|
* We decided not to include translations [[#50](https://github.com/Automattic/_s/pull/50)] beyond the existing `_s.pot` file, a RTL stylesheet [[#263](https://github.com/Automattic/_s/pull/263)], or editor styles [[#225](https://github.com/Automattic/_s/pull/225)], as they are likely to change during development of an `_s` based theme.
|
||||||
|
|
||||||
|
## Contributing code
|
||||||
|
|
||||||
|
Found a bug you can fix? Fantastic! Patches are always welcome. Here's a few tips for crafting a great pull request:
|
||||||
|
|
||||||
|
* Include the purpose of your PR. Be explicit about the issue your PR solves.
|
||||||
|
* Reference any existing issues that relate to your PR. This allows everyone to easily see all related discussions.
|
||||||
|
* When submitting a change that affects CSS, please make sure that both SCSS sources and output CSS have been updated equally.
|
||||||
|
* `_s` complies with the [WordPress Coding Standards](https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/) and any PR should comply as well.
|
||||||
|
|
||||||
|
By contributing code to `_s`, you grant its use under the [GNU General Public License v2 (or later)](LICENSE).
|
||||||
|
|
||||||
|
## Underscores.me
|
||||||
|
|
||||||
|
If your issue is specific to the [Underscores.me](https://underscores.me) website, the [Underscores.me GitHub repo](https://github.com/Automattic/underscores.me) is the right place for you.
|
||||||
|
|
||||||
|
The preferred method of generating a new theme based on `_s` is the [Underscores.me](https://underscores.me) website. If you have an alternative method, such as a shell script, write a blog post about it or host it in a separate repo -- and make sure to mention [@underscoresme](https://twitter.com/underscoresme) in your tweets!
|
||||||
|
|
||||||
|
Want to have your avatar listed as one of the `_s` contributors [here](https://underscores.me/#contribute)? Just make sure you have an email address added to both GitHub and your local Git installation.
|
|
@ -0,0 +1,6 @@
|
||||||
|
<!-- Thanks for contributing to Underscores! Please provide as much information as possible with your Pull Request by filling out the following - this helps make reviewing much quicker! -->
|
||||||
|
|
||||||
|
#### Changes proposed in this Pull Request:
|
||||||
|
|
||||||
|
|
||||||
|
#### Related issue(s):
|
|
@ -1,5 +0,0 @@
|
||||||
/node_modules
|
|
||||||
/vendor
|
|
||||||
package-lock.json
|
|
||||||
composer.lock
|
|
||||||
*.css.map
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"preset": "wordpress",
|
||||||
|
"fileExtensions": [ ".js" ],
|
||||||
|
"excludeFiles": [
|
||||||
|
"js/**.min.js"
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1 @@
|
||||||
|
js/**.min.js
|
|
@ -1,22 +0,0 @@
|
||||||
{
|
|
||||||
"extends": [
|
|
||||||
"stylelint-config-wordpress/scss"
|
|
||||||
],
|
|
||||||
"ignoreFiles": [
|
|
||||||
"sass/_normalize.scss"
|
|
||||||
],
|
|
||||||
"rules": {
|
|
||||||
"block-no-empty": null,
|
|
||||||
"no-duplicate-selectors": null,
|
|
||||||
"no-descending-specificity": null,
|
|
||||||
"font-family-no-duplicate-names": null,
|
|
||||||
"declaration-block-no-duplicate-properties": [
|
|
||||||
true,
|
|
||||||
{
|
|
||||||
"ignore": [
|
|
||||||
"consecutive-duplicates"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
128
.travis.yml
128
.travis.yml
|
@ -4,68 +4,92 @@
|
||||||
# For use with the Underscores WordPress theme.
|
# For use with the Underscores WordPress theme.
|
||||||
# @link https://github.com/Automattic/_s
|
# @link https://github.com/Automattic/_s
|
||||||
|
|
||||||
# Tell Travis CI which OS and which distro to use.
|
# Ditch sudo and use containers.
|
||||||
os: linux
|
# @link https://docs.travis-ci.com/user/migrating-from-legacy/#Why-migrate-to-container-based-infrastructure%3F
|
||||||
dist: xenial
|
# @link https://docs.travis-ci.com/user/workers/container-based-infrastructure/#Routing-your-build-to-container-based-infrastructure
|
||||||
|
sudo: false
|
||||||
# Cache directories between builds.
|
dist: trusty
|
||||||
# @link https://docs.travis-ci.com/user/caching/#arbitrary-directories
|
|
||||||
cache:
|
|
||||||
directories:
|
|
||||||
# Cache directory for npm.
|
|
||||||
- $HOME/.npm
|
|
||||||
# Cache directory for older Composer versions.
|
|
||||||
- $HOME/.composer/cache/files
|
|
||||||
# Cache directory for more recent Composer versions.
|
|
||||||
- $HOME/.cache/composer/files
|
|
||||||
|
|
||||||
# Declare project language.
|
# Declare project language.
|
||||||
# @link https://docs.travis-ci.com/user/languages/php/
|
# @link https://about.travis-ci.org/docs/user/languages/php/
|
||||||
language:
|
language: php
|
||||||
- php
|
|
||||||
|
|
||||||
php:
|
# Declare versions of PHP to use. Use one decimal max.
|
||||||
- 5.6
|
# @link https://docs.travis-ci.com/user/build-configuration/
|
||||||
- 7.0
|
matrix:
|
||||||
- 7.1
|
|
||||||
- 7.2
|
|
||||||
- 7.3
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
include:
|
|
||||||
- php: 7.4
|
|
||||||
env: SNIFF=1
|
|
||||||
|
|
||||||
before_install:
|
include:
|
||||||
|
# Current $required_php_version for WordPress: 5.2.4
|
||||||
|
# aliased to 5.2.17
|
||||||
|
- php: '5.2'
|
||||||
|
dist: precise
|
||||||
|
# aliased to a recent 5.6.x version
|
||||||
|
- php: '5.6'
|
||||||
|
env: SNIFF=1
|
||||||
|
# aliased to a recent 7.0.x version
|
||||||
|
- php: '7.0'
|
||||||
|
# aliased to a recent 7.2.x version
|
||||||
|
- php: '7.2'
|
||||||
|
# bleeding edge PHP
|
||||||
|
- php: 'nightly'
|
||||||
|
|
||||||
|
allow_failures:
|
||||||
|
- php: 'nightly'
|
||||||
|
|
||||||
|
# Use this to prepare the system to install prerequisites or dependencies.
|
||||||
|
# e.g. sudo apt-get update.
|
||||||
|
# Failures in this section will result in build status 'errored'.
|
||||||
|
# before_install:
|
||||||
|
|
||||||
|
# Use this to prepare your build for testing.
|
||||||
|
# e.g. copy database configurations, environment variables, etc.
|
||||||
|
# Failures in this section will result in build status 'errored'.
|
||||||
|
before_script:
|
||||||
# Speed up build time by disabling Xdebug.
|
# Speed up build time by disabling Xdebug.
|
||||||
- phpenv config-rm xdebug.ini || echo 'No xdebug config.'
|
- phpenv config-rm xdebug.ini || echo 'No xdebug config.'
|
||||||
# Download and install the latest long-term support release of node.
|
# Set up temporary paths.
|
||||||
- if [[ "$SNIFF" == 1 ]]; then nvm install --lts; fi
|
- export PHPCS_DIR=/tmp/phpcs
|
||||||
# Install Composer dependencies.
|
- export WPCS_DIR=/tmp/wpcs
|
||||||
- composer install
|
- export PHPCOMPAT_DIR=/tmp/phpcompatibility
|
||||||
# Install NPM dependencies.
|
# Install CodeSniffer for WordPress Coding Standards checks.
|
||||||
- if [[ "$SNIFF" == 1 ]]; then npm install; fi
|
- if [[ "$SNIFF" == "1" ]]; then git clone -b master --depth 1 https://github.com/squizlabs/PHP_CodeSniffer.git $PHPCS_DIR; fi
|
||||||
|
# Install WordPress Coding Standards.
|
||||||
|
- if [[ "$SNIFF" == "1" ]]; then git clone -b 0.14.1 --depth 1 https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git $WPCS_DIR; fi
|
||||||
|
# Install PHP Compatibility sniffs.
|
||||||
|
- if [[ "$SNIFF" == "1" ]]; then git clone -b master --depth 1 https://github.com/wimg/PHPCompatibility.git $PHPCOMPAT_DIR; fi
|
||||||
|
# Set install path for PHPCS sniffs.
|
||||||
|
# @link https://github.com/squizlabs/PHP_CodeSniffer/blob/4237c2fc98cc838730b76ee9cee316f99286a2a7/CodeSniffer.php#L1941
|
||||||
|
- if [[ "$SNIFF" == "1" ]]; then $PHPCS_DIR/bin/phpcs --config-set installed_paths $WPCS_DIR,$PHPCOMPAT_DIR; fi
|
||||||
|
# After CodeSniffer install you should refresh your path.
|
||||||
|
- if [[ "$SNIFF" == "1" ]]; then phpenv rehash; fi
|
||||||
|
# Install JSCS: JavaScript Code Style checker.
|
||||||
|
# @link http://jscs.info/
|
||||||
|
- if [[ "$SNIFF" == "1" ]]; then npm install -g jscs; fi
|
||||||
|
# Install JSHint, a JavaScript Code Quality Tool.
|
||||||
|
# @link http://jshint.com/docs/
|
||||||
|
- if [[ "$SNIFF" == "1" ]]; then npm install -g jshint; fi
|
||||||
|
# Pull in the WP Core jshint rules.
|
||||||
|
- if [[ "$SNIFF" == "1" ]]; then wget https://develop.svn.wordpress.org/trunk/.jshintrc; fi
|
||||||
|
|
||||||
|
# Run test script commands.
|
||||||
|
# Default is specific to project language.
|
||||||
|
# All commands must exit with code 0 on success. Anything else is considered failure.
|
||||||
script:
|
script:
|
||||||
# Validate the composer.json file.
|
# Search for PHP syntax errors.
|
||||||
# @link https://getcomposer.org/doc/03-cli.md#validate
|
- find -L . -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l
|
||||||
- composer validate --no-check-all --strict
|
# Run the theme through JSHint.
|
||||||
|
- if [[ "$SNIFF" == "1" ]]; then jshint .; fi
|
||||||
# Search for PHP syntax errors using PHP Parallel Lint.
|
# Run the theme through JavaScript Code Style checker.
|
||||||
# @link https://github.com/php-parallel-lint/PHP-Parallel-Lint
|
- if [[ "$SNIFF" == "1" ]]; then jscs .; fi
|
||||||
- composer lint:php
|
# WordPress Coding Standards.
|
||||||
|
# @link https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards
|
||||||
# Check the PHP files with the coding standards documented in the phpcs.xml.dist file.
|
# @link https://pear.php.net/package/PHP_CodeSniffer/
|
||||||
- if [[ "$SNIFF" == 1 ]]; then composer lint:wpcs; fi
|
# Uses a custom ruleset based on WordPress. This ruleset is automatically
|
||||||
|
# picked up by PHPCS as it's named `phpcs.xml(.dist)`.
|
||||||
# Check the JS files with the lint-js script defined in the @wordpress/scripts package.
|
- if [[ "$SNIFF" == "1" ]]; then $PHPCS_DIR/bin/phpcs --runtime-set ignore_warnings_on_exit 1; fi
|
||||||
- if [[ "$SNIFF" == 1 ]]; then npm run lint:js; fi
|
|
||||||
|
|
||||||
# Check the SCSS files with the lint-style script defined in the @wordpress/scripts package.
|
|
||||||
- if [[ "$SNIFF" == 1 ]]; then npm run lint:scss; fi
|
|
||||||
|
|
||||||
# Receive notifications for build results.
|
# Receive notifications for build results.
|
||||||
# @link https://docs.travis-ci.com/user/notifications/#configuring-email-notifications
|
# @link https://docs.travis-ci.com/user/notifications/#Email-notifications
|
||||||
notifications:
|
notifications:
|
||||||
email: false
|
email: false
|
||||||
|
|
10
404.php
10
404.php
|
@ -10,7 +10,8 @@
|
||||||
get_header();
|
get_header();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<main id="primary" class="site-main">
|
<div id="primary" class="content-area">
|
||||||
|
<main id="main" class="site-main">
|
||||||
|
|
||||||
<section class="error-404 not-found">
|
<section class="error-404 not-found">
|
||||||
<header class="page-header">
|
<header class="page-header">
|
||||||
|
@ -30,15 +31,13 @@ get_header();
|
||||||
<h2 class="widget-title"><?php esc_html_e( 'Most Used Categories', '_s' ); ?></h2>
|
<h2 class="widget-title"><?php esc_html_e( 'Most Used Categories', '_s' ); ?></h2>
|
||||||
<ul>
|
<ul>
|
||||||
<?php
|
<?php
|
||||||
wp_list_categories(
|
wp_list_categories( array(
|
||||||
array(
|
|
||||||
'orderby' => 'count',
|
'orderby' => 'count',
|
||||||
'order' => 'DESC',
|
'order' => 'DESC',
|
||||||
'show_count' => 1,
|
'show_count' => 1,
|
||||||
'title_li' => '',
|
'title_li' => '',
|
||||||
'number' => 10,
|
'number' => 10,
|
||||||
)
|
) );
|
||||||
);
|
|
||||||
?>
|
?>
|
||||||
</ul>
|
</ul>
|
||||||
</div><!-- .widget -->
|
</div><!-- .widget -->
|
||||||
|
@ -55,6 +54,7 @@ get_header();
|
||||||
</section><!-- .error-404 -->
|
</section><!-- .error-404 -->
|
||||||
|
|
||||||
</main><!-- #main -->
|
</main><!-- #main -->
|
||||||
|
</div><!-- #primary -->
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
get_footer();
|
get_footer();
|
||||||
|
|
67
README.md
67
README.md
|
@ -1,10 +1,4 @@
|
||||||
Changes from Upstream
|
[![Build Status](https://travis-ci.org/Automattic/_s.svg?branch=master)](https://travis-ci.org/Automattic/_s)
|
||||||
---------------------
|
|
||||||
|
|
||||||
* Added 'autoprefixer'.
|
|
||||||
* Added 'dev' script - this also watches for `scss` changes - `npm run dev`
|
|
||||||
* Run `SETUP` to set theme up with correct name and npm and composer dependencies
|
|
||||||
installed.
|
|
||||||
|
|
||||||
_s
|
_s
|
||||||
===
|
===
|
||||||
|
@ -13,63 +7,40 @@ Hi. I'm a starter theme called `_s`, or `underscores`, if you like. I'm a theme
|
||||||
|
|
||||||
My ultra-minimal CSS might make me look like theme tartare but that means less stuff to get in your way when you're designing your awesome theme. Here are some of the other more interesting things you'll find here:
|
My ultra-minimal CSS might make me look like theme tartare but that means less stuff to get in your way when you're designing your awesome theme. Here are some of the other more interesting things you'll find here:
|
||||||
|
|
||||||
* A modern workflow with a pre-made command-line interface to turn your project into a more pleasant experience.
|
|
||||||
* A just right amount of lean, well-commented, modern, HTML5 templates.
|
* A just right amount of lean, well-commented, modern, HTML5 templates.
|
||||||
* A custom header implementation in `inc/custom-header.php`. Just add the code snippet found in the comments of `inc/custom-header.php` to your `header.php` template.
|
* A helpful 404 template.
|
||||||
|
* A custom header implementation in `inc/custom-header.php` just add the code snippet found in the comments of `inc/custom-header.php` to your `header.php` template.
|
||||||
* Custom template tags in `inc/template-tags.php` that keep your templates clean and neat and prevent code duplication.
|
* Custom template tags in `inc/template-tags.php` that keep your templates clean and neat and prevent code duplication.
|
||||||
* Some small tweaks in `inc/template-functions.php` that can improve your theming experience.
|
* Some small tweaks in `inc/template-functions.php` that can improve your theming experience.
|
||||||
* A script at `js/navigation.js` that makes your menu a toggled dropdown on small screens (like your phone), ready for CSS artistry. It's enqueued in `functions.php`.
|
* A script at `js/navigation.js` that makes your menu a toggled dropdown on small screens (like your phone), ready for CSS artistry. It's enqueued in `functions.php`.
|
||||||
* 2 sample layouts in `sass/layout/` made using CSS Grid for a sidebar on either side of your content. Just uncomment the layout of your choice in `sass/site/_site.scss`.
|
* 2 sample CSS layouts in `layouts/` for a sidebar on either side of your content.
|
||||||
Note: `.no-sidebar` styles are automatically loaded.
|
Note: `.no-sidebar` styles are not automatically loaded.
|
||||||
* Smartly organized starter CSS in `style.css` that will help you to quickly get your design off the ground.
|
* Smartly organized starter CSS in `style.css` that will help you to quickly get your design off the ground.
|
||||||
* Full support for `WooCommerce plugin` integration with hooks in `inc/woocommerce.php`, styling override woocommerce.css with product gallery features (zoom, swipe, lightbox) enabled.
|
|
||||||
* Licensed under GPLv2 or later. :) Use it to make something cool.
|
* Licensed under GPLv2 or later. :) Use it to make something cool.
|
||||||
|
|
||||||
Installation
|
Getting Started
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
### Requirements
|
If you want to keep it simple, head over to https://underscores.me and generate your `_s` based theme from there. You just input the name of the theme you want to create, click the "Generate" button, and you get your ready-to-awesomize starter theme.
|
||||||
|
|
||||||
`_s` requires the following dependencies:
|
If you want to set things up manually, download `_s` from GitHub. The first thing you want to do is copy the `_s` directory and change the name to something else (like, say, `megatherium-is-awesome`), and then you'll need to do a five-step find and replace on the name in all the templates.
|
||||||
|
|
||||||
- [Node.js](https://nodejs.org/)
|
1. Search for `'_s'` (inside single quotations) to capture the text domain.
|
||||||
- [Composer](https://getcomposer.org/)
|
2. Search for `_s_` to capture all the function names.
|
||||||
|
3. Search for `Text Domain: _s` in `style.css`.
|
||||||
|
4. Search for <code> _s</code> (with a space before it) to capture DocBlocks.
|
||||||
|
5. Search for `_s-` to capture prefixed handles.
|
||||||
|
|
||||||
### Quick Start
|
OR
|
||||||
|
|
||||||
Clone or download this repository, change its name to something else (like, say, `megatherium-is-awesome`), and then you'll need to do a six-step find and replace on the name in all the templates.
|
1. Search for: `'_s'` and replace with: `'megatherium-is-awesome'`
|
||||||
|
2. Search for: `_s_` and replace with: `megatherium_is_awesome_`
|
||||||
1. Search for `'_s'` (inside single quotations) to capture the text domain and replace with: `'megatherium-is-awesome'`.
|
3. Search for: `Text Domain: _s` and replace with: `Text Domain: megatherium-is-awesome` in `style.css`.
|
||||||
2. Search for `_s_` to capture all the functions names and replace with: `megatherium_is_awesome_`.
|
4. Search for: <code> _s</code> and replace with: <code> Megatherium_is_Awesome</code>
|
||||||
3. Search for `Text Domain: _s` in `style.css` and replace with: `Text Domain: megatherium-is-awesome`.
|
5. Search for: `_s-` and replace with: `megatherium-is-awesome-`
|
||||||
4. Search for <code> _s</code> (with a space before it) to capture DocBlocks and replace with: <code> Megatherium_is_Awesome</code>.
|
|
||||||
5. Search for `_s-` to capture prefixed handles and replace with: `megatherium-is-awesome-`.
|
|
||||||
6. Search for `_S_` (in uppercase) to capture constants and replace with: `MEGATHERIUM_IS_AWESOME_`.
|
|
||||||
|
|
||||||
Then, update the stylesheet header in `style.css`, the links in `footer.php` with your own information and rename `_s.pot` from `languages` folder to use the theme's slug. Next, update or delete this readme.
|
Then, update the stylesheet header in `style.css`, the links in `footer.php` with your own information and rename `_s.pot` from `languages` folder to use the theme's slug. Next, update or delete this readme.
|
||||||
|
|
||||||
### Setup
|
|
||||||
|
|
||||||
To start using all the tools that comes with `_s` you need to install the necessary Node.js and Composer dependencies :
|
|
||||||
|
|
||||||
```sh
|
|
||||||
$ composer install
|
|
||||||
$ npm install
|
|
||||||
```
|
|
||||||
|
|
||||||
### Available CLI commands
|
|
||||||
|
|
||||||
`_s` comes packed with CLI commands tailored for WordPress theme development :
|
|
||||||
|
|
||||||
- `composer lint:wpcs` : checks all PHP files against [PHP Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/).
|
|
||||||
- `composer lint:php` : checks all PHP files for syntax errors.
|
|
||||||
- `composer make-pot` : generates a .pot file in the `language/` directory.
|
|
||||||
- `npm run compile:css` : compiles SASS files to css.
|
|
||||||
- `npm run compile:rtl` : generates an RTL stylesheet.
|
|
||||||
- `npm run lint:scss` : checks all SASS files against [CSS Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/css/).
|
|
||||||
- `npm run lint:js` : checks all JavaScript files against [JavaScript Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards/javascript/).
|
|
||||||
- `npm run bundle` : generates a .zip archive for distribution, excluding development and system files.
|
|
||||||
|
|
||||||
Now you're ready to go! The next step is easy to say, but harder to do: make an awesome WordPress theme. :)
|
Now you're ready to go! The next step is easy to say, but harder to do: make an awesome WordPress theme. :)
|
||||||
|
|
||||||
Good luck!
|
Good luck!
|
||||||
|
|
44
SETUP
44
SETUP
|
@ -1,44 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ -z "$1" ] ; then
|
|
||||||
_name=${PWD##*/}
|
|
||||||
if [ -z "$_name" ] ; then
|
|
||||||
echo "Error - could not determine theme name"
|
|
||||||
echo "Please rerun and pass theme name as an argument."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
_name="$1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
_name_uppercase="$(echo "$_name" | tr '[:lower:]' '[:upper:]')"
|
|
||||||
|
|
||||||
# search and replace
|
|
||||||
|
|
||||||
find . -type f -name "*.*" -print0 | xargs -0 sed -i '' -e s/\'_s\'/"'$_name'"/g
|
|
||||||
find . -type f -name "*.*" -print0 | xargs -0 sed -i '' -e 's/_s_/'"$_name"'_/g'
|
|
||||||
find . -type f -name "*.*" -print0 | xargs -0 sed -i '' -e 's/Text Domain: _s/Text Domain: '"$_name"'/g'
|
|
||||||
find . -type f -name "*.*" -print0 | xargs -0 sed -i '' -e 's/ _s/ '"$_name"'/g'
|
|
||||||
find . -type f -name "*.*" -print0 | xargs -0 sed -i '' -e 's/_s-/'"$_name"'-/g'
|
|
||||||
find . -type f -name "*.*" -print0 | xargs -0 sed -i '' -e 's/_S_/'"$_name_uppercase"'_/g'
|
|
||||||
|
|
||||||
# install composer
|
|
||||||
# https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
|
|
||||||
EXPECTED_CHECKSUM="$(wget -q -O - https://composer.github.io/installer.sig)"
|
|
||||||
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
|
||||||
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
|
|
||||||
|
|
||||||
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]
|
|
||||||
then
|
|
||||||
>&2 echo 'ERROR: Invalid installer checksum'
|
|
||||||
rm composer-setup.php
|
|
||||||
exit 10
|
|
||||||
fi
|
|
||||||
|
|
||||||
php composer-setup.php
|
|
||||||
|
|
||||||
php composer.phar install
|
|
||||||
|
|
||||||
# npm install
|
|
||||||
|
|
||||||
npm install
|
|
|
@ -10,7 +10,8 @@
|
||||||
get_header();
|
get_header();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<main id="primary" class="site-main">
|
<div id="primary" class="content-area">
|
||||||
|
<main id="main" class="site-main">
|
||||||
|
|
||||||
<?php if ( have_posts() ) : ?>
|
<?php if ( have_posts() ) : ?>
|
||||||
|
|
||||||
|
@ -45,6 +46,7 @@ get_header();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</main><!-- #main -->
|
</main><!-- #main -->
|
||||||
|
</div><!-- #primary -->
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
get_sidebar();
|
get_sidebar();
|
||||||
|
|
|
@ -1,91 +0,0 @@
|
||||||
#!/usr/bin/env node
|
|
||||||
|
|
||||||
const path = require( 'path' );
|
|
||||||
const fs = require( 'fs' );
|
|
||||||
const archiver = require('archiver');
|
|
||||||
|
|
||||||
// Contains the excluded files and folders.
|
|
||||||
const excludes = [
|
|
||||||
'.DS_Store',
|
|
||||||
'.stylelintrc.json',
|
|
||||||
'.eslintrc',
|
|
||||||
'.git',
|
|
||||||
'.gitattributes',
|
|
||||||
'.github',
|
|
||||||
'.gitignore',
|
|
||||||
'README.md',
|
|
||||||
'bin',
|
|
||||||
'composer.json',
|
|
||||||
'composer.lock',
|
|
||||||
'node_modules',
|
|
||||||
'package-lock.json',
|
|
||||||
'package.json',
|
|
||||||
'vendor',
|
|
||||||
'.travis.yml',
|
|
||||||
'phpcs.xml.dist',
|
|
||||||
'sass',
|
|
||||||
];
|
|
||||||
|
|
||||||
// The path of the zip file.
|
|
||||||
const zipPath = path.join(
|
|
||||||
__dirname,
|
|
||||||
'/../../',
|
|
||||||
path.basename(path.dirname(__dirname))
|
|
||||||
) + '.zip';
|
|
||||||
|
|
||||||
|
|
||||||
// Create a file to stream archive data to.
|
|
||||||
let output = fs.createWriteStream( zipPath );
|
|
||||||
let archive = archiver('zip', {
|
|
||||||
zlib: { level: 9 }
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Recursively traverse the directory tree and append the files to the archive.
|
|
||||||
* @param {string} directoryPath - The path of the directory being looped through.
|
|
||||||
*/
|
|
||||||
function traverseDirectoryTree( directoryPath ) {
|
|
||||||
const files = fs.readdirSync( directoryPath );
|
|
||||||
for ( const i in files ) {
|
|
||||||
const currentPath = directoryPath + '/' + files[i];
|
|
||||||
const stats = fs.statSync( currentPath );
|
|
||||||
let relativePath = path.relative(process.cwd(), currentPath);
|
|
||||||
if ( stats.isFile() && ! excludes.includes( files[i] ) ) {
|
|
||||||
archive.file(currentPath, {
|
|
||||||
name: `${relativePath}`
|
|
||||||
});
|
|
||||||
} else if ( stats.isDirectory() && ! excludes.includes( files[i] ) ) {
|
|
||||||
traverseDirectoryTree( currentPath );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Listen for all archive data to be written.
|
|
||||||
output.on('close', function () {
|
|
||||||
console.log(`Created ${path.basename(path.dirname(__dirname))}.zip of ${archive.pointer()} bytes`);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Catch warnings during archiving.
|
|
||||||
archive.on('warning', function(err) {
|
|
||||||
if (err.code === 'ENOENT') {
|
|
||||||
// log warning
|
|
||||||
console.log(err);
|
|
||||||
} else {
|
|
||||||
// throw error
|
|
||||||
throw err;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Catch errors during archiving.
|
|
||||||
archive.on('error', function(err){
|
|
||||||
throw err;
|
|
||||||
});
|
|
||||||
|
|
||||||
// Pipe archive data to the file.
|
|
||||||
archive.pipe(output);
|
|
||||||
|
|
||||||
// Append the files to the archive.
|
|
||||||
traverseDirectoryTree( '.' );
|
|
||||||
|
|
||||||
// Finalize the archive.
|
|
||||||
archive.finalize();
|
|
14
comments.php
14
comments.php
|
@ -33,14 +33,14 @@ if ( post_password_required() ) {
|
||||||
printf(
|
printf(
|
||||||
/* translators: 1: title. */
|
/* translators: 1: title. */
|
||||||
esc_html__( 'One thought on “%1$s”', '_s' ),
|
esc_html__( 'One thought on “%1$s”', '_s' ),
|
||||||
'<span>' . wp_kses_post( get_the_title() ) . '</span>'
|
'<span>' . get_the_title() . '</span>'
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
printf(
|
printf( // WPCS: XSS OK.
|
||||||
/* translators: 1: comment count number, 2: title. */
|
/* translators: 1: comment count number, 2: title. */
|
||||||
esc_html( _nx( '%1$s thought on “%2$s”', '%1$s thoughts on “%2$s”', $_s_comment_count, 'comments title', '_s' ) ),
|
esc_html( _nx( '%1$s thought on “%2$s”', '%1$s thoughts on “%2$s”', $_s_comment_count, 'comments title', '_s' ) ),
|
||||||
number_format_i18n( $_s_comment_count ), // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
number_format_i18n( $_s_comment_count ),
|
||||||
'<span>' . wp_kses_post( get_the_title() ) . '</span>'
|
'<span>' . get_the_title() . '</span>'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -50,12 +50,10 @@ if ( post_password_required() ) {
|
||||||
|
|
||||||
<ol class="comment-list">
|
<ol class="comment-list">
|
||||||
<?php
|
<?php
|
||||||
wp_list_comments(
|
wp_list_comments( array(
|
||||||
array(
|
|
||||||
'style' => 'ol',
|
'style' => 'ol',
|
||||||
'short_ping' => true,
|
'short_ping' => true,
|
||||||
)
|
) );
|
||||||
);
|
|
||||||
?>
|
?>
|
||||||
</ol><!-- .comment-list -->
|
</ol><!-- .comment-list -->
|
||||||
|
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
{
|
|
||||||
"name": "automattic/underscores",
|
|
||||||
"type": "wordpress-theme",
|
|
||||||
"description": "Hi. I'm a starter theme called _s, or underscores, if you like. I'm a theme meant for hacking so don't use me as a Parent Theme. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.",
|
|
||||||
"keywords": [
|
|
||||||
"WordPress",
|
|
||||||
"Themes"
|
|
||||||
],
|
|
||||||
"homepage": "https://github.com/Automattic/_s",
|
|
||||||
"license": "GPL-2.0-or-later",
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Contributors",
|
|
||||||
"homepage": "https://github.com/Automattic/_s/graphs/contributors"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"require": {
|
|
||||||
"php": ">=5.6"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"dealerdirect/phpcodesniffer-composer-installer": "^0.6.2",
|
|
||||||
"wptrt/wpthemereview": "^0.2.1",
|
|
||||||
"php-parallel-lint/php-parallel-lint": "^1.2.0",
|
|
||||||
"wp-cli/i18n-command": "^2.2"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"lint:wpcs": "@php ./vendor/squizlabs/php_codesniffer/bin/phpcs",
|
|
||||||
"lint:php": "@php ./vendor/bin/parallel-lint --exclude .git --exclude vendor .",
|
|
||||||
"make-pot": "wp i18n make-pot . languages/_s.pot"
|
|
||||||
},
|
|
||||||
"support": {
|
|
||||||
"issues": "https://github.com/Automattic/_s/issues",
|
|
||||||
"source": "https://github.com/Automattic/_s"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -11,6 +11,8 @@
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
</div><!-- #content -->
|
||||||
|
|
||||||
<footer id="colophon" class="site-footer">
|
<footer id="colophon" class="site-footer">
|
||||||
<div class="site-info">
|
<div class="site-info">
|
||||||
<a href="<?php echo esc_url( __( 'https://wordpress.org/', '_s' ) ); ?>">
|
<a href="<?php echo esc_url( __( 'https://wordpress.org/', '_s' ) ); ?>">
|
||||||
|
|
|
@ -7,11 +7,6 @@
|
||||||
* @package _s
|
* @package _s
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( ! defined( '_S_VERSION' ) ) {
|
|
||||||
// Replace the version number of the theme on each release.
|
|
||||||
define( '_S_VERSION', '1.0.0' );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! function_exists( '_s_setup' ) ) :
|
if ( ! function_exists( '_s_setup' ) ) :
|
||||||
/**
|
/**
|
||||||
* Sets up theme defaults and registers support for various WordPress features.
|
* Sets up theme defaults and registers support for various WordPress features.
|
||||||
|
@ -48,40 +43,27 @@ if ( ! function_exists( '_s_setup' ) ) :
|
||||||
add_theme_support( 'post-thumbnails' );
|
add_theme_support( 'post-thumbnails' );
|
||||||
|
|
||||||
// This theme uses wp_nav_menu() in one location.
|
// This theme uses wp_nav_menu() in one location.
|
||||||
register_nav_menus(
|
register_nav_menus( array(
|
||||||
array(
|
|
||||||
'menu-1' => esc_html__( 'Primary', '_s' ),
|
'menu-1' => esc_html__( 'Primary', '_s' ),
|
||||||
)
|
) );
|
||||||
);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Switch default core markup for search form, comment form, and comments
|
* Switch default core markup for search form, comment form, and comments
|
||||||
* to output valid HTML5.
|
* to output valid HTML5.
|
||||||
*/
|
*/
|
||||||
add_theme_support(
|
add_theme_support( 'html5', array(
|
||||||
'html5',
|
|
||||||
array(
|
|
||||||
'search-form',
|
'search-form',
|
||||||
'comment-form',
|
'comment-form',
|
||||||
'comment-list',
|
'comment-list',
|
||||||
'gallery',
|
'gallery',
|
||||||
'caption',
|
'caption',
|
||||||
'style',
|
) );
|
||||||
'script',
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// Set up the WordPress core custom background feature.
|
// Set up the WordPress core custom background feature.
|
||||||
add_theme_support(
|
add_theme_support( 'custom-background', apply_filters( '_s_custom_background_args', array(
|
||||||
'custom-background',
|
|
||||||
apply_filters(
|
|
||||||
'_s_custom_background_args',
|
|
||||||
array(
|
|
||||||
'default-color' => 'ffffff',
|
'default-color' => 'ffffff',
|
||||||
'default-image' => '',
|
'default-image' => '',
|
||||||
)
|
) ) );
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// Add theme support for selective refresh for widgets.
|
// Add theme support for selective refresh for widgets.
|
||||||
add_theme_support( 'customize-selective-refresh-widgets' );
|
add_theme_support( 'customize-selective-refresh-widgets' );
|
||||||
|
@ -91,15 +73,12 @@ if ( ! function_exists( '_s_setup' ) ) :
|
||||||
*
|
*
|
||||||
* @link https://codex.wordpress.org/Theme_Logo
|
* @link https://codex.wordpress.org/Theme_Logo
|
||||||
*/
|
*/
|
||||||
add_theme_support(
|
add_theme_support( 'custom-logo', array(
|
||||||
'custom-logo',
|
|
||||||
array(
|
|
||||||
'height' => 250,
|
'height' => 250,
|
||||||
'width' => 250,
|
'width' => 250,
|
||||||
'flex-width' => true,
|
'flex-width' => true,
|
||||||
'flex-height' => true,
|
'flex-height' => true,
|
||||||
)
|
) );
|
||||||
);
|
|
||||||
}
|
}
|
||||||
endif;
|
endif;
|
||||||
add_action( 'after_setup_theme', '_s_setup' );
|
add_action( 'after_setup_theme', '_s_setup' );
|
||||||
|
@ -125,8 +104,7 @@ add_action( 'after_setup_theme', '_s_content_width', 0 );
|
||||||
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
|
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
|
||||||
*/
|
*/
|
||||||
function _s_widgets_init() {
|
function _s_widgets_init() {
|
||||||
register_sidebar(
|
register_sidebar( array(
|
||||||
array(
|
|
||||||
'name' => esc_html__( 'Sidebar', '_s' ),
|
'name' => esc_html__( 'Sidebar', '_s' ),
|
||||||
'id' => 'sidebar-1',
|
'id' => 'sidebar-1',
|
||||||
'description' => esc_html__( 'Add widgets here.', '_s' ),
|
'description' => esc_html__( 'Add widgets here.', '_s' ),
|
||||||
|
@ -134,39 +112,19 @@ function _s_widgets_init() {
|
||||||
'after_widget' => '</section>',
|
'after_widget' => '</section>',
|
||||||
'before_title' => '<h2 class="widget-title">',
|
'before_title' => '<h2 class="widget-title">',
|
||||||
'after_title' => '</h2>',
|
'after_title' => '</h2>',
|
||||||
)
|
) );
|
||||||
);
|
|
||||||
}
|
}
|
||||||
add_action( 'widgets_init', '_s_widgets_init' );
|
add_action( 'widgets_init', '_s_widgets_init' );
|
||||||
|
|
||||||
function google_fonts() {
|
|
||||||
$google_fonts = apply_filters(
|
|
||||||
'storefront_google_font_families', array(
|
|
||||||
// 'source-sans-pro' => 'Source+Sans+Pro:400,300,300italic,400italic,600,700,900',
|
|
||||||
'montserrat' => 'Montserrat:400,600',
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
$query_args = array(
|
|
||||||
'family' => implode( '|', $google_fonts ),
|
|
||||||
'subset' => rawurlencode( 'latin,latin-ext' ),
|
|
||||||
);
|
|
||||||
|
|
||||||
$fonts_url = add_query_arg( $query_args, 'https://fonts.googleapis.com/css' );
|
|
||||||
|
|
||||||
return $fonts_url;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enqueue scripts and styles.
|
* Enqueue scripts and styles.
|
||||||
*/
|
*/
|
||||||
function _s_scripts() {
|
function _s_scripts() {
|
||||||
wp_enqueue_style( '_s-style', get_stylesheet_uri(), array(), _S_VERSION );
|
wp_enqueue_style( '_s-style', get_stylesheet_uri() );
|
||||||
wp_style_add_data( '_s-style', 'rtl', 'replace' );
|
|
||||||
|
|
||||||
wp_enqueue_style( '_s-google-fonts', google_fonts(), array(), null );
|
wp_enqueue_script( '_s-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20151215', true );
|
||||||
|
|
||||||
wp_enqueue_script( '_s-navigation', get_template_directory_uri() . '/js/navigation.js', array(), _S_VERSION, true );
|
wp_enqueue_script( '_s-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20151215', true );
|
||||||
|
|
||||||
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
|
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
|
||||||
wp_enqueue_script( 'comment-reply' );
|
wp_enqueue_script( 'comment-reply' );
|
||||||
|
|
15
header.php
15
header.php
|
@ -15,15 +15,14 @@
|
||||||
<head>
|
<head>
|
||||||
<meta charset="<?php bloginfo( 'charset' ); ?>">
|
<meta charset="<?php bloginfo( 'charset' ); ?>">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<link rel="profile" href="https://gmpg.org/xfn/11">
|
<link rel="profile" href="http://gmpg.org/xfn/11">
|
||||||
|
|
||||||
<?php wp_head(); ?>
|
<?php wp_head(); ?>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body <?php body_class(); ?>>
|
<body <?php body_class(); ?>>
|
||||||
<?php wp_body_open(); ?>
|
|
||||||
<div id="page" class="site">
|
<div id="page" class="site">
|
||||||
<a class="skip-link screen-reader-text" href="#primary"><?php esc_html_e( 'Skip to content', '_s' ); ?></a>
|
<a class="skip-link screen-reader-text" href="#content"><?php esc_html_e( 'Skip to content', '_s' ); ?></a>
|
||||||
|
|
||||||
<header id="masthead" class="site-header">
|
<header id="masthead" class="site-header">
|
||||||
<div class="site-branding">
|
<div class="site-branding">
|
||||||
|
@ -41,19 +40,19 @@
|
||||||
$_s_description = get_bloginfo( 'description', 'display' );
|
$_s_description = get_bloginfo( 'description', 'display' );
|
||||||
if ( $_s_description || is_customize_preview() ) :
|
if ( $_s_description || is_customize_preview() ) :
|
||||||
?>
|
?>
|
||||||
<p class="site-description"><?php echo $_s_description; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p>
|
<p class="site-description"><?php echo $_s_description; /* WPCS: xss ok. */ ?></p>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div><!-- .site-branding -->
|
</div><!-- .site-branding -->
|
||||||
|
|
||||||
<nav id="site-navigation" class="main-navigation">
|
<nav id="site-navigation" class="main-navigation">
|
||||||
<button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"><?php esc_html_e( 'Primary Menu', '_s' ); ?></button>
|
<button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"><?php esc_html_e( 'Primary Menu', '_s' ); ?></button>
|
||||||
<?php
|
<?php
|
||||||
wp_nav_menu(
|
wp_nav_menu( array(
|
||||||
array(
|
|
||||||
'theme_location' => 'menu-1',
|
'theme_location' => 'menu-1',
|
||||||
'menu_id' => 'primary-menu',
|
'menu_id' => 'primary-menu',
|
||||||
)
|
) );
|
||||||
);
|
|
||||||
?>
|
?>
|
||||||
</nav><!-- #site-navigation -->
|
</nav><!-- #site-navigation -->
|
||||||
</header><!-- #masthead -->
|
</header><!-- #masthead -->
|
||||||
|
|
||||||
|
<div id="content" class="site-content">
|
||||||
|
|
|
@ -17,20 +17,14 @@
|
||||||
* @uses _s_header_style()
|
* @uses _s_header_style()
|
||||||
*/
|
*/
|
||||||
function _s_custom_header_setup() {
|
function _s_custom_header_setup() {
|
||||||
add_theme_support(
|
add_theme_support( 'custom-header', apply_filters( '_s_custom_header_args', array(
|
||||||
'custom-header',
|
|
||||||
apply_filters(
|
|
||||||
'_s_custom_header_args',
|
|
||||||
array(
|
|
||||||
'default-image' => '',
|
'default-image' => '',
|
||||||
'default-text-color' => '000000',
|
'default-text-color' => '000000',
|
||||||
'width' => 1000,
|
'width' => 1000,
|
||||||
'height' => 250,
|
'height' => 250,
|
||||||
'flex-height' => true,
|
'flex-height' => true,
|
||||||
'wp-head-callback' => '_s_header_style',
|
'wp-head-callback' => '_s_header_style',
|
||||||
)
|
) ) );
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
add_action( 'after_setup_theme', '_s_custom_header_setup' );
|
add_action( 'after_setup_theme', '_s_custom_header_setup' );
|
||||||
|
|
||||||
|
|
|
@ -16,20 +16,14 @@ function _s_customize_register( $wp_customize ) {
|
||||||
$wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';
|
$wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';
|
||||||
|
|
||||||
if ( isset( $wp_customize->selective_refresh ) ) {
|
if ( isset( $wp_customize->selective_refresh ) ) {
|
||||||
$wp_customize->selective_refresh->add_partial(
|
$wp_customize->selective_refresh->add_partial( 'blogname', array(
|
||||||
'blogname',
|
|
||||||
array(
|
|
||||||
'selector' => '.site-title a',
|
'selector' => '.site-title a',
|
||||||
'render_callback' => '_s_customize_partial_blogname',
|
'render_callback' => '_s_customize_partial_blogname',
|
||||||
)
|
) );
|
||||||
);
|
$wp_customize->selective_refresh->add_partial( 'blogdescription', array(
|
||||||
$wp_customize->selective_refresh->add_partial(
|
|
||||||
'blogdescription',
|
|
||||||
array(
|
|
||||||
'selector' => '.site-description',
|
'selector' => '.site-description',
|
||||||
'render_callback' => '_s_customize_partial_blogdescription',
|
'render_callback' => '_s_customize_partial_blogdescription',
|
||||||
)
|
) );
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
add_action( 'customize_register', '_s_customize_register' );
|
add_action( 'customize_register', '_s_customize_register' );
|
||||||
|
|
|
@ -16,22 +16,17 @@
|
||||||
*/
|
*/
|
||||||
function _s_jetpack_setup() {
|
function _s_jetpack_setup() {
|
||||||
// Add theme support for Infinite Scroll.
|
// Add theme support for Infinite Scroll.
|
||||||
add_theme_support(
|
add_theme_support( 'infinite-scroll', array(
|
||||||
'infinite-scroll',
|
|
||||||
array(
|
|
||||||
'container' => 'main',
|
'container' => 'main',
|
||||||
'render' => '_s_infinite_scroll_render',
|
'render' => '_s_infinite_scroll_render',
|
||||||
'footer' => 'page',
|
'footer' => 'page',
|
||||||
)
|
) );
|
||||||
);
|
|
||||||
|
|
||||||
// Add theme support for Responsive Videos.
|
// Add theme support for Responsive Videos.
|
||||||
add_theme_support( 'jetpack-responsive-videos' );
|
add_theme_support( 'jetpack-responsive-videos' );
|
||||||
|
|
||||||
// Add theme support for Content Options.
|
// Add theme support for Content Options.
|
||||||
add_theme_support(
|
add_theme_support( 'jetpack-content-options', array(
|
||||||
'jetpack-content-options',
|
|
||||||
array(
|
|
||||||
'post-details' => array(
|
'post-details' => array(
|
||||||
'stylesheet' => '_s-style',
|
'stylesheet' => '_s-style',
|
||||||
'date' => '.posted-on',
|
'date' => '.posted-on',
|
||||||
|
@ -45,8 +40,7 @@ function _s_jetpack_setup() {
|
||||||
'post' => true,
|
'post' => true,
|
||||||
'page' => true,
|
'page' => true,
|
||||||
),
|
),
|
||||||
)
|
) );
|
||||||
);
|
|
||||||
}
|
}
|
||||||
add_action( 'after_setup_theme', '_s_jetpack_setup' );
|
add_action( 'after_setup_theme', '_s_jetpack_setup' );
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ add_filter( 'body_class', '_s_body_classes' );
|
||||||
*/
|
*/
|
||||||
function _s_pingback_header() {
|
function _s_pingback_header() {
|
||||||
if ( is_singular() && pings_open() ) {
|
if ( is_singular() && pings_open() ) {
|
||||||
printf( '<link rel="pingback" href="%s">', esc_url( get_bloginfo( 'pingback_url' ) ) );
|
echo '<link rel="pingback" href="', esc_url( get_bloginfo( 'pingback_url' ) ), '">';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
add_action( 'wp_head', '_s_pingback_header' );
|
add_action( 'wp_head', '_s_pingback_header' );
|
||||||
|
|
|
@ -7,48 +7,30 @@
|
||||||
* @package _s
|
* @package _s
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( ! function_exists( '_s_posted_on' ) ) :
|
if ( ! function_exists( '_s_posted_on_by' ) ) :
|
||||||
/**
|
/**
|
||||||
* Prints HTML with meta information for the current post-date/time.
|
* Prints HTML with meta information for the current post-date/time and current author.
|
||||||
*/
|
*/
|
||||||
function _s_posted_on() {
|
function _s_posted_on_by() {
|
||||||
|
|
||||||
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
|
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
|
||||||
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
|
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
|
||||||
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
|
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
|
||||||
}
|
}
|
||||||
|
|
||||||
$time_string = sprintf(
|
$time_string = sprintf( $time_string,
|
||||||
$time_string,
|
|
||||||
esc_attr( get_the_date( DATE_W3C ) ),
|
esc_attr( get_the_date( DATE_W3C ) ),
|
||||||
esc_html( get_the_date() ),
|
esc_html( get_the_date() ),
|
||||||
esc_attr( get_the_modified_date( DATE_W3C ) ),
|
esc_attr( get_the_modified_date( DATE_W3C ) ),
|
||||||
esc_html( get_the_modified_date() )
|
esc_html( get_the_modified_date() )
|
||||||
);
|
);
|
||||||
|
|
||||||
$posted_on = sprintf(
|
printf(
|
||||||
/* translators: %s: post date. */
|
/* translators: %1$s: post date, %2$s: post author . */
|
||||||
esc_html_x( 'Posted on %s', 'post date', '_s' ),
|
__( '<span class="posted-on">Posted on %1$s</span> <span class="byline">by %2$s</span>', '_s' ),
|
||||||
'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
|
'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>', // WPCS: XSS OK.
|
||||||
);
|
|
||||||
|
|
||||||
echo '<span class="posted-on">' . $posted_on . '</span>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
|
||||||
|
|
||||||
}
|
|
||||||
endif;
|
|
||||||
|
|
||||||
if ( ! function_exists( '_s_posted_by' ) ) :
|
|
||||||
/**
|
|
||||||
* Prints HTML with meta information for the current author.
|
|
||||||
*/
|
|
||||||
function _s_posted_by() {
|
|
||||||
$byline = sprintf(
|
|
||||||
/* translators: %s: post author. */
|
|
||||||
esc_html_x( 'by %s', 'post author', '_s' ),
|
|
||||||
'<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>'
|
'<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>'
|
||||||
);
|
);
|
||||||
|
|
||||||
echo '<span class="byline"> ' . $byline . '</span>'; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
|
||||||
|
|
||||||
}
|
}
|
||||||
endif;
|
endif;
|
||||||
|
|
||||||
|
@ -63,14 +45,14 @@ if ( ! function_exists( '_s_entry_footer' ) ) :
|
||||||
$categories_list = get_the_category_list( esc_html__( ', ', '_s' ) );
|
$categories_list = get_the_category_list( esc_html__( ', ', '_s' ) );
|
||||||
if ( $categories_list ) {
|
if ( $categories_list ) {
|
||||||
/* translators: 1: list of categories. */
|
/* translators: 1: list of categories. */
|
||||||
printf( '<span class="cat-links">' . esc_html__( 'Posted in %1$s', '_s' ) . '</span>', $categories_list ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
printf( '<span class="cat-links">' . esc_html__( 'Posted in %1$s', '_s' ) . '</span>', $categories_list ); // WPCS: XSS OK.
|
||||||
}
|
}
|
||||||
|
|
||||||
/* translators: used between list items, there is a space after the comma */
|
/* translators: used between list items, there is a space after the comma */
|
||||||
$tags_list = get_the_tag_list( '', esc_html_x( ', ', 'list item separator', '_s' ) );
|
$tags_list = get_the_tag_list( '', esc_html_x( ', ', 'list item separator', '_s' ) );
|
||||||
if ( $tags_list ) {
|
if ( $tags_list ) {
|
||||||
/* translators: 1: list of tags. */
|
/* translators: 1: list of tags. */
|
||||||
printf( '<span class="tags-links">' . esc_html__( 'Tagged %1$s', '_s' ) . '</span>', $tags_list ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
|
printf( '<span class="tags-links">' . esc_html__( 'Tagged %1$s', '_s' ) . '</span>', $tags_list ); // WPCS: XSS OK.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,7 +69,7 @@ if ( ! function_exists( '_s_entry_footer' ) ) :
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
wp_kses_post( get_the_title() )
|
get_the_title()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
echo '</span>';
|
echo '</span>';
|
||||||
|
@ -104,7 +86,7 @@ if ( ! function_exists( '_s_entry_footer' ) ) :
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
wp_kses_post( get_the_title() )
|
get_the_title()
|
||||||
),
|
),
|
||||||
'<span class="edit-link">',
|
'<span class="edit-link">',
|
||||||
'</span>'
|
'</span>'
|
||||||
|
@ -133,18 +115,13 @@ if ( ! function_exists( '_s_post_thumbnail' ) ) :
|
||||||
|
|
||||||
<?php else : ?>
|
<?php else : ?>
|
||||||
|
|
||||||
<a class="post-thumbnail" href="<?php the_permalink(); ?>" aria-hidden="true" tabindex="-1">
|
<a class="post-thumbnail" href="<?php the_permalink(); ?>" aria-hidden="true">
|
||||||
<?php
|
<?php
|
||||||
the_post_thumbnail(
|
the_post_thumbnail( 'post-thumbnail', array(
|
||||||
'post-thumbnail',
|
'alt' => the_title_attribute( array(
|
||||||
array(
|
|
||||||
'alt' => the_title_attribute(
|
|
||||||
array(
|
|
||||||
'echo' => false,
|
'echo' => false,
|
||||||
)
|
) ),
|
||||||
),
|
) );
|
||||||
)
|
|
||||||
);
|
|
||||||
?>
|
?>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
@ -152,14 +129,3 @@ if ( ! function_exists( '_s_post_thumbnail' ) ) :
|
||||||
endif; // End is_singular().
|
endif; // End is_singular().
|
||||||
}
|
}
|
||||||
endif;
|
endif;
|
||||||
|
|
||||||
if ( ! function_exists( 'wp_body_open' ) ) :
|
|
||||||
/**
|
|
||||||
* Shim for sites older than 5.2.
|
|
||||||
*
|
|
||||||
* @link https://core.trac.wordpress.org/ticket/12563
|
|
||||||
*/
|
|
||||||
function wp_body_open() {
|
|
||||||
do_action( 'wp_body_open' );
|
|
||||||
}
|
|
||||||
endif;
|
|
||||||
|
|
|
@ -11,26 +11,12 @@
|
||||||
* WooCommerce setup function.
|
* WooCommerce setup function.
|
||||||
*
|
*
|
||||||
* @link https://docs.woocommerce.com/document/third-party-custom-theme-compatibility/
|
* @link https://docs.woocommerce.com/document/third-party-custom-theme-compatibility/
|
||||||
* @link https://github.com/woocommerce/woocommerce/wiki/Enabling-product-gallery-features-(zoom,-swipe,-lightbox)
|
* @link https://github.com/woocommerce/woocommerce/wiki/Enabling-product-gallery-features-(zoom,-swipe,-lightbox)-in-3.0.0
|
||||||
* @link https://github.com/woocommerce/woocommerce/wiki/Declaring-WooCommerce-support-in-themes
|
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function _s_woocommerce_setup() {
|
function _s_woocommerce_setup() {
|
||||||
add_theme_support(
|
add_theme_support( 'woocommerce' );
|
||||||
'woocommerce',
|
|
||||||
array(
|
|
||||||
'thumbnail_image_width' => 150,
|
|
||||||
'single_image_width' => 300,
|
|
||||||
'product_grid' => array(
|
|
||||||
'default_rows' => 3,
|
|
||||||
'min_rows' => 1,
|
|
||||||
'default_columns' => 4,
|
|
||||||
'min_columns' => 1,
|
|
||||||
'max_columns' => 6,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
);
|
|
||||||
add_theme_support( 'wc-product-gallery-zoom' );
|
add_theme_support( 'wc-product-gallery-zoom' );
|
||||||
add_theme_support( 'wc-product-gallery-lightbox' );
|
add_theme_support( 'wc-product-gallery-lightbox' );
|
||||||
add_theme_support( 'wc-product-gallery-slider' );
|
add_theme_support( 'wc-product-gallery-slider' );
|
||||||
|
@ -43,7 +29,7 @@ add_action( 'after_setup_theme', '_s_woocommerce_setup' );
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function _s_woocommerce_scripts() {
|
function _s_woocommerce_scripts() {
|
||||||
wp_enqueue_style( '_s-woocommerce-style', get_template_directory_uri() . '/woocommerce.css', array(), _S_VERSION );
|
wp_enqueue_style( '_s-woocommerce-style', get_template_directory_uri() . '/woocommerce.css' );
|
||||||
|
|
||||||
$font_path = WC()->plugin_url() . '/assets/fonts/';
|
$font_path = WC()->plugin_url() . '/assets/fonts/';
|
||||||
$inline_font = '@font-face {
|
$inline_font = '@font-face {
|
||||||
|
@ -84,6 +70,36 @@ function _s_woocommerce_active_body_class( $classes ) {
|
||||||
}
|
}
|
||||||
add_filter( 'body_class', '_s_woocommerce_active_body_class' );
|
add_filter( 'body_class', '_s_woocommerce_active_body_class' );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Products per page.
|
||||||
|
*
|
||||||
|
* @return integer number of products.
|
||||||
|
*/
|
||||||
|
function _s_woocommerce_products_per_page() {
|
||||||
|
return 12;
|
||||||
|
}
|
||||||
|
add_filter( 'loop_shop_per_page', '_s_woocommerce_products_per_page' );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Product gallery thumnbail columns.
|
||||||
|
*
|
||||||
|
* @return integer number of columns.
|
||||||
|
*/
|
||||||
|
function _s_woocommerce_thumbnail_columns() {
|
||||||
|
return 4;
|
||||||
|
}
|
||||||
|
add_filter( 'woocommerce_product_thumbnails_columns', '_s_woocommerce_thumbnail_columns' );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default loop columns on product archives.
|
||||||
|
*
|
||||||
|
* @return integer products per row.
|
||||||
|
*/
|
||||||
|
function _s_woocommerce_loop_columns() {
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
add_filter( 'loop_shop_columns', '_s_woocommerce_loop_columns' );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Related Products Args.
|
* Related Products Args.
|
||||||
*
|
*
|
||||||
|
@ -102,6 +118,31 @@ function _s_woocommerce_related_products_args( $args ) {
|
||||||
}
|
}
|
||||||
add_filter( 'woocommerce_output_related_products_args', '_s_woocommerce_related_products_args' );
|
add_filter( 'woocommerce_output_related_products_args', '_s_woocommerce_related_products_args' );
|
||||||
|
|
||||||
|
if ( ! function_exists( '_s_woocommerce_product_columns_wrapper' ) ) {
|
||||||
|
/**
|
||||||
|
* Product columns wrapper.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function _s_woocommerce_product_columns_wrapper() {
|
||||||
|
$columns = _s_woocommerce_loop_columns();
|
||||||
|
echo '<div class="columns-' . absint( $columns ) . '">';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
add_action( 'woocommerce_before_shop_loop', '_s_woocommerce_product_columns_wrapper', 40 );
|
||||||
|
|
||||||
|
if ( ! function_exists( '_s_woocommerce_product_columns_wrapper_close' ) ) {
|
||||||
|
/**
|
||||||
|
* Product columns wrapper close.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function _s_woocommerce_product_columns_wrapper_close() {
|
||||||
|
echo '</div>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
add_action( 'woocommerce_after_shop_loop', '_s_woocommerce_product_columns_wrapper_close', 40 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove default WooCommerce wrapper.
|
* Remove default WooCommerce wrapper.
|
||||||
*/
|
*/
|
||||||
|
@ -118,7 +159,8 @@ if ( ! function_exists( '_s_woocommerce_wrapper_before' ) ) {
|
||||||
*/
|
*/
|
||||||
function _s_woocommerce_wrapper_before() {
|
function _s_woocommerce_wrapper_before() {
|
||||||
?>
|
?>
|
||||||
<main id="primary" class="site-main">
|
<div id="primary" class="content-area">
|
||||||
|
<main id="main" class="site-main" role="main">
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -135,6 +177,7 @@ if ( ! function_exists( '_s_woocommerce_wrapper_after' ) ) {
|
||||||
function _s_woocommerce_wrapper_after() {
|
function _s_woocommerce_wrapper_after() {
|
||||||
?>
|
?>
|
||||||
</main><!-- #main -->
|
</main><!-- #main -->
|
||||||
|
</div><!-- #primary -->
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,8 @@
|
||||||
get_header();
|
get_header();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<main id="primary" class="site-main">
|
<div id="primary" class="content-area">
|
||||||
|
<main id="main" class="site-main">
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
if ( have_posts() ) :
|
if ( have_posts() ) :
|
||||||
|
@ -51,6 +52,7 @@ get_header();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</main><!-- #main -->
|
</main><!-- #main -->
|
||||||
|
</div><!-- #primary -->
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
get_sidebar();
|
get_sidebar();
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
/* global wp, jQuery */
|
|
||||||
/**
|
/**
|
||||||
* File customizer.js.
|
* File customizer.js.
|
||||||
*
|
*
|
||||||
|
@ -8,6 +7,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
( function( $ ) {
|
( function( $ ) {
|
||||||
|
|
||||||
// Site title and description.
|
// Site title and description.
|
||||||
wp.customize( 'blogname', function( value ) {
|
wp.customize( 'blogname', function( value ) {
|
||||||
value.bind( function( to ) {
|
value.bind( function( to ) {
|
||||||
|
@ -25,18 +25,18 @@
|
||||||
value.bind( function( to ) {
|
value.bind( function( to ) {
|
||||||
if ( 'blank' === to ) {
|
if ( 'blank' === to ) {
|
||||||
$( '.site-title, .site-description' ).css( {
|
$( '.site-title, .site-description' ).css( {
|
||||||
clip: 'rect(1px, 1px, 1px, 1px)',
|
'clip': 'rect(1px, 1px, 1px, 1px)',
|
||||||
position: 'absolute',
|
'position': 'absolute'
|
||||||
} );
|
} );
|
||||||
} else {
|
} else {
|
||||||
$( '.site-title, .site-description' ).css( {
|
$( '.site-title, .site-description' ).css( {
|
||||||
clip: 'auto',
|
'clip': 'auto',
|
||||||
position: 'relative',
|
'position': 'relative'
|
||||||
} );
|
} );
|
||||||
$( '.site-title a, .site-description' ).css( {
|
$( '.site-title a, .site-description' ).css( {
|
||||||
color: to,
|
'color': to
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
} );
|
} );
|
||||||
}( jQuery ) );
|
} )( jQuery );
|
||||||
|
|
|
@ -25,30 +25,23 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! menu.classList.contains( 'nav-menu' ) ) {
|
menu.setAttribute( 'aria-expanded', 'false' );
|
||||||
|
if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
|
||||||
menu.className += ' nav-menu';
|
menu.className += ' nav-menu';
|
||||||
}
|
}
|
||||||
|
|
||||||
button.onclick = function() {
|
button.onclick = function() {
|
||||||
if ( container.classList.contains( 'toggled' ) ) {
|
if ( -1 !== container.className.indexOf( 'toggled' ) ) {
|
||||||
container.className = container.className.replace( ' toggled', '' );
|
container.className = container.className.replace( ' toggled', '' );
|
||||||
button.setAttribute( 'aria-expanded', 'false' );
|
button.setAttribute( 'aria-expanded', 'false' );
|
||||||
|
menu.setAttribute( 'aria-expanded', 'false' );
|
||||||
} else {
|
} else {
|
||||||
container.className += ' toggled';
|
container.className += ' toggled';
|
||||||
button.setAttribute( 'aria-expanded', 'true' );
|
button.setAttribute( 'aria-expanded', 'true' );
|
||||||
|
menu.setAttribute( 'aria-expanded', 'true' );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Close small menu when user clicks outside
|
|
||||||
document.addEventListener( 'click', function( event ) {
|
|
||||||
var isClickInside = container.contains( event.target );
|
|
||||||
|
|
||||||
if ( ! isClickInside ) {
|
|
||||||
container.className = container.className.replace( ' toggled', '' );
|
|
||||||
button.setAttribute( 'aria-expanded', 'false' );
|
|
||||||
}
|
|
||||||
} );
|
|
||||||
|
|
||||||
// Get all the link elements within the menu.
|
// Get all the link elements within the menu.
|
||||||
links = menu.getElementsByTagName( 'a' );
|
links = menu.getElementsByTagName( 'a' );
|
||||||
|
|
||||||
|
@ -65,10 +58,11 @@
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
// Move up through the ancestors of the current link until we hit .nav-menu.
|
// Move up through the ancestors of the current link until we hit .nav-menu.
|
||||||
while ( ! self.classList.contains( 'nav-menu' ) ) {
|
while ( -1 === self.className.indexOf( 'nav-menu' ) ) {
|
||||||
|
|
||||||
// On li elements toggle the class .focus.
|
// On li elements toggle the class .focus.
|
||||||
if ( 'li' === self.tagName.toLowerCase() ) {
|
if ( 'li' === self.tagName.toLowerCase() ) {
|
||||||
if ( self.classList.contains( 'focus' ) ) {
|
if ( -1 !== self.className.indexOf( 'focus' ) ) {
|
||||||
self.className = self.className.replace( ' focus', '' );
|
self.className = self.className.replace( ' focus', '' );
|
||||||
} else {
|
} else {
|
||||||
self.className += ' focus';
|
self.className += ' focus';
|
||||||
|
@ -82,13 +76,13 @@
|
||||||
/**
|
/**
|
||||||
* Toggles `focus` class to allow submenu access on tablets.
|
* Toggles `focus` class to allow submenu access on tablets.
|
||||||
*/
|
*/
|
||||||
( function() {
|
( function( container ) {
|
||||||
var touchStartFn,
|
var touchStartFn, i,
|
||||||
parentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );
|
parentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );
|
||||||
|
|
||||||
if ( 'ontouchstart' in window ) {
|
if ( 'ontouchstart' in window ) {
|
||||||
touchStartFn = function( e ) {
|
touchStartFn = function( e ) {
|
||||||
var menuItem = this.parentNode;
|
var menuItem = this.parentNode, i;
|
||||||
|
|
||||||
if ( ! menuItem.classList.contains( 'focus' ) ) {
|
if ( ! menuItem.classList.contains( 'focus' ) ) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
@ -109,4 +103,4 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}( container ) );
|
}( container ) );
|
||||||
}() );
|
} )();
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
/**
|
||||||
|
* File skip-link-focus-fix.js.
|
||||||
|
*
|
||||||
|
* Helps with accessibility for keyboard only users.
|
||||||
|
*
|
||||||
|
* Learn more: https://git.io/vWdr2
|
||||||
|
*/
|
||||||
|
( function() {
|
||||||
|
var isIe = /(trident|msie)/i.test( navigator.userAgent );
|
||||||
|
|
||||||
|
if ( isIe && document.getElementById && window.addEventListener ) {
|
||||||
|
window.addEventListener( 'hashchange', function() {
|
||||||
|
var id = location.hash.substring( 1 ),
|
||||||
|
element;
|
||||||
|
|
||||||
|
if ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
element = document.getElementById( id );
|
||||||
|
|
||||||
|
if ( element ) {
|
||||||
|
if ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) {
|
||||||
|
element.tabIndex = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
element.focus();
|
||||||
|
}
|
||||||
|
}, false );
|
||||||
|
}
|
||||||
|
} )();
|
190
languages/_s.pot
190
languages/_s.pot
|
@ -1,70 +1,43 @@
|
||||||
# Copyright (C) 2020 Automattic
|
# Copyright (C) 2017 Automattic
|
||||||
# This file is distributed under the GNU General Public License v2 or later.
|
# This file is distributed under the GNU General Public License v2 or later.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: _s 1.0.0\n"
|
"Project-Id-Version: _s 1.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: https://wordpress.org/support/theme/_s\n"
|
"Report-Msgid-Bugs-To: https://wordpress.org/tags/_s\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"POT-Creation-Date: 2016-12-23 16:00+0100\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"POT-Creation-Date: 2020-04-17T21:03:15+00:00\n"
|
"PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"Last-Translator:\n"
|
||||||
"X-Generator: WP-CLI 2.4.0\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"X-Domain: _s\n"
|
"X-Generator: grunt-wp-i18n 0.5.4\n"
|
||||||
|
|
||||||
#. Theme Name of the theme
|
#: 404.php:17
|
||||||
msgid "_s"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. Theme URI of the theme
|
|
||||||
msgid "https://underscores.me/"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. Description of the theme
|
|
||||||
msgid "Hi. I'm a starter theme called <code>_s</code>, or <em>underscores</em>, if you like. I'm a theme meant for hacking so don't use me as a <em>Parent Theme</em>. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. Author of the theme
|
|
||||||
msgid "Automattic"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. Author URI of the theme
|
|
||||||
msgid "https://automattic.com/"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: 404.php:18
|
|
||||||
msgid "Oops! That page can’t be found."
|
msgid "Oops! That page can’t be found."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: 404.php:22
|
#: 404.php:21
|
||||||
msgid "It looks like nothing was found at this location. Maybe try one of the links below or a search?"
|
msgid ""
|
||||||
|
"It looks like nothing was found at this location. Maybe try one of the "
|
||||||
|
"links below or a search?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: 404.php:31
|
#: 404.php:30
|
||||||
msgid "Most Used Categories"
|
msgid "Most Used Categories"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: 404.php:47
|
||||||
#. translators: %1$s: smiley
|
#. translators: %1$s: smiley
|
||||||
#: 404.php:49
|
|
||||||
msgid "Try looking in the monthly archives. %1$s"
|
msgid "Try looking in the monthly archives. %1$s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: comments.php:34
|
||||||
#. translators: 1: title.
|
#. translators: 1: title.
|
||||||
#: comments.php:35
|
|
||||||
msgid "One thought on “%1$s”"
|
msgid "One thought on “%1$s”"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: 1: comment count number, 2: title.
|
#: comments.php:67
|
||||||
#: comments.php:41
|
|
||||||
msgctxt "comments title"
|
|
||||||
msgid "%1$s thought on “%2$s”"
|
|
||||||
msgid_plural "%1$s thoughts on “%2$s”"
|
|
||||||
msgstr[0] ""
|
|
||||||
msgstr[1] ""
|
|
||||||
|
|
||||||
#: comments.php:68
|
|
||||||
msgid "Comments are closed."
|
msgid "Comments are closed."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -72,127 +45,142 @@ msgstr ""
|
||||||
msgid "https://wordpress.org/"
|
msgid "https://wordpress.org/"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: footer.php:20
|
||||||
#. translators: %s: CMS name, i.e. WordPress.
|
#. translators: %s: CMS name, i.e. WordPress.
|
||||||
#: footer.php:21
|
|
||||||
msgid "Proudly powered by %s"
|
msgid "Proudly powered by %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: footer.php:25
|
||||||
#. translators: 1: Theme name, 2: Theme author.
|
#. translators: 1: Theme name, 2: Theme author.
|
||||||
#: footer.php:27
|
|
||||||
msgid "Theme: %1$s by %2$s."
|
msgid "Theme: %1$s by %2$s."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: functions.php:53
|
#: functions.php:47
|
||||||
msgid "Primary"
|
msgid "Primary"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: functions.php:130
|
#: functions.php:105
|
||||||
msgid "Sidebar"
|
msgid "Sidebar"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: functions.php:132
|
#: functions.php:107
|
||||||
msgid "Add widgets here."
|
msgid "Add widgets here."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: header.php:26
|
#: header.php:24
|
||||||
msgid "Skip to content"
|
msgid "Skip to content"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: header.php:49
|
#: header.php:45
|
||||||
msgid "Primary Menu"
|
msgid "Primary Menu"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: %s: post date.
|
#: inc/template-tags.php:52
|
||||||
#: inc/template-tags.php:30
|
|
||||||
msgctxt "post date"
|
|
||||||
msgid "Posted on %s"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. translators: %s: post author.
|
|
||||||
#: inc/template-tags.php:46
|
|
||||||
msgctxt "post author"
|
|
||||||
msgid "by %s"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. translators: used between list items, there is a space after the comma
|
#. translators: used between list items, there is a space after the comma
|
||||||
#: inc/template-tags.php:63
|
|
||||||
msgid ", "
|
msgid ", "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: inc/template-tags.php:55
|
||||||
#. translators: 1: list of categories.
|
#. translators: 1: list of categories.
|
||||||
#: inc/template-tags.php:66
|
|
||||||
msgid "Posted in %1$s"
|
msgid "Posted in %1$s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. translators: used between list items, there is a space after the comma
|
#: inc/template-tags.php:62
|
||||||
#: inc/template-tags.php:70
|
|
||||||
msgctxt "list item separator"
|
|
||||||
msgid ", "
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. translators: 1: list of tags.
|
#. translators: 1: list of tags.
|
||||||
#: inc/template-tags.php:73
|
|
||||||
msgid "Tagged %1$s"
|
msgid "Tagged %1$s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: inc/template-tags.php:72
|
||||||
#. translators: %s: post title
|
#. translators: %s: post title
|
||||||
#: inc/template-tags.php:83
|
|
||||||
msgid "Leave a Comment<span class=\"screen-reader-text\"> on %s</span>"
|
msgid "Leave a Comment<span class=\"screen-reader-text\"> on %s</span>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: inc/template-tags.php:89 template-parts/content-page.php:35
|
||||||
#. translators: %s: Name of current post. Only visible to screen readers
|
#. translators: %s: Name of current post. Only visible to screen readers
|
||||||
#: inc/template-tags.php:100
|
|
||||||
#: template-parts/content-page.php:39
|
|
||||||
msgid "Edit <span class=\"screen-reader-text\">%s</span>"
|
msgid "Edit <span class=\"screen-reader-text\">%s</span>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: inc/woocommerce.php:186
|
#: search.php:21
|
||||||
msgid "View your shopping cart"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. translators: number of items in the mini cart.
|
|
||||||
#: inc/woocommerce.php:190
|
|
||||||
msgid "%d item"
|
|
||||||
msgid_plural "%d items"
|
|
||||||
msgstr[0] ""
|
|
||||||
msgstr[1] ""
|
|
||||||
|
|
||||||
#. translators: %s: search query.
|
#. translators: %s: search query.
|
||||||
#: search.php:22
|
|
||||||
msgid "Search Results for: %s"
|
msgid "Search Results for: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: single.php:23
|
|
||||||
msgid "Previous:"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: single.php:24
|
|
||||||
msgid "Next:"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: template-parts/content-none.php:14
|
#: template-parts/content-none.php:14
|
||||||
msgid "Nothing Found"
|
msgid "Nothing Found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: template-parts/content-none.php:25
|
||||||
#. translators: 1: link to WP admin new post page.
|
#. translators: 1: link to WP admin new post page.
|
||||||
#: template-parts/content-none.php:24
|
|
||||||
msgid "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
|
msgid "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: template-parts/content-none.php:37
|
#: template-parts/content-none.php:38
|
||||||
msgid "Sorry, but nothing matched your search terms. Please try again with some different keywords."
|
msgid ""
|
||||||
|
"Sorry, but nothing matched your search terms. Please try again with some "
|
||||||
|
"different keywords."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: template-parts/content-none.php:44
|
#: template-parts/content-none.php:44
|
||||||
msgid "It seems we can’t find what you’re looking for. Perhaps searching can help."
|
msgid ""
|
||||||
|
"It seems we can’t find what you’re looking for. Perhaps "
|
||||||
|
"searching can help."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: template-parts/content-page.php:25
|
#: template-parts/content-page.php:22 template-parts/content.php:45
|
||||||
#: template-parts/content.php:53
|
|
||||||
msgid "Pages:"
|
msgid "Pages:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: template-parts/content.php:34
|
||||||
#. translators: %s: Name of current post. Only visible to screen readers
|
#. translators: %s: Name of current post. Only visible to screen readers
|
||||||
#: template-parts/content.php:40
|
|
||||||
msgid "Continue reading<span class=\"screen-reader-text\"> \"%s\"</span>"
|
msgid "Continue reading<span class=\"screen-reader-text\"> \"%s\"</span>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#. Theme Name of the plugin/theme
|
||||||
|
msgid "_s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Theme URI of the plugin/theme
|
||||||
|
msgid "https://underscores.me/"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Description of the plugin/theme
|
||||||
|
msgid ""
|
||||||
|
"Hi. I'm a starter theme called <code>_s</code>, or <em>underscores</em>, if "
|
||||||
|
"you like. I'm a theme meant for hacking so don't use me as a <em>Parent "
|
||||||
|
"Theme</em>. Instead try turning me into the next, most awesome, WordPress "
|
||||||
|
"theme out there. That's what I'm here for."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Author of the plugin/theme
|
||||||
|
msgid "Automattic"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Author URI of the plugin/theme
|
||||||
|
msgid "https://automattic.com/"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: comments.php:40
|
||||||
|
#. translators: 1: comment count number, 2: title.
|
||||||
|
msgctxt "comments title"
|
||||||
|
msgid "%1$s thought on “%2$s”"
|
||||||
|
msgid_plural "%1$s thoughts on “%2$s”"
|
||||||
|
msgstr[0] ""
|
||||||
|
msgstr[1] ""
|
||||||
|
|
||||||
|
#: inc/template-tags.php:29
|
||||||
|
#. translators: %s: post date.
|
||||||
|
msgctxt "post date"
|
||||||
|
msgid "Posted on %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: inc/template-tags.php:35
|
||||||
|
#. translators: %s: post author.
|
||||||
|
msgctxt "post author"
|
||||||
|
msgid "by %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: inc/template-tags.php:59
|
||||||
|
#. translators: used between list items, there is a space after the comma
|
||||||
|
msgctxt "list item separator"
|
||||||
|
msgid ", "
|
||||||
|
msgstr ""
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
/*
|
||||||
|
* Theme Name: _s
|
||||||
|
*
|
||||||
|
* Layout: Content-Sidebar
|
||||||
|
*
|
||||||
|
* Learn more: https://developer.wordpress.org/themes/basics/template-files/
|
||||||
|
*/
|
||||||
|
|
||||||
|
.content-area {
|
||||||
|
float: left;
|
||||||
|
margin: 0 -25% 0 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.site-main {
|
||||||
|
margin: 0 25% 0 0;
|
||||||
|
}
|
||||||
|
.site-content .widget-area {
|
||||||
|
float: right;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
.site-footer {
|
||||||
|
clear: both;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-sidebar .content-area {
|
||||||
|
float: none;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
.no-sidebar .site-main {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
/*
|
||||||
|
* Theme Name: _s
|
||||||
|
*
|
||||||
|
* Layout: Sidebar-Content
|
||||||
|
*
|
||||||
|
* Learn more: https://developer.wordpress.org/themes/basics/template-files/
|
||||||
|
*/
|
||||||
|
|
||||||
|
.content-area {
|
||||||
|
float: right;
|
||||||
|
margin: 0 0 0 -25%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.site-main {
|
||||||
|
margin: 0 0 0 25%;
|
||||||
|
}
|
||||||
|
.site-content .widget-area {
|
||||||
|
float: left;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
.site-footer {
|
||||||
|
clear: both;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-sidebar .content-area {
|
||||||
|
float: none;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
.no-sidebar .site-main {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
54
package.json
54
package.json
|
@ -1,54 +0,0 @@
|
||||||
{
|
|
||||||
"name": "underscores",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "Hi. I'm a starter theme called _s, or underscores, if you like. I'm a theme meant for hacking so don't use me as a Parent Theme. Instead try turning me into the next, most awesome, WordPress theme out there. That's what I'm here for.",
|
|
||||||
"author": "Automattic Theme Team",
|
|
||||||
"license": "GPL-2.0-or-later",
|
|
||||||
"keywords": [
|
|
||||||
"WordPress",
|
|
||||||
"Theme"
|
|
||||||
],
|
|
||||||
"homepage": "https://github.com/Automattic/_s#readme",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/Automattic/_s.git"
|
|
||||||
},
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/Automattic/_s/issues"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@wordpress/scripts": "^9.0.0",
|
|
||||||
"archiver": "^4.0.1",
|
|
||||||
"node-sass": "^4.14.0",
|
|
||||||
"rtlcss": "^2.5.0",
|
|
||||||
"autoprefixer": "^9.7.6",
|
|
||||||
"chokidar-cli": "^2.1.0",
|
|
||||||
"npm-run-all": "^4.1.5",
|
|
||||||
"postcss-cli": "^7.1.1"
|
|
||||||
},
|
|
||||||
"rtlcssConfig": {
|
|
||||||
"options": {
|
|
||||||
"autoRename": false,
|
|
||||||
"autoRenameStrict": false,
|
|
||||||
"blacklist": {},
|
|
||||||
"clean": true,
|
|
||||||
"greedy": false,
|
|
||||||
"processUrls": false,
|
|
||||||
"stringMap": []
|
|
||||||
},
|
|
||||||
"plugins": [],
|
|
||||||
"map": false
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"compile:css": "node-sass --source-map true sass/style.scss style.css && node-sass --source-map true sass/woocommerce.scss woocommerce.css",
|
|
||||||
"lint:css": "stylelint '*.css' --fix",
|
|
||||||
"compile:rtl": "rtlcss style.css style-rtl.css",
|
|
||||||
"lint:scss": "wp-scripts lint-style 'sass/**/*.scss'",
|
|
||||||
"lint:js": "wp-scripts lint-js 'js/*.js'",
|
|
||||||
"bundle": "node bin/bundle.js",
|
|
||||||
"postcss": "postcss *.css --use autoprefixer --replace",
|
|
||||||
"sass:build": "npm-run-all -s compile:css postcss",
|
|
||||||
"sass:watch": "chokidar 'sass/**/*.scss' -c 'npm run sass:build'",
|
|
||||||
"dev": "npm-run-all -p sass:*"
|
|
||||||
}
|
|
||||||
}
|
|
4
page.php
4
page.php
|
@ -15,7 +15,8 @@
|
||||||
get_header();
|
get_header();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<main id="primary" class="site-main">
|
<div id="primary" class="content-area">
|
||||||
|
<main id="main" class="site-main">
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
while ( have_posts() ) :
|
while ( have_posts() ) :
|
||||||
|
@ -32,6 +33,7 @@ get_header();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</main><!-- #main -->
|
</main><!-- #main -->
|
||||||
|
</div><!-- #primary -->
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
get_sidebar();
|
get_sidebar();
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<ruleset name="WordPress Theme Coding Standards">
|
<ruleset name="WordPress Theme Coding Standards">
|
||||||
<!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
|
<!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml -->
|
||||||
<!-- See https://github.com/WordPress/WordPress-Coding-Standards -->
|
<!-- See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards -->
|
||||||
<!-- See https://github.com/WPTRT/WPThemeReview -->
|
<!-- See https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/wiki -->
|
||||||
<!-- See https://github.com/PHPCompatibility/PHPCompatibilityWP -->
|
<!-- See https://github.com/wimg/PHPCompatibility -->
|
||||||
|
|
||||||
<!-- Set a description for this ruleset. -->
|
<!-- Set a description for this ruleset. -->
|
||||||
<description>A custom set of code standard rules to check for WordPress themes.</description>
|
<description>A custom set of code standard rules to check for WordPress themes.</description>
|
||||||
|
@ -28,28 +28,21 @@
|
||||||
<!-- Check up to 8 files simultanously. -->
|
<!-- Check up to 8 files simultanously. -->
|
||||||
<arg name="parallel" value="8"/>
|
<arg name="parallel" value="8"/>
|
||||||
|
|
||||||
<!-- Only check the PHP files. JS, and CSS files are checked separately with @wordpress/scripts package. -->
|
<!-- Only check the PHP, CSS and SCSS files. JS files are checked separately with JSCS and JSHint. -->
|
||||||
<arg name="extensions" value="php"/>
|
<arg name="extensions" value="php,css,scss/css"/>
|
||||||
|
|
||||||
<!-- Check all files in this directory and the directories below it. -->
|
<!-- Check all files in this directory and the directories below it. -->
|
||||||
<file>.</file>
|
<file>.</file>
|
||||||
|
|
||||||
<!-- Exclude patterns. -->
|
|
||||||
<exclude-pattern>/vendor/*</exclude-pattern>
|
|
||||||
<exclude-pattern>/node_modules/*</exclude-pattern>
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
#############################################################################
|
#############################################################################
|
||||||
USE THE WordPress AND THE Theme Review RULESET
|
USE THE WordPress RULESET
|
||||||
#############################################################################
|
#############################################################################
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<rule ref="WordPress">
|
<rule ref="WordPress"/>
|
||||||
<!-- This rule does not apply here since the _s prefix should be changed by the theme author. -->
|
|
||||||
<exclude name="WordPress.NamingConventions.PrefixAllGlobals.ShortPrefixPassed"/>
|
|
||||||
</rule>
|
|
||||||
<rule ref="WPThemeReview"/>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
@ -104,7 +97,36 @@
|
||||||
#############################################################################
|
#############################################################################
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<config name="testVersion" value="5.6-"/>
|
|
||||||
<rule ref="PHPCompatibilityWP"/>
|
<config name="testVersion" value="5.2-99.0"/>
|
||||||
|
<rule ref="PHPCompatibility">
|
||||||
|
<!-- Whitelist PHP native classes, interfaces, functions and constants which
|
||||||
|
are back-filled by WP.
|
||||||
|
|
||||||
|
Based on:
|
||||||
|
* /wp-includes/compat.php
|
||||||
|
* /wp-includes/random_compat/random.php
|
||||||
|
-->
|
||||||
|
<exclude name="PHPCompatibility.PHP.NewClasses.errorFound"/>
|
||||||
|
<exclude name="PHPCompatibility.PHP.NewClasses.typeerrorFound"/>
|
||||||
|
|
||||||
|
<exclude name="PHPCompatibility.PHP.NewConstants.json_pretty_printFound"/>
|
||||||
|
<exclude name="PHPCompatibility.PHP.NewConstants.php_version_idFound"/>
|
||||||
|
|
||||||
|
<exclude name="PHPCompatibility.PHP.NewFunctions.hash_equalsFound"/>
|
||||||
|
<exclude name="PHPCompatibility.PHP.NewFunctions.json_last_error_msgFound"/>
|
||||||
|
<exclude name="PHPCompatibility.PHP.NewFunctions.random_intFound"/>
|
||||||
|
<exclude name="PHPCompatibility.PHP.NewFunctions.random_bytesFound"/>
|
||||||
|
<exclude name="PHPCompatibility.PHP.NewFunctions.array_replace_recursiveFound"/>
|
||||||
|
|
||||||
|
<exclude name="PHPCompatibility.PHP.NewInterfaces.jsonserializableFound"/>
|
||||||
|
</rule>
|
||||||
|
|
||||||
|
<!-- Whitelist the WP Core mysql_to_rfc3339() function. -->
|
||||||
|
<rule ref="PHPCompatibility.PHP.RemovedExtensions">
|
||||||
|
<properties>
|
||||||
|
<property name="functionWhitelist" type="array" value="mysql_to_rfc3339"/>
|
||||||
|
</properties>
|
||||||
|
</rule>
|
||||||
|
|
||||||
</ruleset>
|
</ruleset>
|
||||||
|
|
|
@ -4,8 +4,7 @@ Contributors: automattic
|
||||||
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
|
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
|
||||||
|
|
||||||
Requires at least: 4.5
|
Requires at least: 4.5
|
||||||
Tested up to: 5.4
|
Tested up to: 4.8
|
||||||
Requires PHP: 5.6
|
|
||||||
Stable tag: 1.0.0
|
Stable tag: 1.0.0
|
||||||
License: GNU General Public License v2 or later
|
License: GNU General Public License v2 or later
|
||||||
License URI: LICENSE
|
License URI: LICENSE
|
||||||
|
@ -26,7 +25,7 @@ Hi. I'm a starter theme called _s, or underscores, if you like. I'm a theme mean
|
||||||
|
|
||||||
= Does this theme support any plugins? =
|
= Does this theme support any plugins? =
|
||||||
|
|
||||||
_s includes support for WooCommerce and for Infinite Scroll in Jetpack.
|
_s includes support for Infinite Scroll in Jetpack.
|
||||||
|
|
||||||
== Changelog ==
|
== Changelog ==
|
||||||
|
|
||||||
|
@ -35,5 +34,5 @@ _s includes support for WooCommerce and for Infinite Scroll in Jetpack.
|
||||||
|
|
||||||
== Credits ==
|
== Credits ==
|
||||||
|
|
||||||
* Based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc., [GPLv2 or later](https://www.gnu.org/licenses/gpl-2.0.html)
|
* Based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc., [GPLv2 or later](https://www.gnu.org/licenses/gpl-2.0.html)
|
||||||
* normalize.css https://necolas.github.io/normalize.css/, (C) 2012-2018 Nicolas Gallagher and Jonathan Neal, [MIT](https://opensource.org/licenses/MIT)
|
* normalize.css https://necolas.github.io/normalize.css/, (C) 2012-2016 Nicolas Gallagher and Jonathan Neal, [MIT](https://opensource.org/licenses/MIT)
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
/*
|
||||||
|
Theme Name: _s
|
||||||
|
|
||||||
|
Adding support for languages written in a Right To Left (RTL) direction is easy -
|
||||||
|
it's just a matter of overwriting all the horizontal positioning attributes
|
||||||
|
of your CSS stylesheet in a separate stylesheet file named rtl.css.
|
||||||
|
|
||||||
|
https://codex.wordpress.org/Right-to-Left_Language_Support
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
body {
|
||||||
|
direction: rtl;
|
||||||
|
unicode-bidi: embed;
|
||||||
|
}
|
||||||
|
*/
|
|
@ -1,4 +1,4 @@
|
||||||
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
|
||||||
|
|
||||||
/* Document
|
/* Document
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
@ -9,8 +9,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
html {
|
html {
|
||||||
line-height: 1.15;
|
line-height: 1.15; /* 1 */
|
||||||
-webkit-text-size-adjust: 100%;
|
-webkit-text-size-adjust: 100%; /* 2 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Sections
|
/* Sections
|
||||||
|
@ -24,14 +24,6 @@ body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Render the `main` element consistently in IE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
main {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Correct the font size and margin on `h1` elements within `section` and
|
* Correct the font size and margin on `h1` elements within `section` and
|
||||||
* `article` contexts in Chrome, Firefox, and Safari.
|
* `article` contexts in Chrome, Firefox, and Safari.
|
||||||
|
@ -51,9 +43,9 @@ h1 {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
box-sizing: content-box;
|
box-sizing: content-box; /* 1 */
|
||||||
height: 0;
|
height: 0; /* 1 */
|
||||||
overflow: visible;
|
overflow: visible; /* 2 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -62,8 +54,8 @@ hr {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
pre {
|
pre {
|
||||||
font-family: monospace, monospace;
|
font-family: monospace, monospace; /* 1 */
|
||||||
font-size: 1em;
|
font-size: 1em; /* 2 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Text-level semantics
|
/* Text-level semantics
|
||||||
|
@ -83,9 +75,9 @@ a {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
abbr[title] {
|
abbr[title] {
|
||||||
border-bottom: none;
|
border-bottom: none; /* 1 */
|
||||||
text-decoration: underline;
|
text-decoration: underline; /* 2 */
|
||||||
text-decoration: underline dotted;
|
text-decoration: underline dotted; /* 2 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -105,8 +97,8 @@ strong {
|
||||||
code,
|
code,
|
||||||
kbd,
|
kbd,
|
||||||
samp {
|
samp {
|
||||||
font-family: monospace, monospace;
|
font-family: monospace, monospace; /* 1 */
|
||||||
font-size: 1em;
|
font-size: 1em; /* 2 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -162,10 +154,10 @@ input,
|
||||||
optgroup,
|
optgroup,
|
||||||
select,
|
select,
|
||||||
textarea {
|
textarea {
|
||||||
font-family: inherit;
|
font-family: inherit; /* 1 */
|
||||||
font-size: 100%;
|
font-size: 100%; /* 1 */
|
||||||
line-height: 1.15;
|
line-height: 1.15; /* 1 */
|
||||||
margin: 0;
|
margin: 0; /* 2 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -174,7 +166,7 @@ textarea {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
button,
|
button,
|
||||||
input {
|
input { /* 1 */
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -184,7 +176,7 @@ input {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
button,
|
button,
|
||||||
select {
|
select { /* 1 */
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -238,12 +230,12 @@ fieldset {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
legend {
|
legend {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box; /* 1 */
|
||||||
color: inherit;
|
color: inherit; /* 2 */
|
||||||
display: table;
|
display: table; /* 1 */
|
||||||
max-width: 100%;
|
max-width: 100%; /* 1 */
|
||||||
padding: 0;
|
padding: 0; /* 3 */
|
||||||
white-space: normal;
|
white-space: normal; /* 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -269,8 +261,8 @@ textarea {
|
||||||
|
|
||||||
[type="checkbox"],
|
[type="checkbox"],
|
||||||
[type="radio"] {
|
[type="radio"] {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box; /* 1 */
|
||||||
padding: 0;
|
padding: 0; /* 2 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -288,8 +280,8 @@ textarea {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
[type="search"] {
|
[type="search"] {
|
||||||
-webkit-appearance: textfield;
|
-webkit-appearance: textfield; /* 1 */
|
||||||
outline-offset: -2px;
|
outline-offset: -2px; /* 2 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -306,8 +298,8 @@ textarea {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
::-webkit-file-upload-button {
|
::-webkit-file-upload-button {
|
||||||
-webkit-appearance: button;
|
-webkit-appearance: button; /* 1 */
|
||||||
font: inherit;
|
font: inherit; /* 2 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Interactive
|
/* Interactive
|
||||||
|
|
|
@ -1,17 +1,15 @@
|
||||||
/* Inherit box-sizing to more easily change it's value on a component level.
|
|
||||||
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
|
|
||||||
*,
|
|
||||||
*::before,
|
|
||||||
*::after {
|
|
||||||
box-sizing: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
html {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
*,
|
||||||
|
*:before,
|
||||||
|
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
|
||||||
|
box-sizing: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background: $color__background-body; // Fallback for when there is no custom background color defined.
|
background: $color__background-body; /* Fallback for when there is no custom background color defined. */
|
||||||
}
|
}
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
|
@ -24,12 +22,12 @@ hr {
|
||||||
@import "lists";
|
@import "lists";
|
||||||
|
|
||||||
img {
|
img {
|
||||||
height: auto; // Make sure images are scaled correctly.
|
height: auto; /* Make sure images are scaled correctly. */
|
||||||
max-width: 100%; // Adhere to container width.
|
max-width: 100%; /* Adhere to container width. */
|
||||||
}
|
}
|
||||||
|
|
||||||
figure {
|
figure {
|
||||||
margin: 1em 0; // Extra wide images within figure tags don't overflow the content area.
|
margin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */
|
||||||
}
|
}
|
||||||
|
|
||||||
@import "tables";
|
@import "tables";
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
ul,
|
ul, ol {
|
||||||
ol {
|
|
||||||
margin: 0 0 1.5em 3em;
|
margin: 0 0 1.5em 3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,7 +17,7 @@ li > ol {
|
||||||
}
|
}
|
||||||
|
|
||||||
dt {
|
dt {
|
||||||
font-weight: 700;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
dd {
|
dd {
|
||||||
|
|
|
@ -6,10 +6,10 @@ input[type="submit"] {
|
||||||
border-color: $color__border-button;
|
border-color: $color__border-button;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
background: $color__background-button;
|
background: $color__background-button;
|
||||||
color: rgba(0, 0, 0, 0.8);
|
color: rgba(0, 0, 0, .8);
|
||||||
font-size: 0.75rem;
|
@include font-size(0.75);
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
padding: 0.6em 1em 0.4em;
|
padding: .6em 1em .4em;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
border-color: $color__border-button-hover;
|
border-color: $color__border-button-hover;
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
@import "buttons";
|
@import "buttons";
|
||||||
|
|
||||||
@import "fields";
|
@import "fields";
|
||||||
|
|
|
@ -1,27 +1,22 @@
|
||||||
.site {
|
.content-area {
|
||||||
display: grid;
|
float: left;
|
||||||
grid-template-columns: auto ($size__site-sidebar);
|
margin: 0 (-$size__site-sidebar) 0 0;
|
||||||
grid-template-areas:
|
width: $size__site-main;
|
||||||
"header header"
|
|
||||||
"main sidebar"
|
|
||||||
"footer footer";
|
|
||||||
}
|
|
||||||
|
|
||||||
.site-header {
|
|
||||||
grid-area: header;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.site-main {
|
.site-main {
|
||||||
grid-area: main;
|
margin: 0 $size__site-sidebar 0 0;
|
||||||
overflow: hidden; /* Resolves issue with <pre> elements forcing full width. */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.widget-area {
|
.site-content .widget-area {
|
||||||
grid-area: sidebar;
|
float: right;
|
||||||
|
overflow: hidden;
|
||||||
|
width: $size__site-sidebar;
|
||||||
}
|
}
|
||||||
|
|
||||||
.site-footer {
|
.site-footer {
|
||||||
grid-area: footer;
|
clear: both;
|
||||||
|
width: $size__site-main;
|
||||||
}
|
}
|
||||||
|
|
||||||
@import "no-sidebar";
|
@import "no-sidebar";
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
.no-sidebar {
|
.no-sidebar {
|
||||||
|
.content-area {
|
||||||
|
float: none;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
.site {
|
.site-main {
|
||||||
display: grid;
|
margin-right: 0;
|
||||||
grid-template-columns: auto;
|
|
||||||
grid-template-areas:
|
|
||||||
"header"
|
|
||||||
"main"
|
|
||||||
"footer";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,27 +1,22 @@
|
||||||
.site {
|
.content-area {
|
||||||
display: grid;
|
float: right;
|
||||||
grid-template-columns: ($size__site-sidebar) auto;
|
margin: 0 0 0 (-$size__site-sidebar);
|
||||||
grid-template-areas:
|
width: $size__site-main;
|
||||||
"header header"
|
|
||||||
"sidebar main"
|
|
||||||
"footer footer";
|
|
||||||
}
|
|
||||||
|
|
||||||
.site-header {
|
|
||||||
grid-area: header;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.site-main {
|
.site-main {
|
||||||
grid-area: main;
|
margin: 0 0 0 $size__site-sidebar;
|
||||||
overflow: hidden; /* Resolves issue with <pre> elements forcing full width. */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.widget-area {
|
.site-content .widget-area {
|
||||||
grid-area: sidebar;
|
float: left;
|
||||||
|
overflow: hidden;
|
||||||
|
width: $size__site-sidebar;
|
||||||
}
|
}
|
||||||
|
|
||||||
.site-footer {
|
.site-footer {
|
||||||
grid-area: footer;
|
clear: both;
|
||||||
|
width: $size__site-main;
|
||||||
}
|
}
|
||||||
|
|
||||||
@import "no-sidebar";
|
@import "no-sidebar";
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
|
||||||
img[class*="wp-image-"] {
|
img[class*="wp-image-"] {
|
||||||
|
|
||||||
@include center-block;
|
@include center-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,20 +1,18 @@
|
||||||
.gallery {
|
.gallery {
|
||||||
margin-bottom: 1.5em;
|
margin-bottom: 1.5em;
|
||||||
display: grid;
|
|
||||||
grid-gap: 1.5em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.gallery-item {
|
.gallery-item {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
vertical-align: top;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
|
||||||
|
|
||||||
// Loops to enumerate the classes for gallery columns.
|
// Loops to enumerate the classes for gallery columns.
|
||||||
@for $i from 2 through 9 {
|
@for $i from 2 through 9 {
|
||||||
|
.gallery-columns-#{$i} & {
|
||||||
.gallery-columns-#{$i} {
|
max-width: map-get( $columns, $i );
|
||||||
grid-template-columns: repeat($i, 1fr);
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,53 +1,7 @@
|
||||||
@mixin font-1($weight) {
|
// Rem output with px fallback
|
||||||
// see functions.php->google_fonts()
|
@mixin font-size($sizeValue: 1) {
|
||||||
// and functions.php->_s_scripts()
|
font-size: ($sizeValue * 16) * 1px;
|
||||||
font-family:
|
font-size: $sizeValue * 1rem;
|
||||||
Montserrat,
|
|
||||||
-apple-system,
|
|
||||||
BlinkMacSystemFont,
|
|
||||||
"Segoe UI",
|
|
||||||
Roboto,
|
|
||||||
Oxygen-Sans,
|
|
||||||
Ubuntu,
|
|
||||||
Cantarell,
|
|
||||||
"Helvetica Neue",
|
|
||||||
sans-serif;
|
|
||||||
|
|
||||||
@if $weight == regular {
|
|
||||||
font-weight: 400;
|
|
||||||
} @else if $weight == bold {
|
|
||||||
font-weight: 600;
|
|
||||||
} @else if $weight == extra-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
} @else {
|
|
||||||
|
|
||||||
@error "font-weight #{$weight} not in valid font-weights for font-1: 'Montserrat'.";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin font-body($weight: regular) {
|
|
||||||
|
|
||||||
@include font-1($weight);
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin font-title($weight: regular) {
|
|
||||||
|
|
||||||
@include font-1($weight);
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin font-link($weight: regular) {
|
|
||||||
|
|
||||||
@include font-1($weight);
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin font-code($weight: regular) {
|
|
||||||
font-family: $font__code;
|
|
||||||
font-weight: $weight;
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin font-pre($weight: regular) {
|
|
||||||
font-family: $font__pre;
|
|
||||||
font-weight: $weight;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Center block
|
// Center block
|
||||||
|
@ -57,9 +11,19 @@
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Clearfix
|
||||||
|
@mixin clearfix() {
|
||||||
|
content: "";
|
||||||
|
display: table;
|
||||||
|
table-layout: fixed;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clear after (not all clearfix need this also)
|
||||||
|
@mixin clearfix-after() {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
// Column width with margin
|
// Column width with margin
|
||||||
@mixin column-width($numberColumns: 3) {
|
@mixin column-width($numberColumns: 3) {
|
||||||
width:
|
width: map-get( $columns, $numberColumns ) - ( ( $columns__margin * ( $numberColumns - 1 ) ) / $numberColumns );
|
||||||
map-get($columns, $numberColumns) -
|
|
||||||
(($columns__margin * ($numberColumns - 1)) / $numberColumns);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
padding: 0;
|
padding: 0;
|
||||||
position: absolute !important;
|
position: absolute !important;
|
||||||
width: 1px;
|
width: 1px;
|
||||||
word-wrap: normal !important; // Many screen reader and browser combinations announce broken words as they would appear visually.
|
word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
|
||||||
|
|
||||||
&:focus {
|
&:focus {
|
||||||
background-color: $color__background-screen;
|
background-color: $color__background-screen;
|
||||||
|
@ -19,8 +19,8 @@
|
||||||
clip-path: none;
|
clip-path: none;
|
||||||
color: $color__text-screen;
|
color: $color__text-screen;
|
||||||
display: block;
|
display: block;
|
||||||
font-size: 0.875rem;
|
@include font-size(0.875);
|
||||||
font-weight: 700;
|
font-weight: bold;
|
||||||
height: auto;
|
height: auto;
|
||||||
left: 5px;
|
left: 5px;
|
||||||
line-height: normal;
|
line-height: normal;
|
||||||
|
@ -28,11 +28,11 @@
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
top: 5px;
|
top: 5px;
|
||||||
width: auto;
|
width: auto;
|
||||||
z-index: 100000; // Above WP toolbar.
|
z-index: 100000; /* Above WP toolbar. */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Do not show the outline on the skip link target. */
|
/* Do not show the outline on the skip link target. */
|
||||||
#primary[tabindex="-1"]:focus {
|
#content[tabindex="-1"]:focus {
|
||||||
outline: 0;
|
outline: 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,19 +1,16 @@
|
||||||
.alignleft {
|
.alignleft {
|
||||||
|
display: inline;
|
||||||
float: left;
|
float: left;
|
||||||
margin-right: 1.5em;
|
margin-right: 1.5em;
|
||||||
margin-bottom: 1.5em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.alignright {
|
.alignright {
|
||||||
|
display: inline;
|
||||||
float: right;
|
float: right;
|
||||||
margin-left: 1.5em;
|
margin-left: 1.5em;
|
||||||
margin-bottom: 1.5em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.aligncenter {
|
.aligncenter {
|
||||||
clear: both;
|
clear: both;
|
||||||
|
|
||||||
@include center-block;
|
@include center-block;
|
||||||
|
|
||||||
margin-bottom: 1.5em;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
.clear:before,
|
||||||
|
.clear:after,
|
||||||
|
.entry-content:before,
|
||||||
|
.entry-content:after,
|
||||||
|
.comment-content:before,
|
||||||
|
.comment-content:after,
|
||||||
|
.site-header:before,
|
||||||
|
.site-header:after,
|
||||||
|
.site-content:before,
|
||||||
|
.site-content:after,
|
||||||
|
.site-footer:before,
|
||||||
|
.site-footer:after {
|
||||||
|
@include clearfix;
|
||||||
|
}
|
||||||
|
|
||||||
|
.clear:after,
|
||||||
|
.entry-content:after,
|
||||||
|
.comment-content:after,
|
||||||
|
.site-header:after,
|
||||||
|
.site-content:after,
|
||||||
|
.site-footer:after {
|
||||||
|
@include clearfix-after;
|
||||||
|
}
|
|
@ -1,10 +1,10 @@
|
||||||
/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
|
/* Globally hidden elements when Infinite Scroll is supported and in use. */
|
||||||
.infinite-scroll .posts-navigation,
|
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
|
||||||
.infinite-scroll.neverending .site-footer {
|
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
|
/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
|
||||||
.infinity-end.neverending .site-footer {
|
.infinity-end.neverending .site-footer {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,17 +4,14 @@ a {
|
||||||
&:visited {
|
&:visited {
|
||||||
color: $color__link-visited;
|
color: $color__link-visited;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&:focus,
|
&:focus,
|
||||||
&:active {
|
&:active {
|
||||||
color: $color__link-hover;
|
color: $color__link-hover;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:focus {
|
&:focus {
|
||||||
outline: thin dotted;
|
outline: thin dotted;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&:active {
|
&:active {
|
||||||
outline: 0;
|
outline: 0;
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
.main-navigation {
|
.main-navigation {
|
||||||
|
clear: both;
|
||||||
display: block;
|
display: block;
|
||||||
|
float: left;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
|
@ -22,11 +24,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
li {
|
li {
|
||||||
|
|
||||||
&:hover > ul,
|
&:hover > ul,
|
||||||
&.focus > ul {
|
&.focus > ul {
|
||||||
display: block;
|
left: 100%;
|
||||||
left: auto;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +50,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
li {
|
li {
|
||||||
|
float: left;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&:hover > a,
|
&:hover > a,
|
||||||
|
@ -76,13 +77,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 37.5em) {
|
@media screen and (min-width: 37.5em) {
|
||||||
|
|
||||||
.menu-toggle {
|
.menu-toggle {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-navigation ul {
|
.main-navigation ul {
|
||||||
display: flex;
|
display: block;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,18 +91,17 @@
|
||||||
|
|
||||||
.site-main & {
|
.site-main & {
|
||||||
margin: 0 0 1.5em;
|
margin: 0 0 1.5em;
|
||||||
}
|
overflow: hidden;
|
||||||
|
|
||||||
.nav-links {
|
|
||||||
display: flex;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-previous {
|
.nav-previous {
|
||||||
flex: 1 0 50%;
|
float: left;
|
||||||
|
width: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-next {
|
.nav-next {
|
||||||
text-align: end;
|
float: right;
|
||||||
flex: 1 0 50%;
|
text-align: right;
|
||||||
|
width: 50%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
|
/**
|
||||||
|
* Checkout
|
||||||
|
*/
|
||||||
@media screen and (min-width: 768px) {
|
@media screen and (min-width: 768px) {
|
||||||
|
|
||||||
.col2-set {
|
.col2-set {
|
||||||
|
|
||||||
.form-row-first {
|
.form-row-first {
|
||||||
float: left;
|
float: left;
|
||||||
margin-right: $columns__margin;
|
margin-right: $columns__margin;
|
||||||
|
@ -14,7 +15,6 @@
|
||||||
|
|
||||||
.form-row-first,
|
.form-row-first,
|
||||||
.form-row-last {
|
.form-row-last {
|
||||||
|
|
||||||
@include column-width(2);
|
@include column-width(2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
@include clearfix;
|
||||||
|
|
||||||
.cart-contents {
|
.cart-contents {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
@ -30,14 +31,12 @@
|
||||||
line-height: 1.618;
|
line-height: 1.618;
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
width: 5.3em;
|
width: 5.3em;
|
||||||
/* stylelint-disable font-family-no-missing-generic-family-keyword */
|
font-family: 'star';
|
||||||
font-family: star;
|
|
||||||
/* stylelint-enable */
|
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|
||||||
&::before {
|
&:before {
|
||||||
content: "\53\53\53\53\53";
|
content: "\53\53\53\53\53";
|
||||||
opacity: 0.25;
|
opacity: .25;
|
||||||
float: left;
|
float: left;
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
@ -53,7 +52,7 @@
|
||||||
padding-top: 1.5em;
|
padding-top: 1.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
span::before {
|
span:before {
|
||||||
content: "\53\53\53\53\53";
|
content: "\53\53\53\53\53";
|
||||||
top: 0;
|
top: 0;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -63,7 +62,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
p.stars {
|
p.stars {
|
||||||
|
|
||||||
a {
|
a {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 1em;
|
height: 1em;
|
||||||
|
@ -74,8 +72,7 @@ p.stars {
|
||||||
margin-right: 1px;
|
margin-right: 1px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
|
||||||
&::before {
|
&:before {
|
||||||
|
|
||||||
display: block;
|
display: block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
@ -83,30 +80,25 @@ p.stars {
|
||||||
width: 1em;
|
width: 1em;
|
||||||
height: 1em;
|
height: 1em;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
/* stylelint-disable font-family-no-missing-generic-family-keyword */
|
font-family: "star";
|
||||||
font-family: star;
|
|
||||||
/* stylelint-enable */
|
|
||||||
content: "\53";
|
content: "\53";
|
||||||
color: $color__text-main;
|
color: $color__text-main;
|
||||||
text-indent: 0;
|
text-indent: 0;
|
||||||
opacity: 0.25;
|
opacity: .25;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
|
~ a:before {
|
||||||
~ a::before {
|
|
||||||
content: "\53";
|
content: "\53";
|
||||||
color: $color__text-main;
|
color: $color__text-main;
|
||||||
opacity: 0.25;
|
opacity: .25;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
|
|
||||||
a {
|
a {
|
||||||
|
&:before {
|
||||||
&::before {
|
|
||||||
content: "\53";
|
content: "\53";
|
||||||
color: $color__link;
|
color: $color__link;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
|
@ -115,25 +107,22 @@ p.stars {
|
||||||
}
|
}
|
||||||
|
|
||||||
&.selected {
|
&.selected {
|
||||||
|
|
||||||
a.active {
|
a.active {
|
||||||
|
&:before {
|
||||||
&::before {
|
|
||||||
content: "\53";
|
content: "\53";
|
||||||
color: $color__link;
|
color: $color__link;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
~ a::before {
|
~ a:before {
|
||||||
content: "\53";
|
content: "\53";
|
||||||
color: $color__text-main;
|
color: $color__text-main;
|
||||||
opacity: 0.25;
|
opacity: .25;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
a:not(.active) {
|
a:not(.active) {
|
||||||
|
&:before {
|
||||||
&::before {
|
|
||||||
content: "\53";
|
content: "\53";
|
||||||
color: $color__link;
|
color: $color__link;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
|
@ -146,7 +135,6 @@ p.stars {
|
||||||
* Tabs
|
* Tabs
|
||||||
*/
|
*/
|
||||||
.woocommerce-tabs {
|
.woocommerce-tabs {
|
||||||
|
|
||||||
ul.tabs {
|
ul.tabs {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
@ -166,7 +154,6 @@ p.stars {
|
||||||
}
|
}
|
||||||
|
|
||||||
.panel {
|
.panel {
|
||||||
|
|
||||||
h2:first-of-type {
|
h2:first-of-type {
|
||||||
margin-bottom: 1em;
|
margin-bottom: 1em;
|
||||||
}
|
}
|
||||||
|
@ -200,16 +187,13 @@ p.stars {
|
||||||
* Forms
|
* Forms
|
||||||
*/
|
*/
|
||||||
.form-row {
|
.form-row {
|
||||||
|
|
||||||
&.woocommerce-validated {
|
&.woocommerce-validated {
|
||||||
|
|
||||||
input.input-text {
|
input.input-text {
|
||||||
box-shadow: inset 2px 0 0 $woocommerce__color-success;
|
box-shadow: inset 2px 0 0 $woocommerce__color-success;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.woocommerce-invalid {
|
&.woocommerce-invalid {
|
||||||
|
|
||||||
input.input-text {
|
input.input-text {
|
||||||
box-shadow: inset 2px 0 0 $woocommerce__color-error;
|
box-shadow: inset 2px 0 0 $woocommerce__color-error;
|
||||||
}
|
}
|
||||||
|
@ -217,7 +201,7 @@ p.stars {
|
||||||
}
|
}
|
||||||
|
|
||||||
.required {
|
.required {
|
||||||
color: #f00;
|
color: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -228,6 +212,7 @@ p.stars {
|
||||||
.woocommerce-error,
|
.woocommerce-error,
|
||||||
.woocommerce-noreviews,
|
.woocommerce-noreviews,
|
||||||
p.no-comments {
|
p.no-comments {
|
||||||
|
@include clearfix;
|
||||||
background-color: $woocommerce__color-success;
|
background-color: $woocommerce__color-success;
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
@ -254,12 +239,10 @@ p.no-comments {
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 48em) {
|
@media screen and (min-width: 48em) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Header cart
|
* Header cart
|
||||||
*/
|
*/
|
||||||
.site-header-cart {
|
.site-header-cart {
|
||||||
|
|
||||||
.widget_shopping_cart {
|
.widget_shopping_cart {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 100%;
|
top: 100%;
|
||||||
|
@ -272,7 +255,6 @@ p.no-comments {
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&.focus {
|
&.focus {
|
||||||
|
|
||||||
.widget_shopping_cart {
|
.widget_shopping_cart {
|
||||||
left: 0;
|
left: 0;
|
||||||
display: block;
|
display: block;
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
|
/**
|
||||||
|
* Products
|
||||||
|
*/
|
||||||
ul.products {
|
ul.products {
|
||||||
|
@include clearfix;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
|
@ -22,11 +26,8 @@ ul.products {
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 48em) {
|
@media screen and (min-width: 48em) {
|
||||||
|
|
||||||
ul.products {
|
ul.products {
|
||||||
|
|
||||||
li.product {
|
li.product {
|
||||||
|
|
||||||
@include column-width(3);
|
@include column-width(3);
|
||||||
float: left;
|
float: left;
|
||||||
margin-right: $columns__margin;
|
margin-right: $columns__margin;
|
||||||
|
@ -41,24 +42,22 @@ ul.products {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.products.columns-1 {
|
.columns-1 {
|
||||||
|
ul.products {
|
||||||
li.product {
|
li.product {
|
||||||
float: none;
|
float: none;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@for $i from 2 through 6 {
|
@for $i from 2 through 6 {
|
||||||
|
.columns-#{$i} {
|
||||||
ul.products.columns-#{$i} {
|
ul.products {
|
||||||
|
|
||||||
li.product {
|
li.product {
|
||||||
|
|
||||||
@include column-width( $i );
|
@include column-width( $i );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,17 @@
|
||||||
|
/**
|
||||||
|
* Single Product
|
||||||
|
*/
|
||||||
.single-product {
|
.single-product {
|
||||||
|
|
||||||
div.product {
|
div.product {
|
||||||
|
@include clearfix;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.woocommerce-product-gallery {
|
.woocommerce-product-gallery {
|
||||||
position: relative;
|
position: relative;
|
||||||
float: left;
|
|
||||||
|
|
||||||
.woocommerce-product-gallery__trigger {
|
.woocommerce-product-gallery__trigger {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 2em;
|
top: 1em;
|
||||||
right: 1em;
|
right: 1em;
|
||||||
display: block;
|
display: block;
|
||||||
z-index: 99;
|
z-index: 99;
|
||||||
|
@ -20,6 +22,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex-control-thumbs {
|
.flex-control-thumbs {
|
||||||
|
@include clearfix;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
|
@ -29,7 +32,7 @@
|
||||||
float: left;
|
float: left;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
opacity: 0.5;
|
opacity: .5;
|
||||||
|
|
||||||
&.flex-active {
|
&.flex-active {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
|
@ -37,7 +40,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
|
|
||||||
img {
|
img {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
@ -46,13 +48,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@for $i from 2 through 5 {
|
@for $i from 2 through 5 {
|
||||||
|
|
||||||
&.woocommerce-product-gallery--columns-#{$i} {
|
&.woocommerce-product-gallery--columns-#{$i} {
|
||||||
|
|
||||||
.flex-control-thumbs {
|
.flex-control-thumbs {
|
||||||
|
|
||||||
li {
|
li {
|
||||||
|
|
||||||
@include column-width($i);
|
@include column-width($i);
|
||||||
|
|
||||||
&:nth-child(#{$i}n) {
|
&:nth-child(#{$i}n) {
|
||||||
|
@ -71,8 +69,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.stock {
|
.stock {
|
||||||
|
&:empty:before {
|
||||||
&:empty::before {
|
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,49 +1,46 @@
|
||||||
|
/**
|
||||||
|
* Shop tables
|
||||||
|
*/
|
||||||
table.shop_table_responsive {
|
table.shop_table_responsive {
|
||||||
|
|
||||||
thead {
|
thead {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
tbody {
|
tbody {
|
||||||
|
|
||||||
th {
|
th {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tr {
|
tr {
|
||||||
|
|
||||||
td {
|
td {
|
||||||
display: block;
|
display: block;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
clear: both;
|
clear: both;
|
||||||
|
|
||||||
&::before {
|
&:before {
|
||||||
content: attr(data-title) ": ";
|
content: attr(data-title) ': ';
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.product-remove {
|
&.product-remove {
|
||||||
|
|
||||||
a {
|
a {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
&::before {
|
&:before {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.actions,
|
&.actions,
|
||||||
&.download-actions {
|
&.download-actions {
|
||||||
|
&:before {
|
||||||
&::before {
|
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.download-actions {
|
&.download-actions {
|
||||||
|
|
||||||
.button {
|
.button {
|
||||||
display: block;
|
display: block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -54,31 +51,26 @@ table.shop_table_responsive {
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 48em) {
|
@media screen and (min-width: 48em) {
|
||||||
|
|
||||||
table.shop_table_responsive {
|
table.shop_table_responsive {
|
||||||
|
|
||||||
thead {
|
thead {
|
||||||
display: table-header-group;
|
display: table-header-group;
|
||||||
}
|
}
|
||||||
|
|
||||||
tbody {
|
tbody {
|
||||||
|
|
||||||
th {
|
th {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tr {
|
tr {
|
||||||
|
th, td {
|
||||||
th,
|
|
||||||
td {
|
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
td {
|
td {
|
||||||
display: table-cell;
|
display: table-cell;
|
||||||
|
|
||||||
&::before {
|
&:before {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,14 +2,13 @@
|
||||||
* WooCommerce Price Filter
|
* WooCommerce Price Filter
|
||||||
*/
|
*/
|
||||||
.widget_price_filter {
|
.widget_price_filter {
|
||||||
|
|
||||||
.price_slider {
|
.price_slider {
|
||||||
margin-bottom: 1.5em;
|
margin-bottom: 1.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.price_slider_amount {
|
.price_slider_amount {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
line-height: 2.4;
|
line-height: 2.4em;
|
||||||
|
|
||||||
.button {
|
.button {
|
||||||
float: left;
|
float: left;
|
||||||
|
@ -30,7 +29,7 @@
|
||||||
outline: none;
|
outline: none;
|
||||||
background: $color__link;
|
background: $color__link;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
margin-top: -0.25em;
|
margin-top: -.25em;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
|
|
||||||
&:last-child {
|
&:last-child {
|
||||||
|
@ -39,7 +38,7 @@
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&.ui-state-active {
|
&.ui-state-active {
|
||||||
box-shadow: 0 0 0 0.25em rgba(#000, 0.1);
|
box-shadow: 0 0 0 .25em rgba(#000, 0.1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,7 +55,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-slider-horizontal {
|
.ui-slider-horizontal {
|
||||||
height: 0.5em;
|
height: .5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ui-slider-horizontal .ui-slider-range {
|
.ui-slider-horizontal .ui-slider-range {
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
.comment-content a {
|
.comment-content a {
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bypostauthor {
|
.bypostauthor {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,7 @@
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post,
|
.hentry {
|
||||||
.page {
|
|
||||||
margin: 0 0 1.5em;
|
margin: 0 0 1.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
.widget {
|
.widget {
|
||||||
margin: 0 0 1.5em;
|
margin: 0 0 1.5em;
|
||||||
|
|
||||||
// Make sure select elements fit in widgets.
|
/* Make sure select elements fit in widgets. */
|
||||||
select {
|
select {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,9 +11,9 @@ Text Domain: _s
|
||||||
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
|
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
|
||||||
|
|
||||||
This theme, like WordPress, is licensed under the GPL.
|
This theme, like WordPress, is licensed under the GPL.
|
||||||
Use it to make something cool, have fun, and share what you've learned.
|
Use it to make something cool, have fun, and share what you've learned with others.
|
||||||
|
|
||||||
_s is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
|
_s is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
|
||||||
Underscores is distributed under the terms of the GNU GPL v2 or later.
|
Underscores is distributed under the terms of the GNU GPL v2 or later.
|
||||||
|
|
||||||
Normalizing styles have been helped along thanks to the fine work of
|
Normalizing styles have been helped along thanks to the fine work of
|
||||||
|
@ -32,6 +32,7 @@ Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
|
||||||
## Menus
|
## Menus
|
||||||
# Accessibility
|
# Accessibility
|
||||||
# Alignments
|
# Alignments
|
||||||
|
# Clearings
|
||||||
# Widgets
|
# Widgets
|
||||||
# Content
|
# Content
|
||||||
## Posts and pages
|
## Posts and pages
|
||||||
|
@ -79,6 +80,11 @@ Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
|
||||||
--------------------------------------------------------------*/
|
--------------------------------------------------------------*/
|
||||||
@import "modules/alignments";
|
@import "modules/alignments";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------
|
||||||
|
# Clearings
|
||||||
|
--------------------------------------------------------------*/
|
||||||
|
@import "modules/clearings";
|
||||||
|
|
||||||
/*--------------------------------------------------------------
|
/*--------------------------------------------------------------
|
||||||
# Widgets
|
# Widgets
|
||||||
--------------------------------------------------------------*/
|
--------------------------------------------------------------*/
|
||||||
|
|
|
@ -2,10 +2,7 @@ p {
|
||||||
margin-bottom: 1.5em;
|
margin-bottom: 1.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
dfn,
|
dfn, cite, em, i {
|
||||||
cite,
|
|
||||||
em,
|
|
||||||
i {
|
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,9 +16,8 @@ address {
|
||||||
|
|
||||||
pre {
|
pre {
|
||||||
background: $color__background-pre;
|
background: $color__background-pre;
|
||||||
|
font-family: $font__pre;
|
||||||
@include font-pre;
|
@include font-size(0.9375);
|
||||||
font-size: 0.9375rem;
|
|
||||||
line-height: $font__line-height-pre;
|
line-height: $font__line-height-pre;
|
||||||
margin-bottom: 1.6em;
|
margin-bottom: 1.6em;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
@ -29,23 +25,17 @@ pre {
|
||||||
padding: 1.6em;
|
padding: 1.6em;
|
||||||
}
|
}
|
||||||
|
|
||||||
code,
|
code, kbd, tt, var {
|
||||||
kbd,
|
font-family: $font__code;
|
||||||
tt,
|
@include font-size(0.9375);
|
||||||
var {
|
|
||||||
|
|
||||||
@include font-code;
|
|
||||||
font-size: 0.9375rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
abbr,
|
abbr, acronym {
|
||||||
acronym {
|
|
||||||
border-bottom: 1px dotted $color__border-abbr;
|
border-bottom: 1px dotted $color__border-abbr;
|
||||||
cursor: help;
|
cursor: help;
|
||||||
}
|
}
|
||||||
|
|
||||||
mark,
|
mark, ins {
|
||||||
ins {
|
|
||||||
background: $color__background-ins;
|
background: $color__background-ins;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,3 @@
|
||||||
h1,
|
h1, h2, h3, h4, h5, h6 {
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5,
|
|
||||||
h6 {
|
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,11 +5,11 @@ select,
|
||||||
optgroup,
|
optgroup,
|
||||||
textarea {
|
textarea {
|
||||||
color: $color__text-main;
|
color: $color__text-main;
|
||||||
|
font-family: $font__main;
|
||||||
@include font-body;
|
@include font-size(1);
|
||||||
font-size: 1rem;
|
|
||||||
line-height: $font__line-height-body;
|
line-height: $font__line-height-body;
|
||||||
}
|
}
|
||||||
|
|
||||||
@import "headings";
|
@import "headings";
|
||||||
|
|
||||||
@import "copy";
|
@import "copy";
|
||||||
|
|
|
@ -8,9 +8,9 @@ $color__background-ins: #fff9c0;
|
||||||
$color__text-screen: #21759b;
|
$color__text-screen: #21759b;
|
||||||
$color__text-input: #666;
|
$color__text-input: #666;
|
||||||
$color__text-input-focus: #111;
|
$color__text-input-focus: #111;
|
||||||
$color__link: #4169e1; //royalblue
|
$color__link: royalblue;
|
||||||
$color__link-visited: #800080; //purple
|
$color__link-visited: purple;
|
||||||
$color__link-hover: #191970; //midnightblue
|
$color__link-hover: midnightblue;
|
||||||
$color__text-main: #404040;
|
$color__text-main: #404040;
|
||||||
|
|
||||||
$color__border-button: #ccc #ccc #bbb;
|
$color__border-button: #ccc #ccc #bbb;
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
// stylelint-disable value-keyword-case
|
$font__main: sans-serif;
|
||||||
$font__main: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen-sans,
|
$font__code: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
|
||||||
ubuntu, cantarell, "Helvetica Neue", sans-serif;
|
$font__pre: "Courier 10 Pitch", Courier, monospace;
|
||||||
// stylelint-enable value-keyword-case
|
|
||||||
$font__code: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
|
|
||||||
$font__pre: "Courier 10 Pitch", courier, monospace;
|
|
||||||
$font__line-height-body: 1.5;
|
$font__line-height-body: 1.5;
|
||||||
$font__line-height-pre: 1.6;
|
$font__line-height-pre: 1.6;
|
||||||
|
|
|
@ -4,12 +4,16 @@ Theme Name: _s
|
||||||
WooCommerce styles override
|
WooCommerce styles override
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// WooCommerce color variables
|
/**
|
||||||
|
* WooCommerce color variables
|
||||||
|
*/
|
||||||
$woocommerce__color-error: #e2401c;
|
$woocommerce__color-error: #e2401c;
|
||||||
$woocommerce__color-success: #0f834d;
|
$woocommerce__color-success: #0f834d;
|
||||||
$woocommerce__color-info: #3d9cd2;
|
$woocommerce__color-info: #3D9CD2;
|
||||||
|
|
||||||
// Imports
|
/**
|
||||||
|
* Imports
|
||||||
|
*/
|
||||||
@import "variables-site/variables-site";
|
@import "variables-site/variables-site";
|
||||||
@import "mixins/mixins-master";
|
@import "mixins/mixins-master";
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,8 @@
|
||||||
get_header();
|
get_header();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<main id="primary" class="site-main">
|
<section id="primary" class="content-area">
|
||||||
|
<main id="main" class="site-main">
|
||||||
|
|
||||||
<?php if ( have_posts() ) : ?>
|
<?php if ( have_posts() ) : ?>
|
||||||
|
|
||||||
|
@ -47,6 +48,7 @@ get_header();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</main><!-- #main -->
|
</main><!-- #main -->
|
||||||
|
</section><!-- #primary -->
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
get_sidebar();
|
get_sidebar();
|
||||||
|
|
11
single.php
11
single.php
|
@ -10,7 +10,8 @@
|
||||||
get_header();
|
get_header();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<main id="primary" class="site-main">
|
<div id="primary" class="content-area">
|
||||||
|
<main id="main" class="site-main">
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
while ( have_posts() ) :
|
while ( have_posts() ) :
|
||||||
|
@ -18,12 +19,7 @@ get_header();
|
||||||
|
|
||||||
get_template_part( 'template-parts/content', get_post_type() );
|
get_template_part( 'template-parts/content', get_post_type() );
|
||||||
|
|
||||||
the_post_navigation(
|
the_post_navigation();
|
||||||
array(
|
|
||||||
'prev_text' => '<span class="nav-subtitle">' . esc_html__( 'Previous:', '_s' ) . '</span> <span class="nav-title">%title</span>',
|
|
||||||
'next_text' => '<span class="nav-subtitle">' . esc_html__( 'Next:', '_s' ) . '</span> <span class="nav-title">%title</span>',
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// If comments are open or we have at least one comment, load up the comment template.
|
// If comments are open or we have at least one comment, load up the comment template.
|
||||||
if ( comments_open() || get_comments_number() ) :
|
if ( comments_open() || get_comments_number() ) :
|
||||||
|
@ -34,6 +30,7 @@ get_header();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</main><!-- #main -->
|
</main><!-- #main -->
|
||||||
|
</div><!-- #primary -->
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
get_sidebar();
|
get_sidebar();
|
||||||
|
|
|
@ -20,12 +20,10 @@
|
||||||
<?php
|
<?php
|
||||||
the_content();
|
the_content();
|
||||||
|
|
||||||
wp_link_pages(
|
wp_link_pages( array(
|
||||||
array(
|
|
||||||
'before' => '<div class="page-links">' . esc_html__( 'Pages:', '_s' ),
|
'before' => '<div class="page-links">' . esc_html__( 'Pages:', '_s' ),
|
||||||
'after' => '</div>',
|
'after' => '</div>',
|
||||||
)
|
) );
|
||||||
);
|
|
||||||
?>
|
?>
|
||||||
</div><!-- .entry-content -->
|
</div><!-- .entry-content -->
|
||||||
|
|
||||||
|
@ -43,7 +41,7 @@
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
wp_kses_post( get_the_title() )
|
get_the_title()
|
||||||
),
|
),
|
||||||
'<span class="edit-link">',
|
'<span class="edit-link">',
|
||||||
'</span>'
|
'</span>'
|
||||||
|
|
|
@ -16,8 +16,7 @@
|
||||||
<?php if ( 'post' === get_post_type() ) : ?>
|
<?php if ( 'post' === get_post_type() ) : ?>
|
||||||
<div class="entry-meta">
|
<div class="entry-meta">
|
||||||
<?php
|
<?php
|
||||||
_s_posted_on();
|
_s_posted_on_by()
|
||||||
_s_posted_by();
|
|
||||||
?>
|
?>
|
||||||
</div><!-- .entry-meta -->
|
</div><!-- .entry-meta -->
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
|
@ -22,8 +22,7 @@
|
||||||
?>
|
?>
|
||||||
<div class="entry-meta">
|
<div class="entry-meta">
|
||||||
<?php
|
<?php
|
||||||
_s_posted_on();
|
_s_posted_on_by();
|
||||||
_s_posted_by();
|
|
||||||
?>
|
?>
|
||||||
</div><!-- .entry-meta -->
|
</div><!-- .entry-meta -->
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
@ -33,8 +32,7 @@
|
||||||
|
|
||||||
<div class="entry-content">
|
<div class="entry-content">
|
||||||
<?php
|
<?php
|
||||||
the_content(
|
the_content( sprintf(
|
||||||
sprintf(
|
|
||||||
wp_kses(
|
wp_kses(
|
||||||
/* translators: %s: Name of current post. Only visible to screen readers */
|
/* translators: %s: Name of current post. Only visible to screen readers */
|
||||||
__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', '_s' ),
|
__( 'Continue reading<span class="screen-reader-text"> "%s"</span>', '_s' ),
|
||||||
|
@ -44,16 +42,13 @@
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
wp_kses_post( get_the_title() )
|
get_the_title()
|
||||||
)
|
) );
|
||||||
);
|
|
||||||
|
|
||||||
wp_link_pages(
|
wp_link_pages( array(
|
||||||
array(
|
|
||||||
'before' => '<div class="page-links">' . esc_html__( 'Pages:', '_s' ),
|
'before' => '<div class="page-links">' . esc_html__( 'Pages:', '_s' ),
|
||||||
'after' => '</div>',
|
'after' => '</div>',
|
||||||
)
|
) );
|
||||||
);
|
|
||||||
?>
|
?>
|
||||||
</div><!-- .entry-content -->
|
</div><!-- .entry-content -->
|
||||||
|
|
||||||
|
|
474
woocommerce.css
474
woocommerce.css
File diff suppressed because one or more lines are too long
Reference in New Issue