gulp4
This commit is contained in:
commit
d8ad7b29d4
|
@ -13,3 +13,15 @@ dist-product
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
|
|
||||||
/vendor/
|
/vendor/
|
||||||
|
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
.svn
|
||||||
|
|
||||||
|
.cvs
|
||||||
|
|
||||||
|
*.bak
|
||||||
|
|
||||||
|
*.swp
|
||||||
|
|
17
CHANGELOG.md
17
CHANGELOG.md
|
@ -1,3 +1,20 @@
|
||||||
|
- ** Release 0.8.2 April 11th 2018 **
|
||||||
|
- Update to Bootstrap 4.1
|
||||||
|
- Adding CONTRIBUTING.md and ISSUE_TEMPLATE.md - Thx @Thomas-A-Reinert
|
||||||
|
- Adding empty JS file into build process for adding own JS more easily - Thx @Thomas-A-Reinert
|
||||||
|
- WooCommerce update and cleanup - Thx @ZacharyElkins
|
||||||
|
- Adding SASS source map functionality - Thx @axlright
|
||||||
|
- Cleanup - Thx @axlright
|
||||||
|
- Adding custom editor SASS stylesheet into build process
|
||||||
|
- Remove woocommerce.php integration and replace it with hooked approach - See: https://docs.woocommerce.com/document/third-party-custom-theme-compatibility/#section-5
|
||||||
|
- New pagination - Thx @0dp
|
||||||
|
- Update functions.php - Thx @0dp
|
||||||
|
- Add pluggable functions - Thx @axlright
|
||||||
|
- Add polish translation - Thx @mirzal
|
||||||
|
- Adding timestamp to js and css resources to prevent caching while developinh - Thx @@gintsmurans
|
||||||
|
- Improve left sidebar check - Thx @ZacharyElkins
|
||||||
|
|
||||||
|
|
||||||
- ** Release 0.8.1 March 7th 2018 **
|
- ** Release 0.8.1 March 7th 2018 **
|
||||||
- Updating dependencies
|
- Updating dependencies
|
||||||
- Fixing and improing gulpfile.js - thx @0dp
|
- Fixing and improing gulpfile.js - thx @0dp
|
||||||
|
|
|
@ -9,11 +9,11 @@ Please delete anything that does not apply for you!
|
||||||
|
|
||||||
## Please tell us about your environment:
|
## Please tell us about your environment:
|
||||||
|
|
||||||
- WordPress Version: 4.9.x
|
- **WordPress Version:** 4.9.x
|
||||||
- OS Version: [Windows 7 | Windows 8 | Windows 10 | Linux [Distribution / Version] | MacOsX [Version | Android[Version] | iOS[Version]
|
- **OS Version:** [Windows 7 | Windows 8 | Windows 10] | Linux [Distribution / Version] | MacOS [Version] | Android [Version] | iOS [Version]
|
||||||
- Browser: [ all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari ]
|
- **Browser:** [ all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari ]
|
||||||
- Language: [ all | PHP | SQL | HTML | S/CSS | Javascript | jQuery | ES6 | JSON | XML]
|
- **Language:** [ all | PHP | SQL | HTML | S/CSS | Javascript | jQuery | ES6 | JSON | XML]
|
||||||
- Node.js & NPM Versions: Node.js [V X.XX] | NPM [V X.XX]
|
- **Node.js & NPM Versions:** Node.js [V X.XX] | NPM [V X.XX]
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Testing
|
||||||
|
|
||||||
|
[] YES
|
||||||
|
|
||||||
|
[] NO!
|
49
README.md
49
README.md
|
@ -6,16 +6,14 @@ Travis build: [![Build Status](https://travis-ci.org/understrap/understrap.svg?b
|
||||||
|
|
||||||
Website: [https://understrap.com](https://understrap.com)
|
Website: [https://understrap.com](https://understrap.com)
|
||||||
|
|
||||||
Child Theme Project: [https://github.com/holger1411/understrap-child](https://github.com/holger1411/understrap-child)
|
Child Theme Project: [https://github.com/understrap/understrap-child](https://github.com/understrap/understrap-child)
|
||||||
|
|
||||||
## About
|
## About
|
||||||
|
|
||||||
I’m a huge fan of Underscores, Bootstrap, and Sass. Why not combine these into a solid WordPress Theme Framework?
|
I’m a huge fan of Underscores, Bootstrap, and Sass. Why not combine these into a solid WordPress Theme Framework? That’s what UnderStrap is. You can use it as a starter theme and build your own theme on top of it. Or you can use it as a parent theme and create your own child theme for UnderStrap.
|
||||||
That’s what UnderStrap is.
|
|
||||||
You can use it as starter theme and build your own theme on top of it. Or you use it as parent theme and create your own child theme for UnderStrap.
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
UnderStrap WordPress Theme, Copyright 2013-2017 Holger Koenemann
|
UnderStrap WordPress Theme, Copyright 2013-2018 Holger Koenemann
|
||||||
UnderStrap is distributed under the terms of the GNU GPL version 2
|
UnderStrap is distributed under the terms of the GNU GPL version 2
|
||||||
|
|
||||||
http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
|
http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
|
||||||
|
@ -28,7 +26,7 @@ See [changelog](CHANGELOG.md)
|
||||||
|
|
||||||
- Combines Underscore’s PHP/JS files and Bootstrap’s HTML/CSS/JS.
|
- Combines Underscore’s PHP/JS files and Bootstrap’s HTML/CSS/JS.
|
||||||
- Comes with Bootstrap (v4) Sass source files and additional .scss files. Nicely sorted and ready to add your own variables and customize the Bootstrap variables.
|
- Comes with Bootstrap (v4) Sass source files and additional .scss files. Nicely sorted and ready to add your own variables and customize the Bootstrap variables.
|
||||||
- Uses a single and minified CSS file for all the basic stuff.
|
- Uses a single minified CSS file for all the basic stuff.
|
||||||
- [Font Awesome](http://fortawesome.github.io/Font-Awesome/) integration (v4.7.0)
|
- [Font Awesome](http://fortawesome.github.io/Font-Awesome/) integration (v4.7.0)
|
||||||
- Jetpack ready.
|
- Jetpack ready.
|
||||||
- WooCommerce support.
|
- WooCommerce support.
|
||||||
|
@ -44,26 +42,30 @@ Why not add a well known and supported layout framework to have a solid, clean a
|
||||||
## Confused by All the CSS and Sass Files?
|
## Confused by All the CSS and Sass Files?
|
||||||
|
|
||||||
Some basics about the Sass and CSS files that come with UnderStrap:
|
Some basics about the Sass and CSS files that come with UnderStrap:
|
||||||
- The theme itself uses the `/style.css`file just to identify the theme inside of WordPress. The file is not loaded by the theme and does not include any styles.
|
- The theme itself uses the `/style.css`file only to identify the theme inside of WordPress. The file is not loaded by the theme and does not include any styles.
|
||||||
- The `/css/theme.css` and its minified little brother `/css/theme.min.css` file(s) provides all styles. It is composed of five different SCSS sets and one variable file at `/sass/theme.scss`:
|
- The `/css/theme.css` and its minified little brother `/css/theme.min.css` file(s) provides all styles. It is composed of five different SCSS sets and one variable file at `/sass/theme.scss`:
|
||||||
|
|
||||||
- 1 "theme/theme_variables"; // <--------- Add your variables into this file. Also add variables to overwrite Bootstrap or UnderStrap variables here
|
```@import "theme/theme_variables"; // 1. Add your variables into this file. Also add variables to overwrite Bootstrap or UnderStrap variables here
|
||||||
- 2 "../src/bootstrap-sass/assets/stylesheets/bootstrap"; // <--------- All the Bootstrap stuff - Don´t edit this!
|
@import "../src/bootstrap-sass/assets/stylesheets/bootstrap"; // 2. All the Bootstrap stuff - Don´t edit this!
|
||||||
- 3 "understrap/understrap"; // <--------- Some basic WordPress stylings and needed styles to combine Boostrap and Underscores
|
@import "understrap/understrap"; // 3. Some basic WordPress stylings and needed styles to combine Boostrap and Underscores
|
||||||
- 4 "../src/fontawesome/scss/font-awesome"; // <--------- Font Awesome Icon styles
|
@import "../src/fontawesome/scss/font-awesome"; // 4. Font Awesome Icon styles
|
||||||
|
// Any additional imported files //
|
||||||
|
@import "theme/theme"; // 5. Add your styles into this file
|
||||||
|
```
|
||||||
|
|
||||||
// Any additional imported files //
|
- Don’t edit the number 2-4 files/filesets listed above or you won’t be able to update Understrap without overwriting your own work!
|
||||||
- 5 "theme/theme"; // <--------- Add your styles into this file
|
- Your design goes into: `/sass/theme`.
|
||||||
|
- Add your styles to the `/sass/theme/_theme.scss` file
|
||||||
- Don’t edit the files no. 2-4 files/filesets or you won’t be able to update it without overwriting your own work!
|
- And your variables to the `/sass/theme/_theme_variables.scss`
|
||||||
- Your design goes into: `/sass/theme`. Add your styles to the `/sass/theme/_theme.scss` file and your variables to the `/sass/theme/_theme_variables.scss`. Or add other .scss files into it and `@import` it into `/sass/theme/_theme.scss`.
|
- Or add other .scss files into it and `@import` it into `/sass/theme/_theme.scss`.
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
There are several ways to install UnderStrap. We'll look at three of them: (1) classic install by uploading UnderStrap to a WordPress install, (2) using npm, and (3) using the theme directory in WordPress.
|
||||||
|
|
||||||
### Classic install
|
### Classic install
|
||||||
- Download the understrap folder from GitHub or from [https://understrap.com](https://understrap.com)
|
- Download the understrap folder from GitHub or from [https://understrap.com](https://understrap.com)
|
||||||
- IMPORTANT: If you download it from GitHub make sure you rename the "understrap-master.zip" file just to "understrap.zip" or you might have problems using child themes !!
|
- IMPORTANT: If you download it from GitHub make sure you rename the "understrap-master.zip" file just to "understrap.zip" or you might have problems using child themes!
|
||||||
- Upload it into your WordPress installation subfolder here: `/wp-content/themes/`
|
- Upload it into your WordPress installation theme subfolder: `/wp-content/themes/`
|
||||||
- Login to your WordPress backend
|
- Login to your WordPress backend
|
||||||
- Go to Appearance → Themes
|
- Go to Appearance → Themes
|
||||||
- Activate the UnderStrap theme
|
- Activate the UnderStrap theme
|
||||||
|
@ -84,12 +86,12 @@ Some basics about the Sass and CSS files that come with UnderStrap:
|
||||||
## Developing With npm, Gulp and SASS and [Browser Sync][1]
|
## Developing With npm, Gulp and SASS and [Browser Sync][1]
|
||||||
|
|
||||||
### Installing Dependencies
|
### Installing Dependencies
|
||||||
- Make sure you have installed Node.js and Browser-Sync* (* optional, if you wanna use it) on your computer globally
|
- Make sure you have installed Node.js and Browser-Sync (optional) on your computer globally
|
||||||
- Then open your terminal and browse to the location of your UnderStrap copy
|
- Then open your terminal and browse to the location of your UnderStrap copy
|
||||||
- Run: `$ npm install`
|
- Run: `$ npm install`
|
||||||
|
|
||||||
### Running
|
### Running
|
||||||
To work and compile your Sass files on the fly start:
|
To work with and compile your Sass files on the fly start:
|
||||||
|
|
||||||
- `$ gulp watch`
|
- `$ gulp watch`
|
||||||
|
|
||||||
|
@ -107,7 +109,7 @@ Or, to run with Browser-Sync:
|
||||||
```
|
```
|
||||||
- then run: `$ gulp watch-bs`
|
- then run: `$ gulp watch-bs`
|
||||||
|
|
||||||
## How to Use the Build-In Widget Slider
|
## How to Use the Built-In Widget Slider
|
||||||
|
|
||||||
The front-page slider is widget driven. Simply add more than one widget to widget position “Hero”.
|
The front-page slider is widget driven. Simply add more than one widget to widget position “Hero”.
|
||||||
- Click on Appearance → Widgets.
|
- Click on Appearance → Widgets.
|
||||||
|
@ -115,10 +117,11 @@ The front-page slider is widget driven. Simply add more than one widget to widge
|
||||||
- That’s it.
|
- That’s it.
|
||||||
|
|
||||||
## RTL styles?
|
## RTL styles?
|
||||||
Just add a new file to the themes root folder called rtl.css. Add all alignments to this file according to this description:
|
Add a new file to the themes root folder called rtl.css. Add all alignments to this file according to this description:
|
||||||
https://codex.wordpress.org/Right_to_Left_Language_Support
|
https://codex.wordpress.org/Right_to_Left_Language_Support
|
||||||
|
|
||||||
## Page Templates
|
## Page Templates
|
||||||
|
UnderStrap includes several different page template files: (1) blank template, (2) empty template, and (3) full width template.
|
||||||
|
|
||||||
### Blank Template
|
### Blank Template
|
||||||
|
|
||||||
|
@ -132,6 +135,8 @@ The `empty.php` template displays a header and a footer only. A good starting po
|
||||||
|
|
||||||
The `fullwidthpage.php` template has full width layout without a sidebar.
|
The `fullwidthpage.php` template has full width layout without a sidebar.
|
||||||
|
|
||||||
|
## Footnotes
|
||||||
|
|
||||||
[1] Visit [http://browsersync.io](http://browsersync.io) for more information on Browser Sync
|
[1] Visit [http://browsersync.io](http://browsersync.io) for more information on Browser Sync
|
||||||
|
|
||||||
Licenses & Credits
|
Licenses & Credits
|
||||||
|
|
|
@ -60,8 +60,6 @@ $container = get_theme_mod( 'understrap_container_type' );
|
||||||
<!-- The pagination component -->
|
<!-- The pagination component -->
|
||||||
<?php understrap_pagination(); ?>
|
<?php understrap_pagination(); ?>
|
||||||
|
|
||||||
</div><!-- #primary -->
|
|
||||||
|
|
||||||
<!-- Do the right sidebar check -->
|
<!-- Do the right sidebar check -->
|
||||||
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
||||||
|
|
||||||
|
|
|
@ -84,8 +84,6 @@ $container = get_theme_mod( 'understrap_container_type' );
|
||||||
<!-- The pagination component -->
|
<!-- The pagination component -->
|
||||||
<?php understrap_pagination(); ?>
|
<?php understrap_pagination(); ?>
|
||||||
|
|
||||||
</div><!-- #primary -->
|
|
||||||
|
|
||||||
<!-- Do the right sidebar check -->
|
<!-- Do the right sidebar check -->
|
||||||
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "understrap",
|
"name": "understrap",
|
||||||
"version": "0.8.0",
|
"version": "0.8.2",
|
||||||
"homepage": "http://understrap.com",
|
"homepage": "http://understrap.com",
|
||||||
"authors": [
|
"authors": [
|
||||||
"Holger Koenemann <office@holgerkoenemann.de>"
|
"Holger Koenemann <office@holgerkoenemann.de>"
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{
|
{
|
||||||
"name": "holger1411/understrap",
|
"name": "holger1411/understrap",
|
||||||
"description": "Combines Automattic´s Underscores Starter Theme and Bootstrap 4",
|
"description": "Combines Automattic´s Underscores Starter Theme and Bootstrap 4",
|
||||||
"type": "library",
|
"type": "wordpress-theme",
|
||||||
"license": "GPL-2.0",
|
"license": "GPL-2.0",
|
||||||
"minimum-stability": "stable",
|
"minimum-stability": "stable",
|
||||||
"require": {},
|
"require": {"composer/installers": "^1.5"},
|
||||||
"keywords": ["wordpress","theme","bootstrap"],
|
"keywords": ["wordpress","theme","bootstrap"],
|
||||||
"homepage": "https://github.com/holger1411/understrap"
|
"homepage": "https://github.com/holger1411/understrap"
|
||||||
}
|
}
|
||||||
|
|
2196
css/theme.css
2196
css/theme.css
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -31,7 +31,7 @@ require get_template_directory() . '/inc/enqueue.php';
|
||||||
require get_template_directory() . '/inc/template-tags.php';
|
require get_template_directory() . '/inc/template-tags.php';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Custom template tags for this theme.
|
* Custom pagination for this theme.
|
||||||
*/
|
*/
|
||||||
require get_template_directory() . '/inc/pagination.php';
|
require get_template_directory() . '/inc/pagination.php';
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ require get_template_directory() . '/inc/jetpack.php';
|
||||||
/**
|
/**
|
||||||
* Load custom WordPress nav walker.
|
* Load custom WordPress nav walker.
|
||||||
*/
|
*/
|
||||||
require get_template_directory() . '/inc/bootstrap-wp-navwalker.php';
|
require get_template_directory() . '/inc/class-wp-bootstrap-navwalker.php';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load WooCommerce functions.
|
* Load WooCommerce functions.
|
||||||
|
|
|
@ -7,12 +7,14 @@
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<?php if ( is_active_sidebar( 'hero' ) || is_active_sidebar( 'statichero' ) ) : ?>
|
<?php if ( is_active_sidebar( 'hero' ) || is_active_sidebar( 'statichero' ) || is_active_sidebar( 'herocanvas' ) ) : ?>
|
||||||
|
|
||||||
<div class="wrapper" id="wrapper-hero">
|
<div class="wrapper" id="wrapper-hero">
|
||||||
|
|
||||||
<?php get_sidebar( 'hero' ); ?>
|
<?php get_sidebar( 'hero' ); ?>
|
||||||
|
|
||||||
|
<?php get_sidebar( 'herocanvas' ); ?>
|
||||||
|
|
||||||
<?php get_sidebar( 'statichero' ); ?>
|
<?php get_sidebar( 'statichero' ); ?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -19,16 +19,18 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
|
||||||
$html = '';
|
$html = '';
|
||||||
if ( 'right' === $sidebar_pos || 'left' === $sidebar_pos ) {
|
if ( 'right' === $sidebar_pos || 'left' === $sidebar_pos ) {
|
||||||
$html = '<div class="';
|
$html = '<div class="';
|
||||||
if ( is_active_sidebar( 'right-sidebar' ) || is_active_sidebar( 'left-sidebar' ) ) {
|
if ( ( is_active_sidebar( 'right-sidebar' ) && 'right' === $sidebar_pos ) || ( is_active_sidebar( 'left-sidebar' ) && 'left' === $sidebar_pos ) ) {
|
||||||
$html .= 'col-md-8 content-area" id="primary">';
|
$html .= 'col-md-8 content-area" id="primary">';
|
||||||
} else {
|
} else {
|
||||||
$html .= 'col-md-12 content-area" id="primary">';
|
$html .= 'col-md-12 content-area" id="primary">';
|
||||||
}
|
}
|
||||||
echo $html; // WPCS: XSS OK.
|
echo $html; // WPCS: XSS OK.
|
||||||
} elseif ( is_active_sidebar( 'right-sidebar' ) && is_active_sidebar( 'left-sidebar' ) ) {
|
} elseif ( 'both' === $sidebar_pos ) {
|
||||||
$html = '<div class="';
|
$html = '<div class="';
|
||||||
if ( 'both' === $sidebar_pos ) {
|
if ( is_active_sidebar( 'right-sidebar' ) && is_active_sidebar( 'left-sidebar' ) ) {
|
||||||
$html .= 'col-md-6 content-area" id="primary">';
|
$html .= 'col-md-6 content-area" id="primary">';
|
||||||
|
} elseif ( is_active_sidebar( 'right-sidebar' ) || is_active_sidebar( 'left-sidebar' ) ) {
|
||||||
|
$html .= 'col-md-8 content-area" id="primary">';
|
||||||
} else {
|
} else {
|
||||||
$html .= 'col-md-12 content-area" id="primary">';
|
$html .= 'col-md-12 content-area" id="primary">';
|
||||||
}
|
}
|
||||||
|
@ -36,4 +38,3 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
|
||||||
} else {
|
} else {
|
||||||
echo '<div class="col-md-12 content-area" id="primary">';
|
echo '<div class="col-md-12 content-area" id="primary">';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,8 @@
|
||||||
*/
|
*/
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
</div><!-- #closing the primary container from /global-templates/left-sidebar-check.php -->
|
||||||
|
|
||||||
<?php $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' ); ?>
|
<?php $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' ); ?>
|
||||||
|
|
||||||
<?php if ( 'right' === $sidebar_pos || 'both' === $sidebar_pos ) : ?>
|
<?php if ( 'right' === $sidebar_pos || 'both' === $sidebar_pos ) : ?>
|
||||||
|
|
|
@ -32,7 +32,7 @@ $container = get_theme_mod( 'understrap_container_type' );
|
||||||
|
|
||||||
<a class="skip-link screen-reader-text sr-only" href="#content"><?php esc_html_e( 'Skip to content', 'understrap' ); ?></a>
|
<a class="skip-link screen-reader-text sr-only" href="#content"><?php esc_html_e( 'Skip to content', 'understrap' ); ?></a>
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
|
<nav class="navbar navbar-expand-md navbar-dark bg-primary">
|
||||||
|
|
||||||
<?php if ( 'container' == $container ) : ?>
|
<?php if ( 'container' == $container ) : ?>
|
||||||
<div class="container" >
|
<div class="container" >
|
||||||
|
@ -69,7 +69,8 @@ $container = get_theme_mod( 'understrap_container_type' );
|
||||||
'menu_class' => 'navbar-nav',
|
'menu_class' => 'navbar-nav',
|
||||||
'fallback_cb' => '',
|
'fallback_cb' => '',
|
||||||
'menu_id' => 'main-menu',
|
'menu_id' => 'main-menu',
|
||||||
'walker' => new understrap_WP_Bootstrap_Navwalker(),
|
'depth' => 2,
|
||||||
|
'walker' => new Understrap_WP_Bootstrap_Navwalker(),
|
||||||
)
|
)
|
||||||
); ?>
|
); ?>
|
||||||
<?php if ( 'container' == $container ) : ?>
|
<?php if ( 'container' == $container ) : ?>
|
||||||
|
|
|
@ -1,216 +0,0 @@
|
||||||
<?php
|
|
||||||
/**
|
|
||||||
* Adapted from Edward McIntyre's wp_bootstrap_navwalker class.
|
|
||||||
* Removed support for glyphicon and added support for Font Awesome.
|
|
||||||
*
|
|
||||||
* @package understrap
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Exit if accessed directly.
|
|
||||||
if ( ! defined( 'ABSPATH' ) ) {
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! class_exists ( 'understrap_WP_Bootstrap_Navwalker' )) :
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class WP_Bootstrap_Navwalker
|
|
||||||
* GitHub URI: https://github.com/twittem/wp-bootstrap-navwalker
|
|
||||||
* Description: A custom WordPress nav walker class to implement the Bootstrap 4
|
|
||||||
* navigation style in a custom theme using the WordPress built in menu manager.
|
|
||||||
* Version: 2.0.4
|
|
||||||
* Author: Edward McIntyre - @twittem
|
|
||||||
* License: GPL-2.0+
|
|
||||||
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
|
|
||||||
*/
|
|
||||||
class understrap_WP_Bootstrap_Navwalker extends Walker_Nav_Menu {
|
|
||||||
/**
|
|
||||||
* The starting level of the menu.
|
|
||||||
*
|
|
||||||
* @see Walker::start_lvl()
|
|
||||||
* @since 3.0.0
|
|
||||||
*
|
|
||||||
* @param string $output Passed by reference. Used to append additional content.
|
|
||||||
* @param int $depth Depth of page. Used for padding.
|
|
||||||
* @param mixed $args Rest of arguments.
|
|
||||||
*/
|
|
||||||
public function start_lvl( &$output, $depth = 0, $args = array() ) {
|
|
||||||
$indent = str_repeat( "\t", $depth );
|
|
||||||
$output .= "\n$indent<ul class=\" dropdown-menu\" role=\"menu\">\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open element.
|
|
||||||
*
|
|
||||||
* @see Walker::start_el()
|
|
||||||
* @since 3.0.0
|
|
||||||
*
|
|
||||||
* @param string $output Passed by reference. Used to append additional content.
|
|
||||||
* @param object $item Menu item data object.
|
|
||||||
* @param int $depth Depth of menu item. Used for padding.
|
|
||||||
* @param mixed $args Rest arguments.
|
|
||||||
* @param int $id Element's ID.
|
|
||||||
*/
|
|
||||||
public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
|
|
||||||
$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';
|
|
||||||
/**
|
|
||||||
* Dividers, Headers or Disabled
|
|
||||||
* =============================
|
|
||||||
* Determine whether the item is a Divider, Header, Disabled or regular
|
|
||||||
* menu item. To prevent errors we use the strcasecmp() function to so a
|
|
||||||
* comparison that is not case sensitive. The strcasecmp() function returns
|
|
||||||
* a 0 if the strings are equal.
|
|
||||||
*/
|
|
||||||
if ( strcasecmp( $item->attr_title, 'divider' ) == 0 && $depth === 1 ) {
|
|
||||||
$output .= $indent . '<li class="dropdown-divider" role="presentation">';
|
|
||||||
} else if ( strcasecmp( $item->title, 'divider' ) == 0 && $depth === 1 ) {
|
|
||||||
$output .= $indent . '<li class="dropdown-divider" role="presentation">';
|
|
||||||
} else if ( strcasecmp( $item->attr_title, 'dropdown-header' ) == 0 && $depth === 1 ) {
|
|
||||||
$output .= $indent . '<li class="dropdown-header" role="presentation">' . esc_html( $item->title );
|
|
||||||
} else if ( strcasecmp( $item->attr_title, 'disabled' ) == 0 ) {
|
|
||||||
$output .= $indent . '<li class="disabled" role="presentation"><a href="#">' . esc_html( $item->title ) . '</a>';
|
|
||||||
} else {
|
|
||||||
$class_names = $value = '';
|
|
||||||
$classes = empty( $item->classes ) ? array() : (array) $item->classes;
|
|
||||||
$classes[] = 'nav-item menu-item-' . $item->ID;
|
|
||||||
$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args ) );
|
|
||||||
/*
|
|
||||||
if ( $args->has_children )
|
|
||||||
$class_names .= ' dropdown';
|
|
||||||
*/
|
|
||||||
if ( $args->has_children && $depth === 0 ) {
|
|
||||||
$class_names .= ' dropdown';
|
|
||||||
} elseif ( $args->has_children && $depth > 0 ) {
|
|
||||||
$class_names .= ' dropdown-submenu';
|
|
||||||
}
|
|
||||||
if ( in_array( 'current-menu-item', $classes ) ) {
|
|
||||||
$class_names .= ' active';
|
|
||||||
}
|
|
||||||
// remove Font Awesome icon from classes array and save the icon
|
|
||||||
// we will add the icon back in via a <span> below so it aligns with
|
|
||||||
// the menu item
|
|
||||||
if ( in_array( 'fa', $classes ) ) {
|
|
||||||
$key = array_search( 'fa', $classes );
|
|
||||||
$icon = $classes[ $key + 1 ];
|
|
||||||
$class_names = str_replace( $classes[ $key + 1 ], '', $class_names );
|
|
||||||
$class_names = str_replace( $classes[ $key ], '', $class_names );
|
|
||||||
}
|
|
||||||
|
|
||||||
$class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
|
|
||||||
$id = apply_filters( 'nav_menu_item_id', 'menu-item-' . $item->ID, $item, $args );
|
|
||||||
$id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
|
|
||||||
$output .= $indent . '<li' . $id . $value . $class_names . '>';
|
|
||||||
$atts = array();
|
|
||||||
if ( empty( $item->attr_title ) ) { $atts['title'] = ! empty( $item->title ) ? strip_tags( $item->title ) : ''; } else { $atts['title'] = $item->attr_title; }
|
|
||||||
$atts['target'] = ! empty( $item->target ) ? $item->target : '';
|
|
||||||
$atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : '';
|
|
||||||
// If item has_children add atts to a.
|
|
||||||
|
|
||||||
if ( $args->has_children && $depth === 0 ) {
|
|
||||||
$atts['href'] = '#';
|
|
||||||
$atts['data-toggle'] = 'dropdown';
|
|
||||||
$atts['class'] = 'nav-link dropdown-toggle';
|
|
||||||
} else {
|
|
||||||
$atts['href'] = ! empty( $item->url ) ? $item->url : '';
|
|
||||||
$atts['class'] = 'nav-link';
|
|
||||||
}
|
|
||||||
$atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args );
|
|
||||||
$attributes = '';
|
|
||||||
foreach ( $atts as $attr => $value ) {
|
|
||||||
if ( ! empty( $value ) ) {
|
|
||||||
$value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );
|
|
||||||
$attributes .= ' ' . $attr . '="' . $value . '"';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$item_output = $args->before;
|
|
||||||
// Font Awesome icons
|
|
||||||
if ( ! empty( $icon ) ) {
|
|
||||||
$item_output .= '<a' . $attributes . '><span class="fa ' . esc_attr( $icon ) . '"></span> ';
|
|
||||||
} else {
|
|
||||||
$item_output .= '<a' . $attributes . '>';
|
|
||||||
}
|
|
||||||
$item_output .= $args->link_before . apply_filters( 'the_title', $item->title,
|
|
||||||
$item->ID ) . $args->link_after;
|
|
||||||
$item_output .= ( $args->has_children && 0 === $depth ) ? ' <span class="caret"></span></a>' : '</a>';
|
|
||||||
$item_output .= $args->after;
|
|
||||||
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Traverse elements to create list from elements.
|
|
||||||
*
|
|
||||||
* Display one element if the element doesn't have any children otherwise,
|
|
||||||
* display the element and its children. Will only traverse up to the max
|
|
||||||
* depth and no ignore elements under that depth.
|
|
||||||
*
|
|
||||||
* This method shouldn't be called directly, use the walk() method instead.
|
|
||||||
*
|
|
||||||
* @see Walker::start_el()
|
|
||||||
* @since 2.5.0
|
|
||||||
*
|
|
||||||
* @param object $element Data object
|
|
||||||
* @param array $children_elements List of elements to continue traversing.
|
|
||||||
* @param int $max_depth Max depth to traverse.
|
|
||||||
* @param int $depth Depth of current element.
|
|
||||||
* @param array $args
|
|
||||||
* @param string $output Passed by reference. Used to append additional content.
|
|
||||||
*
|
|
||||||
* @return null Null on failure with no changes to parameters.
|
|
||||||
*/
|
|
||||||
public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
|
|
||||||
if ( ! $element ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$id_field = $this->db_fields['id'];
|
|
||||||
// Display this element.
|
|
||||||
if ( is_object( $args[0] ) ) {
|
|
||||||
$args[0]->has_children = ! empty( $children_elements[ $element->$id_field ] );
|
|
||||||
}
|
|
||||||
parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Menu Fallback
|
|
||||||
* =============
|
|
||||||
* If this function is assigned to the wp_nav_menu's fallback_cb variable
|
|
||||||
* and a manu has not been assigned to the theme location in the WordPress
|
|
||||||
* menu manager the function with display nothing to a non-logged in user,
|
|
||||||
* and will add a link to the WordPress menu manager if logged in as an admin.
|
|
||||||
*
|
|
||||||
* @param array $args passed from the wp_nav_menu function.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public static function fallback( $args ) {
|
|
||||||
if ( current_user_can( 'manage_options' ) ) {
|
|
||||||
extract( $args );
|
|
||||||
$fb_output = null;
|
|
||||||
if ( $container ) {
|
|
||||||
$fb_output = '<' . $container;
|
|
||||||
if ( $container_class ) {
|
|
||||||
$fb_output .= ' class="' . $container_class . '"';
|
|
||||||
}
|
|
||||||
if ( $container_id ) {
|
|
||||||
$fb_output .= ' id="' . $container_id . '"';
|
|
||||||
}
|
|
||||||
$fb_output .= '>';
|
|
||||||
}
|
|
||||||
$fb_output .= '<ul';
|
|
||||||
if ( $menu_class ) {
|
|
||||||
$fb_output .= ' class="' . $menu_class . '"';
|
|
||||||
}
|
|
||||||
if ( $menu_id ) {
|
|
||||||
$fb_output .= ' id="' . $menu_id . '"';
|
|
||||||
}
|
|
||||||
$fb_output .= '>';
|
|
||||||
$fb_output .= '<li><a href="' . admin_url( 'nav-menus.php' ) . '">Add a menu</a></li>';
|
|
||||||
$fb_output .= '</ul>';
|
|
||||||
if ( $container ) {
|
|
||||||
$fb_output .= '</' . $container . '>';
|
|
||||||
}
|
|
||||||
echo $fb_output;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
endif; /* End if class exists */
|
|
|
@ -0,0 +1,555 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* WP Bootstrap Navwalker
|
||||||
|
*
|
||||||
|
* @package WP-Bootstrap-Navwalker
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Class Name: WP_Bootstrap_Navwalker
|
||||||
|
* Plugin Name: WP Bootstrap Navwalker
|
||||||
|
* Plugin URI: https://github.com/wp-bootstrap/wp-bootstrap-navwalker
|
||||||
|
* Description: A custom WordPress nav walker class to implement the Bootstrap 4 navigation style in a custom theme using the WordPress built in menu manager.
|
||||||
|
* Author: Edward McIntyre - @twittem, WP Bootstrap, William Patton - @pattonwebz
|
||||||
|
* Version: 4.1.0
|
||||||
|
* Author URI: https://github.com/wp-bootstrap
|
||||||
|
* GitHub Plugin URI: https://github.com/wp-bootstrap/wp-bootstrap-navwalker
|
||||||
|
* GitHub Branch: master
|
||||||
|
* License: GPL-3.0+
|
||||||
|
* License URI: http://www.gnu.org/licenses/gpl-3.0.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Check if Class Exists. */
|
||||||
|
if ( ! class_exists( 'Understrap_WP_Bootstrap_Navwalker' ) ) {
|
||||||
|
/**
|
||||||
|
* WP_Bootstrap_Navwalker class.
|
||||||
|
*
|
||||||
|
* @extends Walker_Nav_Menu
|
||||||
|
*/
|
||||||
|
class Understrap_WP_Bootstrap_Navwalker extends Walker_Nav_Menu {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Starts the list before the elements are added.
|
||||||
|
*
|
||||||
|
* @since WP 3.0.0
|
||||||
|
*
|
||||||
|
* @see Walker_Nav_Menu::start_lvl()
|
||||||
|
*
|
||||||
|
* @param string $output Used to append additional content (passed by reference).
|
||||||
|
* @param int $depth Depth of menu item. Used for padding.
|
||||||
|
* @param stdClass $args An object of wp_nav_menu() arguments.
|
||||||
|
*/
|
||||||
|
public function start_lvl( &$output, $depth = 0, $args = array() ) {
|
||||||
|
if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
|
||||||
|
$t = '';
|
||||||
|
$n = '';
|
||||||
|
} else {
|
||||||
|
$t = "\t";
|
||||||
|
$n = "\n";
|
||||||
|
}
|
||||||
|
$indent = str_repeat( $t, $depth );
|
||||||
|
// Default class to add to the file.
|
||||||
|
$classes = array( 'dropdown-menu' );
|
||||||
|
/**
|
||||||
|
* Filters the CSS class(es) applied to a menu list element.
|
||||||
|
*
|
||||||
|
* @since WP 4.8.0
|
||||||
|
*
|
||||||
|
* @param array $classes The CSS classes that are applied to the menu `<ul>` element.
|
||||||
|
* @param stdClass $args An object of `wp_nav_menu()` arguments.
|
||||||
|
* @param int $depth Depth of menu item. Used for padding.
|
||||||
|
*/
|
||||||
|
$class_names = join( ' ', apply_filters( 'nav_menu_submenu_css_class', $classes, $args, $depth ) );
|
||||||
|
$class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
|
||||||
|
/**
|
||||||
|
* The `.dropdown-menu` container needs to have a labelledby
|
||||||
|
* attribute which points to it's trigger link.
|
||||||
|
*
|
||||||
|
* Form a string for the labelledby attribute from the the latest
|
||||||
|
* link with an id that was added to the $output.
|
||||||
|
*/
|
||||||
|
$labelledby = '';
|
||||||
|
// find all links with an id in the output.
|
||||||
|
preg_match_all( '/(<a.*?id=\"|\')(.*?)\"|\'.*?>/im', $output, $matches );
|
||||||
|
// with pointer at end of array check if we got an ID match.
|
||||||
|
if ( end( $matches[2] ) ) {
|
||||||
|
// build a string to use as aria-labelledby.
|
||||||
|
$labelledby = 'aria-labelledby="' . end( $matches[2] ) . '"';
|
||||||
|
}
|
||||||
|
$output .= "{$n}{$indent}<ul$class_names $labelledby role=\"menu\">{$n}";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Starts the element output.
|
||||||
|
*
|
||||||
|
* @since WP 3.0.0
|
||||||
|
* @since WP 4.4.0 The {@see 'nav_menu_item_args'} filter was added.
|
||||||
|
*
|
||||||
|
* @see Walker_Nav_Menu::start_el()
|
||||||
|
*
|
||||||
|
* @param string $output Used to append additional content (passed by reference).
|
||||||
|
* @param WP_Post $item Menu item data object.
|
||||||
|
* @param int $depth Depth of menu item. Used for padding.
|
||||||
|
* @param stdClass $args An object of wp_nav_menu() arguments.
|
||||||
|
* @param int $id Current item ID.
|
||||||
|
*/
|
||||||
|
public function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {
|
||||||
|
if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
|
||||||
|
$t = '';
|
||||||
|
$n = '';
|
||||||
|
} else {
|
||||||
|
$t = "\t";
|
||||||
|
$n = "\n";
|
||||||
|
}
|
||||||
|
$indent = ( $depth ) ? str_repeat( $t, $depth ) : '';
|
||||||
|
|
||||||
|
$classes = empty( $item->classes ) ? array() : (array) $item->classes;
|
||||||
|
|
||||||
|
// Initialize some holder variables to store specially handled item
|
||||||
|
// wrappers and icons.
|
||||||
|
$linkmod_classes = array();
|
||||||
|
$icon_classes = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get an updated $classes array without linkmod or icon classes.
|
||||||
|
*
|
||||||
|
* NOTE: linkmod and icon class arrays are passed by reference and
|
||||||
|
* are maybe modified before being used later in this function.
|
||||||
|
*/
|
||||||
|
$classes = self::seporate_linkmods_and_icons_from_classes( $classes, $linkmod_classes, $icon_classes, $depth );
|
||||||
|
|
||||||
|
// Join any icon classes plucked from $classes into a string.
|
||||||
|
$icon_class_string = join( ' ', $icon_classes );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filters the arguments for a single nav menu item.
|
||||||
|
*
|
||||||
|
* WP 4.4.0
|
||||||
|
*
|
||||||
|
* @param stdClass $args An object of wp_nav_menu() arguments.
|
||||||
|
* @param WP_Post $item Menu item data object.
|
||||||
|
* @param int $depth Depth of menu item. Used for padding.
|
||||||
|
*/
|
||||||
|
$args = apply_filters( 'nav_menu_item_args', $args, $item, $depth );
|
||||||
|
|
||||||
|
// Add .dropdown or .active classes where they are needed.
|
||||||
|
if ( isset( $args->has_children ) && $args->has_children ) {
|
||||||
|
$classes[] = 'dropdown';
|
||||||
|
}
|
||||||
|
if ( in_array( 'current-menu-item', $classes, true ) || in_array( 'current-menu-parent', $classes, true ) ) {
|
||||||
|
$classes[] = 'active';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add some additional default classes to the item.
|
||||||
|
$classes[] = 'menu-item-' . $item->ID;
|
||||||
|
$classes[] = 'nav-item';
|
||||||
|
|
||||||
|
// Allow filtering the classes.
|
||||||
|
$classes = apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth );
|
||||||
|
|
||||||
|
// Form a string of classes in format: class="class_names".
|
||||||
|
$class_names = join( ' ', $classes );
|
||||||
|
$class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filters the ID applied to a menu item's list item element.
|
||||||
|
*
|
||||||
|
* @since WP 3.0.1
|
||||||
|
* @since WP 4.1.0 The `$depth` parameter was added.
|
||||||
|
*
|
||||||
|
* @param string $menu_id The ID that is applied to the menu item's `<li>` element.
|
||||||
|
* @param WP_Post $item The current menu item.
|
||||||
|
* @param stdClass $args An object of wp_nav_menu() arguments.
|
||||||
|
* @param int $depth Depth of menu item. Used for padding.
|
||||||
|
*/
|
||||||
|
$id = apply_filters( 'nav_menu_item_id', 'menu-item-' . $item->ID, $item, $args, $depth );
|
||||||
|
$id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
|
||||||
|
|
||||||
|
$output .= $indent . '<li itemscope="itemscope" itemtype="https://www.schema.org/SiteNavigationElement"' . $id . $class_names . '>';
|
||||||
|
|
||||||
|
// initialize array for holding the $atts for the link item.
|
||||||
|
$atts = array();
|
||||||
|
|
||||||
|
// Set title from item to the $atts array - if title is empty then
|
||||||
|
// default to item title.
|
||||||
|
if ( empty( $item->attr_title ) ) {
|
||||||
|
$atts['title'] = ! empty( $item->title ) ? strip_tags( $item->title ) : '';
|
||||||
|
} else {
|
||||||
|
$atts['title'] = $item->attr_title;
|
||||||
|
}
|
||||||
|
|
||||||
|
$atts['target'] = ! empty( $item->target ) ? $item->target : '';
|
||||||
|
$atts['rel'] = ! empty( $item->xfn ) ? $item->xfn : '';
|
||||||
|
// If item has_children add atts to <a>.
|
||||||
|
if ( isset( $args->has_children ) && $args->has_children && 0 === $depth && $args->depth > 1 ) {
|
||||||
|
$atts['href'] = '#';
|
||||||
|
$atts['data-toggle'] = 'dropdown';
|
||||||
|
$atts['aria-haspopup'] = 'true';
|
||||||
|
$atts['aria-expanded'] = 'false';
|
||||||
|
$atts['class'] = 'dropdown-toggle nav-link';
|
||||||
|
$atts['id'] = 'menu-item-dropdown-' . $item->ID;
|
||||||
|
} else {
|
||||||
|
$atts['href'] = ! empty( $item->url ) ? $item->url : '#';
|
||||||
|
// Items in dropdowns use .dropdown-item instead of .nav-link.
|
||||||
|
if ( $depth > 0 ) {
|
||||||
|
$atts['class'] = 'dropdown-item';
|
||||||
|
} else {
|
||||||
|
$atts['class'] = 'nav-link';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// update atts of this item based on any custom linkmod classes.
|
||||||
|
$atts = self::update_atts_for_linkmod_type( $atts, $linkmod_classes );
|
||||||
|
// Allow filtering of the $atts array before using it.
|
||||||
|
$atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args, $depth );
|
||||||
|
|
||||||
|
// Build a string of html containing all the atts for the item.
|
||||||
|
$attributes = '';
|
||||||
|
foreach ( $atts as $attr => $value ) {
|
||||||
|
if ( ! empty( $value ) ) {
|
||||||
|
$value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );
|
||||||
|
$attributes .= ' ' . $attr . '="' . $value . '"';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set a typeflag to easily test if this is a linkmod or not.
|
||||||
|
*/
|
||||||
|
$linkmod_type = self::get_linkmod_type( $linkmod_classes );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* START appending the internal item contents to the output.
|
||||||
|
*/
|
||||||
|
$item_output = isset( $args->before ) ? $args->before : '';
|
||||||
|
/**
|
||||||
|
* This is the start of the internal nav item. Depending on what
|
||||||
|
* kind of linkmod we have we may need different wrapper elements.
|
||||||
|
*/
|
||||||
|
if ( '' !== $linkmod_type ) {
|
||||||
|
// is linkmod, output the required element opener.
|
||||||
|
$item_output .= self::linkmod_element_open( $linkmod_type, $attributes );
|
||||||
|
} else {
|
||||||
|
// With no link mod type set this must be a standard <a> tag.
|
||||||
|
$item_output .= '<a' . $attributes . '>';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initiate empty icon var, then if we have a string containing any
|
||||||
|
* icon classes form the icon markup with an <i> element. This is
|
||||||
|
* output inside of the item before the $title (the link text).
|
||||||
|
*/
|
||||||
|
$icon_html = '';
|
||||||
|
if ( ! empty( $icon_class_string ) ) {
|
||||||
|
// append an <i> with the icon classes to what is output before links.
|
||||||
|
$icon_html = '<i class="' . esc_attr( $icon_class_string ) . '" aria-hidden="true"></i> ';
|
||||||
|
}
|
||||||
|
|
||||||
|
/** This filter is documented in wp-includes/post-template.php */
|
||||||
|
$title = apply_filters( 'the_title', $item->title, $item->ID );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filters a menu item's title.
|
||||||
|
*
|
||||||
|
* @since WP 4.4.0
|
||||||
|
*
|
||||||
|
* @param string $title The menu item's title.
|
||||||
|
* @param WP_Post $item The current menu item.
|
||||||
|
* @param stdClass $args An object of wp_nav_menu() arguments.
|
||||||
|
* @param int $depth Depth of menu item. Used for padding.
|
||||||
|
*/
|
||||||
|
$title = apply_filters( 'nav_menu_item_title', $title, $item, $args, $depth );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If the .sr-only class was set apply to the nav items text only.
|
||||||
|
*/
|
||||||
|
if ( in_array( 'sr-only', $linkmod_classes, true ) ) {
|
||||||
|
$title = self::wrap_for_screen_reader( $title );
|
||||||
|
$keys_to_unset = array_keys( $linkmod_classes, 'sr-only' );
|
||||||
|
foreach ( $keys_to_unset as $k ) {
|
||||||
|
unset( $linkmod_classes[ $k ] );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Put the item contents into $output.
|
||||||
|
$item_output .= isset( $args->link_before ) ? $args->link_before . $icon_html . $title . $args->link_after : '';
|
||||||
|
/**
|
||||||
|
* This is the end of the internal nav item. We need to close the
|
||||||
|
* correct element depending on the type of link or link mod.
|
||||||
|
*/
|
||||||
|
if ( '' !== $linkmod_type ) {
|
||||||
|
// is linkmod, output the required element opener.
|
||||||
|
$item_output .= self::linkmod_element_close( $linkmod_type, $attributes );
|
||||||
|
} else {
|
||||||
|
// With no link mod type set this must be a standard <a> tag.
|
||||||
|
$item_output .= '</a>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$item_output .= isset( $args->after ) ? $args->after : '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* END appending the internal item contents to the output.
|
||||||
|
*/
|
||||||
|
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Traverse elements to create list from elements.
|
||||||
|
*
|
||||||
|
* Display one element if the element doesn't have any children otherwise,
|
||||||
|
* display the element and its children. Will only traverse up to the max
|
||||||
|
* depth and no ignore elements under that depth. It is possible to set the
|
||||||
|
* max depth to include all depths, see walk() method.
|
||||||
|
*
|
||||||
|
* This method should not be called directly, use the walk() method instead.
|
||||||
|
*
|
||||||
|
* @since WP 2.5.0
|
||||||
|
*
|
||||||
|
* @see Walker::start_lvl()
|
||||||
|
*
|
||||||
|
* @param object $element Data object.
|
||||||
|
* @param array $children_elements List of elements to continue traversing (passed by reference).
|
||||||
|
* @param int $max_depth Max depth to traverse.
|
||||||
|
* @param int $depth Depth of current element.
|
||||||
|
* @param array $args An array of arguments.
|
||||||
|
* @param string $output Used to append additional content (passed by reference).
|
||||||
|
*/
|
||||||
|
public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
|
||||||
|
if ( ! $element ) {
|
||||||
|
return; }
|
||||||
|
$id_field = $this->db_fields['id'];
|
||||||
|
// Display this element.
|
||||||
|
if ( is_object( $args[0] ) ) {
|
||||||
|
$args[0]->has_children = ! empty( $children_elements[ $element->$id_field ] ); }
|
||||||
|
parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Menu Fallback
|
||||||
|
* =============
|
||||||
|
* If this function is assigned to the wp_nav_menu's fallback_cb variable
|
||||||
|
* and a menu has not been assigned to the theme location in the WordPress
|
||||||
|
* menu manager the function with display nothing to a non-logged in user,
|
||||||
|
* and will add a link to the WordPress menu manager if logged in as an admin.
|
||||||
|
*
|
||||||
|
* @param array $args passed from the wp_nav_menu function.
|
||||||
|
*/
|
||||||
|
public static function fallback( $args ) {
|
||||||
|
if ( current_user_can( 'edit_theme_options' ) ) {
|
||||||
|
|
||||||
|
/* Get Arguments. */
|
||||||
|
$container = $args['container'];
|
||||||
|
$container_id = $args['container_id'];
|
||||||
|
$container_class = $args['container_class'];
|
||||||
|
$menu_class = $args['menu_class'];
|
||||||
|
$menu_id = $args['menu_id'];
|
||||||
|
|
||||||
|
// initialize var to store fallback html.
|
||||||
|
$fallback_output = '';
|
||||||
|
|
||||||
|
if ( $container ) {
|
||||||
|
$fallback_output .= '<' . esc_attr( $container );
|
||||||
|
if ( $container_id ) {
|
||||||
|
$fallback_output .= ' id="' . esc_attr( $container_id ) . '"';
|
||||||
|
}
|
||||||
|
if ( $container_class ) {
|
||||||
|
$fallback_output .= ' class="' . esc_attr( $container_class ) . '"';
|
||||||
|
}
|
||||||
|
$fallback_output .= '>';
|
||||||
|
}
|
||||||
|
$fallback_output .= '<ul';
|
||||||
|
if ( $menu_id ) {
|
||||||
|
$fallback_output .= ' id="' . esc_attr( $menu_id ) . '"'; }
|
||||||
|
if ( $menu_class ) {
|
||||||
|
$fallback_output .= ' class="' . esc_attr( $menu_class ) . '"'; }
|
||||||
|
$fallback_output .= '>';
|
||||||
|
$fallback_output .= '<li><a href="' . esc_url( admin_url( 'nav-menus.php' ) ) . '" title="' . esc_attr__( 'Add a menu', 'understrap' ) . '">' . esc_html__( 'Add a menu', 'understrap' ) . '</a></li>';
|
||||||
|
$fallback_output .= '</ul>';
|
||||||
|
if ( $container ) {
|
||||||
|
$fallback_output .= '</' . esc_attr( $container ) . '>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// if $args has 'echo' key and it's true echo, otherwise return.
|
||||||
|
if ( array_key_exists( 'echo', $args ) && $args['echo'] ) {
|
||||||
|
echo $fallback_output; // WPCS: XSS OK.
|
||||||
|
} else {
|
||||||
|
return $fallback_output;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Find any custom linkmod or icon classes and store in their holder
|
||||||
|
* arrays then remove them from the main classes array.
|
||||||
|
*
|
||||||
|
* Supported linkmods: .disabled, .dropdown-header, .dropdown-divider, .sr-only
|
||||||
|
* Supported iconsets: Font Awesome 4/5, Glypicons
|
||||||
|
*
|
||||||
|
* NOTE: This accepts the linkmod and icon arrays by reference.
|
||||||
|
*
|
||||||
|
* @since 4.0.0
|
||||||
|
*
|
||||||
|
* @param array $classes an array of classes currently assigned to the item.
|
||||||
|
* @param array $linkmod_classes an array to hold linkmod classes.
|
||||||
|
* @param array $icon_classes an array to hold icon classes.
|
||||||
|
* @param integer $depth an integer holding current depth level.
|
||||||
|
*
|
||||||
|
* @return array $classes a maybe modified array of classnames.
|
||||||
|
*/
|
||||||
|
private function seporate_linkmods_and_icons_from_classes( $classes, &$linkmod_classes, &$icon_classes, $depth ) {
|
||||||
|
// Loop through $classes array to find linkmod or icon classes.
|
||||||
|
foreach ( $classes as $key => $class ) {
|
||||||
|
// If any special classes are found, store the class in it's
|
||||||
|
// holder array and and unset the item from $classes.
|
||||||
|
if ( preg_match( '/^disabled|^sr-only/i', $class ) ) {
|
||||||
|
// Test for .disabled or .sr-only classes.
|
||||||
|
$linkmod_classes[] = $class;
|
||||||
|
unset( $classes[ $key ] );
|
||||||
|
} elseif ( preg_match( '/^dropdown-header|^dropdown-divider|^dropdown-item-text/i', $class ) && $depth > 0 ) {
|
||||||
|
// Test for .dropdown-header or .dropdown-divider and a
|
||||||
|
// depth greater than 0 - IE inside a dropdown.
|
||||||
|
$linkmod_classes[] = $class;
|
||||||
|
unset( $classes[ $key ] );
|
||||||
|
} elseif ( preg_match( '/^fa-(\S*)?|^fa(s|r|l|b)?(\s?)?$/i', $class ) ) {
|
||||||
|
// Font Awesome.
|
||||||
|
$icon_classes[] = $class;
|
||||||
|
unset( $classes[ $key ] );
|
||||||
|
} elseif ( preg_match( '/^glyphicon-(\S*)?|^glyphicon(\s?)$/i', $class ) ) {
|
||||||
|
// Glyphicons.
|
||||||
|
$icon_classes[] = $class;
|
||||||
|
unset( $classes[ $key ] );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $classes;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a string containing a linkmod type and update $atts array
|
||||||
|
* accordingly depending on the decided.
|
||||||
|
*
|
||||||
|
* @since 4.0.0
|
||||||
|
*
|
||||||
|
* @param array $linkmod_classes array of any link modifier classes.
|
||||||
|
*
|
||||||
|
* @return string empty for default, a linkmod type string otherwise.
|
||||||
|
*/
|
||||||
|
private function get_linkmod_type( $linkmod_classes = array() ) {
|
||||||
|
$linkmod_type = '';
|
||||||
|
// Loop through array of linkmod classes to handle their $atts.
|
||||||
|
if ( ! empty( $linkmod_classes ) ) {
|
||||||
|
foreach ( $linkmod_classes as $link_class ) {
|
||||||
|
if ( ! empty( $link_class ) ) {
|
||||||
|
|
||||||
|
// check for special class types and set a flag for them.
|
||||||
|
if ( 'dropdown-header' === $link_class ) {
|
||||||
|
$linkmod_type = 'dropdown-header';
|
||||||
|
} elseif ( 'dropdown-divider' === $link_class ) {
|
||||||
|
$linkmod_type = 'dropdown-divider';
|
||||||
|
} elseif ( 'dropdown-item-text' === $link_class ) {
|
||||||
|
$linkmod_type = 'dropdown-item-text';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $linkmod_type;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the attributes of a nav item depending on the limkmod classes.
|
||||||
|
*
|
||||||
|
* @since 4.0.0
|
||||||
|
*
|
||||||
|
* @param array $atts array of atts for the current link in nav item.
|
||||||
|
* @param array $linkmod_classes an array of classes that modify link or nav item behaviors or displays.
|
||||||
|
*
|
||||||
|
* @return array maybe updated array of attributes for item.
|
||||||
|
*/
|
||||||
|
private function update_atts_for_linkmod_type( $atts = array(), $linkmod_classes = array() ) {
|
||||||
|
if ( ! empty( $linkmod_classes ) ) {
|
||||||
|
foreach ( $linkmod_classes as $link_class ) {
|
||||||
|
if ( ! empty( $link_class ) ) {
|
||||||
|
// update $atts with a space and the extra classname...
|
||||||
|
// so long as it's not a sr-only class.
|
||||||
|
if ( 'sr-only' !== $link_class ) {
|
||||||
|
$atts['class'] .= ' ' . esc_attr( $link_class );
|
||||||
|
}
|
||||||
|
// check for special class types we need additional handling for.
|
||||||
|
if ( 'disabled' === $link_class ) {
|
||||||
|
// Convert link to '#' and unset open targets.
|
||||||
|
$atts['href'] = '#';
|
||||||
|
unset( $atts['target'] );
|
||||||
|
} elseif ( 'dropdown-header' === $link_class || 'dropdown-divider' === $link_class || 'dropdown-item-text' === $link_class ) {
|
||||||
|
// Store a type flag and unset href and target.
|
||||||
|
unset( $atts['href'] );
|
||||||
|
unset( $atts['target'] );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $atts;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Wraps the passed text in a screen reader only class.
|
||||||
|
*
|
||||||
|
* @since 4.0.0
|
||||||
|
*
|
||||||
|
* @param string $text the string of text to be wrapped in a screen reader class.
|
||||||
|
* @return string the string wrapped in a span with the class.
|
||||||
|
*/
|
||||||
|
private function wrap_for_screen_reader( $text = '' ) {
|
||||||
|
if ( $text ) {
|
||||||
|
$text = '<span class="sr-only">' . $text . '</span>';
|
||||||
|
}
|
||||||
|
return $text;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the correct opening element and attributes for a linkmod.
|
||||||
|
*
|
||||||
|
* @since 4.0.0
|
||||||
|
*
|
||||||
|
* @param string $linkmod_type a sting containing a linkmod type flag.
|
||||||
|
* @param string $attributes a string of attributes to add to the element.
|
||||||
|
*
|
||||||
|
* @return string a string with the openign tag for the element with attribibutes added.
|
||||||
|
*/
|
||||||
|
private function linkmod_element_open( $linkmod_type, $attributes = '' ) {
|
||||||
|
$output = '';
|
||||||
|
if ( 'dropdown-item-text' === $linkmod_type ) {
|
||||||
|
$output .= '<span class="dropdown-item-text"' . $attributes . '>';
|
||||||
|
} elseif ( 'dropdown-header' === $linkmod_type ) {
|
||||||
|
// For a header use a span with the .h6 class instead of a real
|
||||||
|
// header tag so that it doesn't confuse screen readers.
|
||||||
|
$output .= '<span class="dropdown-header h6"' . $attributes . '>';
|
||||||
|
} elseif ( 'dropdown-divider' === $linkmod_type ) {
|
||||||
|
// this is a divider.
|
||||||
|
$output .= '<div class="dropdown-divider"' . $attributes . '>';
|
||||||
|
}
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the correct closing tag for the linkmod element.
|
||||||
|
*
|
||||||
|
* @since 4.0.0
|
||||||
|
*
|
||||||
|
* @param string $linkmod_type a string containing a special linkmod type.
|
||||||
|
*
|
||||||
|
* @return string a string with the closing tag for this linkmod type.
|
||||||
|
*/
|
||||||
|
private function linkmod_element_close( $linkmod_type ) {
|
||||||
|
$output = '';
|
||||||
|
if ( 'dropdown-header' === $linkmod_type || 'dropdown-item-text' === $linkmod_type ) {
|
||||||
|
// For a header use a span with the .h6 class instead of a real
|
||||||
|
// header tag so that it doesn't confuse screen readers.
|
||||||
|
$output .= '</span>';
|
||||||
|
} elseif ( 'dropdown-divider' === $linkmod_type ) {
|
||||||
|
// this is a divider.
|
||||||
|
$output .= '</div>';
|
||||||
|
}
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -23,16 +23,19 @@ if ( ! function_exists( 'understrap_bootstrap_comment_form_fields' ) ) {
|
||||||
$req = get_option( 'require_name_email' );
|
$req = get_option( 'require_name_email' );
|
||||||
$aria_req = ( $req ? " aria-required='true'" : '' );
|
$aria_req = ( $req ? " aria-required='true'" : '' );
|
||||||
$html5 = current_theme_supports( 'html5', 'comment-form' ) ? 1 : 0;
|
$html5 = current_theme_supports( 'html5', 'comment-form' ) ? 1 : 0;
|
||||||
|
$consent = empty( $commenter['comment_author_email'] ) ? '' : ' checked="checked"';
|
||||||
$fields = array(
|
$fields = array(
|
||||||
'author' => '<div class="form-group comment-form-author"><label for="author">' . __( 'Name',
|
'author' => '<div class="form-group comment-form-author"><label for="author">' . __( 'Name',
|
||||||
'understrap' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
|
'understrap' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
|
||||||
'<input class="form-control" id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . '></div>',
|
'<input class="form-control" id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . '></div>',
|
||||||
'email' => '<div class="form-group comment-form-email"><label for="email">' . __( 'Email',
|
'email' => '<div class="form-group comment-form-email"><label for="email">' . __( 'Email',
|
||||||
'understrap' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
|
'understrap' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
|
||||||
'<input class="form-control" id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . '></div>',
|
'<input class="form-control" id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . '></div>',
|
||||||
'url' => '<div class="form-group comment-form-url"><label for="url">' . __( 'Website',
|
'url' => '<div class="form-group comment-form-url"><label for="url">' . __( 'Website',
|
||||||
'understrap' ) . '</label> ' .
|
'understrap' ) . '</label> ' .
|
||||||
'<input class="form-control" id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30"></div>',
|
'<input class="form-control" id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30"></div>',
|
||||||
|
'cookies' => '<div class="form-group form-check comment-form-cookies-consent"><input class="form-check-input" id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes"' . $consent . ' /> ' .
|
||||||
|
'<label class="form-check-label" for="wp-comment-cookies-consent">' . __( 'Save my name, email, and website in this browser for the next time I comment.' ) . '</label></div>',
|
||||||
);
|
);
|
||||||
|
|
||||||
return $fields;
|
return $fields;
|
||||||
|
|
|
@ -5,38 +5,41 @@
|
||||||
* @package understrap
|
* @package understrap
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function understrap_custom_header_setup() {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Filter UnderStrap custom-header support arguments.
|
|
||||||
*
|
|
||||||
* @since UnderStrap 0.5.2
|
|
||||||
*
|
|
||||||
* @param array $args {
|
|
||||||
* An array of custom-header support arguments.
|
|
||||||
*
|
|
||||||
* @type string $default-image Default image of the header.
|
|
||||||
* @type string $default_text_color Default color of the header text.
|
|
||||||
* @type int $width Width in pixels of the custom header image. Default 954.
|
|
||||||
* @type int $height Height in pixels of the custom header image. Default 1300.
|
|
||||||
* @type string $wp-head-callback Callback function used to styles the header image and text
|
|
||||||
* displayed on the blog.
|
|
||||||
* @type string $flex-height Flex support for height of header.
|
|
||||||
* }
|
|
||||||
*/
|
|
||||||
add_theme_support( 'custom-header', apply_filters( 'understrap_custom_header_args', array(
|
|
||||||
'default-image' => get_parent_theme_file_uri( '/img/header.jpg' ),
|
|
||||||
'width' => 2000,
|
|
||||||
'height' => 1200,
|
|
||||||
'flex-height' => true,
|
|
||||||
) ) );
|
|
||||||
|
|
||||||
register_default_headers( array(
|
|
||||||
'default-image' => array(
|
|
||||||
'url' => '%s/img/header.jpg',
|
|
||||||
'thumbnail_url' => '%s/img/header.jpg',
|
|
||||||
'description' => __( 'Default Header Image', 'understrap' ),
|
|
||||||
),
|
|
||||||
) );
|
|
||||||
}
|
|
||||||
add_action( 'after_setup_theme', 'understrap_custom_header_setup' );
|
add_action( 'after_setup_theme', 'understrap_custom_header_setup' );
|
||||||
|
|
||||||
|
if ( ! function_exists ( 'understrap_custom_header_setup' ) ) {
|
||||||
|
function understrap_custom_header_setup() {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Filter UnderStrap custom-header support arguments.
|
||||||
|
*
|
||||||
|
* @since UnderStrap 0.5.2
|
||||||
|
*
|
||||||
|
* @param array $args {
|
||||||
|
* An array of custom-header support arguments.
|
||||||
|
*
|
||||||
|
* @type string $default-image Default image of the header.
|
||||||
|
* @type string $default_text_color Default color of the header text.
|
||||||
|
* @type int $width Width in pixels of the custom header image. Default 954.
|
||||||
|
* @type int $height Height in pixels of the custom header image. Default 1300.
|
||||||
|
* @type string $wp-head-callback Callback function used to styles the header image and text
|
||||||
|
* displayed on the blog.
|
||||||
|
* @type string $flex-height Flex support for height of header.
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
add_theme_support( 'custom-header', apply_filters( 'understrap_custom_header_args', array(
|
||||||
|
'default-image' => get_parent_theme_file_uri( '/img/header.jpg' ),
|
||||||
|
'width' => 2000,
|
||||||
|
'height' => 1200,
|
||||||
|
'flex-height' => true,
|
||||||
|
) ) );
|
||||||
|
|
||||||
|
register_default_headers( array(
|
||||||
|
'default-image' => array(
|
||||||
|
'url' => '%s/img/header.jpg',
|
||||||
|
'thumbnail_url' => '%s/img/header.jpg',
|
||||||
|
'description' => __( 'Default Header Image', 'understrap' ),
|
||||||
|
),
|
||||||
|
) );
|
||||||
|
}
|
||||||
|
}
|
|
@ -8,58 +8,67 @@
|
||||||
/**
|
/**
|
||||||
* Registers an editor stylesheet for the theme.
|
* Registers an editor stylesheet for the theme.
|
||||||
*/
|
*/
|
||||||
function understrap_wpdocs_theme_add_editor_styles() {
|
|
||||||
add_editor_style( 'css/custom-editor-style.min.css' );
|
|
||||||
}
|
|
||||||
add_action( 'admin_init', 'understrap_wpdocs_theme_add_editor_styles' );
|
add_action( 'admin_init', 'understrap_wpdocs_theme_add_editor_styles' );
|
||||||
|
|
||||||
|
if ( ! function_exists ( 'understrap_wpdocs_theme_add_editor_styles' ) ) {
|
||||||
|
function understrap_wpdocs_theme_add_editor_styles() {
|
||||||
|
add_editor_style( 'css/custom-editor-style.min.css' );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Add TinyMCE style formats.
|
// Add TinyMCE style formats.
|
||||||
add_filter( 'mce_buttons_2', 'understrap_tiny_mce_style_formats' );
|
add_filter( 'mce_buttons_2', 'understrap_tiny_mce_style_formats' );
|
||||||
|
|
||||||
function understrap_tiny_mce_style_formats( $styles ) {
|
if ( ! function_exists ( 'understrap_tiny_mce_style_formats' ) ) {
|
||||||
|
function understrap_tiny_mce_style_formats( $styles ) {
|
||||||
|
|
||||||
array_unshift( $styles, 'styleselect' );
|
array_unshift( $styles, 'styleselect' );
|
||||||
return $styles;
|
return $styles;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
add_filter( 'tiny_mce_before_init', 'understrap_tiny_mce_before_init' );
|
add_filter( 'tiny_mce_before_init', 'understrap_tiny_mce_before_init' );
|
||||||
|
|
||||||
function understrap_tiny_mce_before_init( $settings ) {
|
if ( ! function_exists ( 'understrap_tiny_mce_before_init' ) ) {
|
||||||
|
function understrap_tiny_mce_before_init( $settings ) {
|
||||||
|
|
||||||
$style_formats = array(
|
$style_formats = array(
|
||||||
array(
|
array(
|
||||||
'title' => 'Lead Paragraph',
|
'title' => 'Lead Paragraph',
|
||||||
'selector' => 'p',
|
'selector' => 'p',
|
||||||
'classes' => 'lead',
|
'classes' => 'lead',
|
||||||
'wrapper' => true
|
'wrapper' => true
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'title' => 'Small',
|
'title' => 'Small',
|
||||||
'inline' => 'small'
|
'inline' => 'small'
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'title' => 'Blockquote',
|
'title' => 'Blockquote',
|
||||||
'block' => 'blockquote',
|
'block' => 'blockquote',
|
||||||
'classes' => 'blockquote',
|
'classes' => 'blockquote',
|
||||||
'wrapper' => true
|
'wrapper' => true
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'title' => 'Blockquote Footer',
|
'title' => 'Blockquote Footer',
|
||||||
'block' => 'footer',
|
'block' => 'footer',
|
||||||
'classes' => 'blockquote-footer',
|
'classes' => 'blockquote-footer',
|
||||||
'wrapper' => true
|
'wrapper' => true
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'title' => 'Cite',
|
'title' => 'Cite',
|
||||||
'inline' => 'cite'
|
'inline' => 'cite'
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if ( isset( $settings['style_formats'] ) ) {
|
if ( isset( $settings['style_formats'] ) ) {
|
||||||
$orig_style_formats = json_decode($settings['style_formats'],true);
|
$orig_style_formats = json_decode($settings['style_formats'],true);
|
||||||
$style_formats = array_merge($orig_style_formats,$style_formats);
|
$style_formats = array_merge($orig_style_formats,$style_formats);
|
||||||
}
|
}
|
||||||
|
|
||||||
$settings['style_formats'] = json_encode( $style_formats );
|
$settings['style_formats'] = json_encode( $style_formats );
|
||||||
return $settings;
|
return $settings;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,17 +5,35 @@
|
||||||
* @package understrap
|
* @package understrap
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $filename
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function asset_path($filename) {
|
||||||
|
$manifest_path = get_stylesheet_directory_uri() .'/rev-manifest.json';
|
||||||
|
if ( file_exists($manifest_path ) ) {
|
||||||
|
$manifest = json_decode( file_get_contents( $manifest_path ), TRUE );
|
||||||
|
} else {
|
||||||
|
$manifest = [];
|
||||||
|
}
|
||||||
|
if ( array_key_exists( $filename, $manifest ) ) {
|
||||||
|
return $manifest[$filename];
|
||||||
|
}
|
||||||
|
return $filename;
|
||||||
|
}
|
||||||
|
|
||||||
if ( ! function_exists( 'understrap_scripts' ) ) {
|
if ( ! function_exists( 'understrap_scripts' ) ) {
|
||||||
/**
|
/**
|
||||||
* Load theme's JavaScript sources.
|
* Load theme's JavaScript and CSS sources.
|
||||||
*/
|
*/
|
||||||
function understrap_scripts() {
|
function understrap_scripts() {
|
||||||
// Get the theme data.
|
|
||||||
$the_theme = wp_get_theme();
|
wp_enqueue_style( 'understrap-styles', get_stylesheet_directory_uri() . '/'. asset_path('css/theme.min.css'), array(), null);
|
||||||
wp_enqueue_style( 'understrap-styles', get_stylesheet_directory_uri() . '/css/theme.min.css', array(), $the_theme->get( 'Version' ) );
|
|
||||||
wp_enqueue_script( 'jquery');
|
wp_enqueue_script( 'jquery');
|
||||||
wp_enqueue_script( 'popper-scripts', get_template_directory_uri() . '/js/popper.min.js', array(), true);
|
wp_enqueue_script( 'popper-scripts', get_template_directory_uri() . '/js/popper.min.js', array(), false, true);
|
||||||
wp_enqueue_script( 'understrap-scripts', get_template_directory_uri() . '/js/theme.min.js', array(), $the_theme->get( 'Version' ), true );
|
|
||||||
|
wp_enqueue_script( 'understrap-scripts', get_template_directory_uri() . '/' . asset_path('js/theme.min.js'), array(), null, 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' );
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
* @package understrap
|
* @package understrap
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
add_filter( 'body_class', 'understrap_body_classes' );
|
||||||
|
|
||||||
if ( ! function_exists( 'understrap_body_classes' ) ) {
|
if ( ! function_exists( 'understrap_body_classes' ) ) {
|
||||||
/**
|
/**
|
||||||
* Adds custom classes to the array of body classes.
|
* Adds custom classes to the array of body classes.
|
||||||
|
@ -28,7 +30,6 @@ if ( ! function_exists( 'understrap_body_classes' ) ) {
|
||||||
return $classes;
|
return $classes;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
add_filter( 'body_class', 'understrap_body_classes' );
|
|
||||||
|
|
||||||
// Removes tag class from the body_class array to avoid Bootstrap markup styling issues.
|
// Removes tag class from the body_class array to avoid Bootstrap markup styling issues.
|
||||||
add_filter( 'body_class', 'understrap_adjust_body_class' );
|
add_filter( 'body_class', 'understrap_adjust_body_class' );
|
||||||
|
@ -78,8 +79,8 @@ if ( ! function_exists( 'understrap_change_logo_class' ) ) {
|
||||||
/**
|
/**
|
||||||
* Display navigation to next/previous post when applicable.
|
* Display navigation to next/previous post when applicable.
|
||||||
*/
|
*/
|
||||||
if ( ! function_exists( 'understrap_post_nav' ) ) :
|
|
||||||
|
|
||||||
|
if ( ! function_exists ( 'understrap_post_nav' ) ) {
|
||||||
function understrap_post_nav() {
|
function understrap_post_nav() {
|
||||||
// Don't print empty markup if there's nowhere to navigate.
|
// Don't print empty markup if there's nowhere to navigate.
|
||||||
$previous = ( is_attachment() ) ? get_post( get_post()->post_parent ) : get_adjacent_post( false, '', true );
|
$previous = ( is_attachment() ) ? get_post( get_post()->post_parent ) : get_adjacent_post( false, '', true );
|
||||||
|
@ -106,4 +107,4 @@ if ( ! function_exists( 'understrap_post_nav' ) ) :
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
endif;
|
}
|
|
@ -13,41 +13,51 @@
|
||||||
* See: https://jetpack.me/support/infinite-scroll/
|
* See: https://jetpack.me/support/infinite-scroll/
|
||||||
* See: https://jetpack.me/support/responsive-videos/
|
* See: https://jetpack.me/support/responsive-videos/
|
||||||
*/
|
*/
|
||||||
function understrap_components_jetpack_setup() {
|
|
||||||
// Add theme support for Infinite Scroll.
|
|
||||||
add_theme_support( 'infinite-scroll', array(
|
|
||||||
'container' => 'main',
|
|
||||||
'render' => 'components_infinite_scroll_render',
|
|
||||||
'footer' => 'page',
|
|
||||||
) );
|
|
||||||
|
|
||||||
// Add theme support for Responsive Videos.
|
|
||||||
add_theme_support( 'jetpack-responsive-videos' );
|
|
||||||
|
|
||||||
// Add theme support for Social Menus
|
|
||||||
add_theme_support( 'jetpack-social-menu' );
|
|
||||||
|
|
||||||
}
|
|
||||||
add_action( 'after_setup_theme', 'understrap_components_jetpack_setup' );
|
add_action( 'after_setup_theme', 'understrap_components_jetpack_setup' );
|
||||||
|
|
||||||
|
if ( ! function_exists ( 'understrap_components_jetpack_setup' ) ) {
|
||||||
|
function understrap_components_jetpack_setup() {
|
||||||
|
// Add theme support for Infinite Scroll.
|
||||||
|
add_theme_support( 'infinite-scroll', array(
|
||||||
|
'container' => 'main',
|
||||||
|
'render' => 'components_infinite_scroll_render',
|
||||||
|
'footer' => 'page',
|
||||||
|
) );
|
||||||
|
|
||||||
|
// Add theme support for Responsive Videos.
|
||||||
|
add_theme_support( 'jetpack-responsive-videos' );
|
||||||
|
|
||||||
|
// Add theme support for Social Menus
|
||||||
|
add_theme_support( 'jetpack-social-menu' );
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Custom render function for Infinite Scroll.
|
* Custom render function for Infinite Scroll.
|
||||||
*/
|
*/
|
||||||
function understrap_components_infinite_scroll_render() {
|
|
||||||
while ( have_posts() ) {
|
if ( ! function_exists ( 'understrap_components_infinite_scroll_render' ) ) {
|
||||||
the_post();
|
function understrap_components_infinite_scroll_render() {
|
||||||
if ( is_search() ) :
|
while ( have_posts() ) {
|
||||||
get_template_part( 'loop-templates/content', 'search' );
|
the_post();
|
||||||
else :
|
if ( is_search() ) :
|
||||||
get_template_part( 'loop-templates/content', get_post_format() );
|
get_template_part( 'loop-templates/content', 'search' );
|
||||||
endif;
|
else :
|
||||||
|
get_template_part( 'loop-templates/content', get_post_format() );
|
||||||
|
endif;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function understrap_components_social_menu() {
|
if ( ! function_exists ( 'understrap_components_social_menu' ) ) {
|
||||||
if ( ! function_exists( 'jetpack_social_menu' ) ) {
|
function understrap_components_social_menu() {
|
||||||
return;
|
if ( ! function_exists( 'jetpack_social_menu' ) ) {
|
||||||
} else {
|
return;
|
||||||
jetpack_social_menu();
|
} else {
|
||||||
|
jetpack_social_menu();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -5,54 +5,48 @@
|
||||||
* @package understrap
|
* @package understrap
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( ! function_exists( 'understrap_pagination' ) ) :
|
if ( ! function_exists ( 'understrap_pagination' ) ) {
|
||||||
function understrap_pagination($args = [], $class = 'pagination') {
|
|
||||||
|
|
||||||
if ($GLOBALS['wp_query']->max_num_pages <= 1) return;
|
function understrap_pagination($args = [], $class = 'pagination') {
|
||||||
|
|
||||||
$args = wp_parse_args( $args, [
|
if ($GLOBALS['wp_query']->max_num_pages <= 1) return;
|
||||||
'mid_size' => 2,
|
|
||||||
'prev_next' => false,
|
|
||||||
'prev_text' => __('«', 'understrap'),
|
|
||||||
'next_text' => __('»', 'understrap'),
|
|
||||||
'screen_reader_text' => __('Posts navigation', 'understrap'),
|
|
||||||
'type' => 'array',
|
|
||||||
'current' => max( 1, get_query_var('paged') ),
|
|
||||||
]);
|
|
||||||
|
|
||||||
$links = paginate_links($args);
|
$args = wp_parse_args( $args, [
|
||||||
$next_link = get_next_posts_page_link();
|
'mid_size' => 2,
|
||||||
$prev_link = get_previous_posts_page_link();
|
'prev_next' => true,
|
||||||
|
'prev_text' => __('«', 'understrap'),
|
||||||
|
'next_text' => __('»', 'understrap'),
|
||||||
|
'screen_reader_text' => __('Posts navigation', 'understrap'),
|
||||||
|
'type' => 'array',
|
||||||
|
'current' => max( 1, get_query_var('paged') ),
|
||||||
|
]);
|
||||||
|
|
||||||
?>
|
$links = paginate_links($args);
|
||||||
|
|
||||||
<nav aria-label="<?php echo $args['screen_reader_text']; ?>">
|
?>
|
||||||
<ul class="pagination">
|
|
||||||
<li class="page-item">
|
|
||||||
<a class="page-link" href="<?php echo esc_attr($prev_link); ?>" aria-label="<?php echo __('Previous', 'understrap'); ?>">
|
|
||||||
<span aria-hidden="true"><?php echo esc_attr($args['prev_text']); ?></span>
|
|
||||||
<span class="sr-only"><?php echo __('Previous', 'understrap'); ?></span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<?php
|
<nav aria-label="<?php echo $args['screen_reader_text']; ?>">
|
||||||
$i = 1;
|
|
||||||
foreach ( $links as $link ) { ?>
|
|
||||||
<li class="page-item <?php if ($i == $args['current']) { echo active; }; ?>">
|
|
||||||
<?php echo str_replace( 'page-numbers', 'page-link', $link ); ?>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<?php $i++;} ?>
|
<ul class="pagination">
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
foreach ( $links as $key => $link ) { ?>
|
||||||
|
|
||||||
|
<li class="page-item <?php echo strpos( $link, 'current' ) ? 'active' : '' ?>">
|
||||||
|
|
||||||
|
<?php echo str_replace( 'page-numbers', 'page-link', $link ); ?>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<?php } ?>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
<li class="page-item">
|
|
||||||
<a class="page-link" href="<?php echo esc_attr($next_link); ?>" aria-label="<?php echo __('Next', 'understrap'); ?>">
|
|
||||||
<span aria-hidden="true"><?php echo esc_attr($args['next_text']); ?></span>
|
|
||||||
<span class="sr-only"><?php echo __('Next', 'understrap'); ?></span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
endif;
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -11,7 +11,9 @@ if ( ! isset( $content_width ) ) {
|
||||||
$content_width = 640; /* pixels */
|
$content_width = 640; /* pixels */
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! function_exists( 'understrap_setup' ) ) :
|
add_action( 'after_setup_theme', 'understrap_setup' );
|
||||||
|
|
||||||
|
if ( ! function_exists ( 'understrap_setup' ) ) {
|
||||||
/**
|
/**
|
||||||
* Sets up theme defaults and registers support for various WordPress features.
|
* Sets up theme defaults and registers support for various WordPress features.
|
||||||
*
|
*
|
||||||
|
@ -91,8 +93,10 @@ if ( ! function_exists( 'understrap_setup' ) ) :
|
||||||
understrap_setup_theme_default_settings();
|
understrap_setup_theme_default_settings();
|
||||||
|
|
||||||
}
|
}
|
||||||
endif; // understrap_setup.
|
}
|
||||||
add_action( 'after_setup_theme', 'understrap_setup' );
|
|
||||||
|
|
||||||
|
add_filter( 'excerpt_more', 'understrap_custom_excerpt_more' );
|
||||||
|
|
||||||
if ( ! function_exists( 'understrap_custom_excerpt_more' ) ) {
|
if ( ! function_exists( 'understrap_custom_excerpt_more' ) ) {
|
||||||
/**
|
/**
|
||||||
|
@ -106,7 +110,8 @@ if ( ! function_exists( 'understrap_custom_excerpt_more' ) ) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
add_filter( 'excerpt_more', 'understrap_custom_excerpt_more' );
|
|
||||||
|
add_filter( 'wp_trim_excerpt', 'understrap_all_excerpts_get_more_link' );
|
||||||
|
|
||||||
if ( ! function_exists( 'understrap_all_excerpts_get_more_link' ) ) {
|
if ( ! function_exists( 'understrap_all_excerpts_get_more_link' ) ) {
|
||||||
/**
|
/**
|
||||||
|
@ -122,4 +127,3 @@ if ( ! function_exists( 'understrap_all_excerpts_get_more_link' ) ) {
|
||||||
'understrap' ) . '</a></p>';
|
'understrap' ) . '</a></p>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
add_filter( 'wp_trim_excerpt', 'understrap_all_excerpts_get_more_link' );
|
|
||||||
|
|
|
@ -7,105 +7,113 @@
|
||||||
* @package understrap
|
* @package understrap
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( ! function_exists( 'understrap_posted_on' ) ) :
|
|
||||||
/**
|
/**
|
||||||
* Prints HTML with meta information for the current post-date/time and author.
|
* Prints HTML with meta information for the current post-date/time and author.
|
||||||
*/
|
*/
|
||||||
function understrap_posted_on() {
|
if ( ! function_exists ( 'understrap_posted_on' ) ) {
|
||||||
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
|
function understrap_posted_on() {
|
||||||
if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
|
$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
|
||||||
$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s"> (%4$s) </time>';
|
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 = sprintf( $time_string,
|
||||||
|
esc_attr( get_the_date( 'c' ) ),
|
||||||
|
esc_html( get_the_date() ),
|
||||||
|
esc_attr( get_the_modified_date( 'c' ) ),
|
||||||
|
esc_html( get_the_modified_date() )
|
||||||
|
);
|
||||||
|
$posted_on = sprintf(
|
||||||
|
esc_html_x( 'Posted on %s', 'post date', 'understrap' ),
|
||||||
|
'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
|
||||||
|
);
|
||||||
|
$byline = sprintf(
|
||||||
|
esc_html_x( 'by %s', 'post author', 'understrap' ),
|
||||||
|
'<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="posted-on">' . $posted_on . '</span><span class="byline"> ' . $byline . '</span>'; // WPCS: XSS OK.
|
||||||
}
|
}
|
||||||
$time_string = sprintf( $time_string,
|
|
||||||
esc_attr( get_the_date( 'c' ) ),
|
|
||||||
esc_html( get_the_date() ),
|
|
||||||
esc_attr( get_the_modified_date( 'c' ) ),
|
|
||||||
esc_html( get_the_modified_date() )
|
|
||||||
);
|
|
||||||
$posted_on = sprintf(
|
|
||||||
esc_html_x( 'Posted on %s', 'post date', 'understrap' ),
|
|
||||||
'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
|
|
||||||
);
|
|
||||||
$byline = sprintf(
|
|
||||||
esc_html_x( 'by %s', 'post author', 'understrap' ),
|
|
||||||
'<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="posted-on">' . $posted_on . '</span><span class="byline"> ' . $byline . '</span>'; // WPCS: XSS OK.
|
|
||||||
}
|
}
|
||||||
endif;
|
|
||||||
|
|
||||||
if ( ! function_exists( 'understrap_entry_footer' ) ) :
|
|
||||||
/**
|
/**
|
||||||
* Prints HTML with meta information for the categories, tags and comments.
|
* Prints HTML with meta information for the categories, tags and comments.
|
||||||
*/
|
*/
|
||||||
function understrap_entry_footer() {
|
if ( ! function_exists ( 'understrap_entry_footer' ) ) {
|
||||||
// Hide category and tag text for pages.
|
function understrap_entry_footer() {
|
||||||
if ( 'post' === get_post_type() ) {
|
// Hide category and tag text for pages.
|
||||||
/* translators: used between list items, there is a space after the comma */
|
if ( 'post' === get_post_type() ) {
|
||||||
$categories_list = get_the_category_list( esc_html__( ', ', 'understrap' ) );
|
/* translators: used between list items, there is a space after the comma */
|
||||||
if ( $categories_list && understrap_categorized_blog() ) {
|
$categories_list = get_the_category_list( esc_html__( ', ', 'understrap' ) );
|
||||||
printf( '<span class="cat-links">' . esc_html__( 'Posted in %1$s', 'understrap' ) . '</span>', $categories_list ); // WPCS: XSS OK.
|
if ( $categories_list && understrap_categorized_blog() ) {
|
||||||
|
printf( '<span class="cat-links">' . esc_html__( 'Posted in %1$s', 'understrap' ) . '</span>', $categories_list ); // WPCS: XSS OK.
|
||||||
|
}
|
||||||
|
/* translators: used between list items, there is a space after the comma */
|
||||||
|
$tags_list = get_the_tag_list( '', esc_html__( ', ', 'understrap' ) );
|
||||||
|
if ( $tags_list ) {
|
||||||
|
printf( '<span class="tags-links">' . esc_html__( 'Tagged %1$s', 'understrap' ) . '</span>', $tags_list ); // WPCS: XSS OK.
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/* translators: used between list items, there is a space after the comma */
|
if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
|
||||||
$tags_list = get_the_tag_list( '', esc_html__( ', ', 'understrap' ) );
|
echo '<span class="comments-link">';
|
||||||
if ( $tags_list ) {
|
comments_popup_link( esc_html__( 'Leave a comment', 'understrap' ), esc_html__( '1 Comment', 'understrap' ), esc_html__( '% Comments', 'understrap' ) );
|
||||||
printf( '<span class="tags-links">' . esc_html__( 'Tagged %1$s', 'understrap' ) . '</span>', $tags_list ); // WPCS: XSS OK.
|
echo '</span>';
|
||||||
}
|
}
|
||||||
|
edit_post_link(
|
||||||
|
sprintf(
|
||||||
|
/* translators: %s: Name of current post */
|
||||||
|
esc_html__( 'Edit %s', 'understrap' ),
|
||||||
|
the_title( '<span class="screen-reader-text">"', '"</span>', false )
|
||||||
|
),
|
||||||
|
'<span class="edit-link">',
|
||||||
|
'</span>'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
|
|
||||||
echo '<span class="comments-link">';
|
|
||||||
comments_popup_link( esc_html__( 'Leave a comment', 'understrap' ), esc_html__( '1 Comment', 'understrap' ), esc_html__( '% Comments', 'understrap' ) );
|
|
||||||
echo '</span>';
|
|
||||||
}
|
|
||||||
edit_post_link(
|
|
||||||
sprintf(
|
|
||||||
/* translators: %s: Name of current post */
|
|
||||||
esc_html__( 'Edit %s', 'understrap' ),
|
|
||||||
the_title( '<span class="screen-reader-text">"', '"</span>', false )
|
|
||||||
),
|
|
||||||
'<span class="edit-link">',
|
|
||||||
'</span>'
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
endif;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if a blog has more than 1 category.
|
* Returns true if a blog has more than 1 category.
|
||||||
*
|
*
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
function understrap_categorized_blog() {
|
if ( ! function_exists ( 'understrap_categorized_blog' ) ) {
|
||||||
if ( false === ( $all_the_cool_cats = get_transient( 'understrap_categories' ) ) ) {
|
function understrap_categorized_blog() {
|
||||||
// Create an array of all the categories that are attached to posts.
|
if ( false === ( $all_the_cool_cats = get_transient( 'understrap_categories' ) ) ) {
|
||||||
$all_the_cool_cats = get_categories( array(
|
// Create an array of all the categories that are attached to posts.
|
||||||
'fields' => 'ids',
|
$all_the_cool_cats = get_categories( array(
|
||||||
'hide_empty' => 1,
|
'fields' => 'ids',
|
||||||
// We only need to know if there is more than one category.
|
'hide_empty' => 1,
|
||||||
'number' => 2,
|
// We only need to know if there is more than one category.
|
||||||
) );
|
'number' => 2,
|
||||||
// Count the number of categories that are attached to the posts.
|
) );
|
||||||
$all_the_cool_cats = count( $all_the_cool_cats );
|
// Count the number of categories that are attached to the posts.
|
||||||
set_transient( 'understrap_categories', $all_the_cool_cats );
|
$all_the_cool_cats = count( $all_the_cool_cats );
|
||||||
}
|
set_transient( 'understrap_categories', $all_the_cool_cats );
|
||||||
if ( $all_the_cool_cats > 1 ) {
|
}
|
||||||
// This blog has more than 1 category so components_categorized_blog should return true.
|
if ( $all_the_cool_cats > 1 ) {
|
||||||
return true;
|
// This blog has more than 1 category so components_categorized_blog should return true.
|
||||||
} else {
|
return true;
|
||||||
// This blog has only 1 category so components_categorized_blog should return false.
|
} else {
|
||||||
return false;
|
// This blog has only 1 category so components_categorized_blog should return false.
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Flush out the transients used in understrap_categorized_blog.
|
* Flush out the transients used in understrap_categorized_blog.
|
||||||
*/
|
*/
|
||||||
function understrap_category_transient_flusher() {
|
|
||||||
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// Like, beat it. Dig?
|
|
||||||
delete_transient( 'understrap_categories' );
|
|
||||||
}
|
|
||||||
add_action( 'edit_category', 'understrap_category_transient_flusher' );
|
add_action( 'edit_category', 'understrap_category_transient_flusher' );
|
||||||
add_action( 'save_post', 'understrap_category_transient_flusher' );
|
add_action( 'save_post', 'understrap_category_transient_flusher' );
|
||||||
|
|
||||||
|
if ( ! function_exists ( 'understrap_category_transient_flusher' ) ) {
|
||||||
|
function understrap_category_transient_flusher() {
|
||||||
|
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// Like, beat it. Dig?
|
||||||
|
delete_transient( 'understrap_categories' );
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,7 +6,7 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( ! function_exists( 'understrap_setup_theme_default_settings' ) ) :
|
if ( ! function_exists ( 'understrap_setup_theme_default_settings' ) ) {
|
||||||
function understrap_setup_theme_default_settings() {
|
function understrap_setup_theme_default_settings() {
|
||||||
|
|
||||||
// check if settings are set, if not set defaults.
|
// check if settings are set, if not set defaults.
|
||||||
|
@ -29,4 +29,4 @@ if ( ! function_exists( 'understrap_setup_theme_default_settings' ) ) :
|
||||||
set_theme_mod( 'understrap_container_type', 'container' );
|
set_theme_mod( 'understrap_container_type', 'container' );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
endif;
|
}
|
|
@ -44,6 +44,8 @@ if ( ! function_exists( 'understrap_slbd_count_widgets' ) ) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
add_action( 'widgets_init', 'understrap_widgets_init' );
|
||||||
|
|
||||||
if ( ! function_exists( 'understrap_widgets_init' ) ) {
|
if ( ! function_exists( 'understrap_widgets_init' ) ) {
|
||||||
/**
|
/**
|
||||||
* Initializes themes widgets.
|
* Initializes themes widgets.
|
||||||
|
@ -80,9 +82,19 @@ if ( ! function_exists( 'understrap_widgets_init' ) ) {
|
||||||
) );
|
) );
|
||||||
|
|
||||||
register_sidebar( array(
|
register_sidebar( array(
|
||||||
'name' => __( 'Hero Static', 'understrap' ),
|
'name' => __( 'Hero Canvas', 'understrap' ),
|
||||||
|
'id' => 'herocanvas',
|
||||||
|
'description' => 'Full size canvas hero area for Bootstrap and other custom HTML markup',
|
||||||
|
'before_widget' => '',
|
||||||
|
'after_widget' => '',
|
||||||
|
'before_title' => '',
|
||||||
|
'after_title' => '',
|
||||||
|
) );
|
||||||
|
|
||||||
|
register_sidebar( array(
|
||||||
|
'name' => __( 'Top Full', 'understrap' ),
|
||||||
'id' => 'statichero',
|
'id' => 'statichero',
|
||||||
'description' => 'Static Hero widget. no slider functionallity',
|
'description' => 'Full top widget with dynmic grid',
|
||||||
'before_widget' => '<div id="%1$s" class="static-hero-widget %2$s '. understrap_slbd_count_widgets( 'statichero' ) .'">',
|
'before_widget' => '<div id="%1$s" class="static-hero-widget %2$s '. understrap_slbd_count_widgets( 'statichero' ) .'">',
|
||||||
'after_widget' => '</div><!-- .static-hero-widget -->',
|
'after_widget' => '</div><!-- .static-hero-widget -->',
|
||||||
'before_title' => '<h3 class="widget-title">',
|
'before_title' => '<h3 class="widget-title">',
|
||||||
|
@ -90,9 +102,9 @@ if ( ! function_exists( 'understrap_widgets_init' ) ) {
|
||||||
) );
|
) );
|
||||||
|
|
||||||
register_sidebar( array(
|
register_sidebar( array(
|
||||||
'name' => __( 'Footer Full', 'understrap' ),
|
'name' => __( 'Bottom Full', 'understrap' ),
|
||||||
'id' => 'footerfull',
|
'id' => 'footerfull',
|
||||||
'description' => 'Widget area below main content and above footer',
|
'description' => 'Full bottom widget with dynmic grid',
|
||||||
'before_widget' => '<div id="%1$s" class="footer-widget %2$s '. understrap_slbd_count_widgets( 'footerfull' ) .'">',
|
'before_widget' => '<div id="%1$s" class="footer-widget %2$s '. understrap_slbd_count_widgets( 'footerfull' ) .'">',
|
||||||
'after_widget' => '</div><!-- .footer-widget -->',
|
'after_widget' => '</div><!-- .footer-widget -->',
|
||||||
'before_title' => '<h3 class="widget-title">',
|
'before_title' => '<h3 class="widget-title">',
|
||||||
|
@ -101,5 +113,3 @@ if ( ! function_exists( 'understrap_widgets_init' ) ) {
|
||||||
|
|
||||||
}
|
}
|
||||||
} // endif function_exists( 'understrap_widgets_init' ).
|
} // endif function_exists( 'understrap_widgets_init' ).
|
||||||
add_action( 'widgets_init', 'understrap_widgets_init' );
|
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
*
|
*
|
||||||
* @package understrap
|
* @package understrap
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
add_action( 'after_setup_theme', 'understrap_woocommerce_support' );
|
add_action( 'after_setup_theme', 'understrap_woocommerce_support' );
|
||||||
if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
|
if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
|
||||||
/**
|
/**
|
||||||
|
@ -22,6 +24,7 @@ if ( ! function_exists( 'understrap_woocommerce_support' ) ) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* First unhook the WooCommerce wrappers
|
* First unhook the WooCommerce wrappers
|
||||||
*/
|
*/
|
||||||
|
@ -46,7 +49,6 @@ if ( ! function_exists( 'understrap_woocommerce_wrapper_start' ) ) {
|
||||||
if ( ! function_exists( 'understrap_woocommerce_wrapper_end' ) ) {
|
if ( ! function_exists( 'understrap_woocommerce_wrapper_end' ) ) {
|
||||||
function understrap_woocommerce_wrapper_end() {
|
function understrap_woocommerce_wrapper_end() {
|
||||||
echo '</main><!-- #main -->';
|
echo '</main><!-- #main -->';
|
||||||
echo '</div><!-- #primary -->';
|
|
||||||
get_template_part( 'global-templates/right-sidebar-check' );
|
get_template_part( 'global-templates/right-sidebar-check' );
|
||||||
echo '</div><!-- .row -->';
|
echo '</div><!-- .row -->';
|
||||||
echo '</div><!-- Container end -->';
|
echo '</div><!-- Container end -->';
|
||||||
|
@ -54,6 +56,7 @@ function understrap_woocommerce_wrapper_end() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filter hook function monkey patching form classes
|
* Filter hook function monkey patching form classes
|
||||||
* Author: Adriano Monecchi http://stackoverflow.com/a/36724593/307826
|
* Author: Adriano Monecchi http://stackoverflow.com/a/36724593/307826
|
||||||
|
@ -64,72 +67,74 @@ function understrap_woocommerce_wrapper_end() {
|
||||||
*
|
*
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
function understrap_wc_form_field_args( $args, $key, $value = null ) {
|
if ( ! function_exists ( 'understrap_wc_form_field_args' ) ) {
|
||||||
// Start field type switch case.
|
function understrap_wc_form_field_args( $args, $key, $value = null ) {
|
||||||
switch ( $args['type'] ) {
|
// Start field type switch case.
|
||||||
/* Targets all select input type elements, except the country and state select input types */
|
switch ( $args['type'] ) {
|
||||||
case 'select' :
|
/* Targets all select input type elements, except the country and state select input types */
|
||||||
// Add a class to the field's html element wrapper - woocommerce
|
case 'select' :
|
||||||
// input types (fields) are often wrapped within a <p></p> tag.
|
// Add a class to the field's html element wrapper - woocommerce
|
||||||
$args['class'][] = 'form-group';
|
// input types (fields) are often wrapped within a <p></p> tag.
|
||||||
// Add a class to the form input itself.
|
$args['class'][] = 'form-group';
|
||||||
$args['input_class'] = array( 'form-control', 'input-lg' );
|
// Add a class to the form input itself.
|
||||||
$args['label_class'] = array( 'control-label' );
|
$args['input_class'] = array( 'form-control', 'input-lg' );
|
||||||
$args['custom_attributes'] = array(
|
$args['label_class'] = array( 'control-label' );
|
||||||
'data-plugin' => 'select2',
|
$args['custom_attributes'] = array(
|
||||||
'data-allow-clear' => 'true',
|
'data-plugin' => 'select2',
|
||||||
'aria-hidden' => 'true',
|
'data-allow-clear' => 'true',
|
||||||
// Add custom data attributes to the form input itself.
|
'aria-hidden' => 'true',
|
||||||
);
|
// Add custom data attributes to the form input itself.
|
||||||
break;
|
);
|
||||||
// By default WooCommerce will populate a select with the country names - $args
|
break;
|
||||||
// defined for this specific input type targets only the country select element.
|
// By default WooCommerce will populate a select with the country names - $args
|
||||||
case 'country' :
|
// defined for this specific input type targets only the country select element.
|
||||||
$args['class'][] = 'form-group single-country';
|
case 'country' :
|
||||||
$args['label_class'] = array( 'control-label' );
|
$args['class'][] = 'form-group single-country';
|
||||||
break;
|
$args['label_class'] = array( 'control-label' );
|
||||||
// By default WooCommerce will populate a select with state names - $args defined
|
break;
|
||||||
// for this specific input type targets only the country select element.
|
// By default WooCommerce will populate a select with state names - $args defined
|
||||||
case 'state' :
|
// for this specific input type targets only the country select element.
|
||||||
// Add class to the field's html element wrapper.
|
case 'state' :
|
||||||
$args['class'][] = 'form-group';
|
// Add class to the field's html element wrapper.
|
||||||
// add class to the form input itself.
|
$args['class'][] = 'form-group';
|
||||||
$args['input_class'] = array( '', 'input-lg' );
|
// add class to the form input itself.
|
||||||
$args['label_class'] = array( 'control-label' );
|
$args['input_class'] = array( '', 'input-lg' );
|
||||||
$args['custom_attributes'] = array(
|
$args['label_class'] = array( 'control-label' );
|
||||||
'data-plugin' => 'select2',
|
$args['custom_attributes'] = array(
|
||||||
'data-allow-clear' => 'true',
|
'data-plugin' => 'select2',
|
||||||
'aria-hidden' => 'true',
|
'data-allow-clear' => 'true',
|
||||||
);
|
'aria-hidden' => 'true',
|
||||||
break;
|
);
|
||||||
case 'password' :
|
break;
|
||||||
case 'text' :
|
case 'password' :
|
||||||
case 'email' :
|
case 'text' :
|
||||||
case 'tel' :
|
case 'email' :
|
||||||
case 'number' :
|
case 'tel' :
|
||||||
$args['class'][] = 'form-group';
|
case 'number' :
|
||||||
$args['input_class'] = array( 'form-control', 'input-lg' );
|
$args['class'][] = 'form-group';
|
||||||
$args['label_class'] = array( 'control-label' );
|
$args['input_class'] = array( 'form-control', 'input-lg' );
|
||||||
break;
|
$args['label_class'] = array( 'control-label' );
|
||||||
case 'textarea' :
|
break;
|
||||||
$args['input_class'] = array( 'form-control', 'input-lg' );
|
case 'textarea' :
|
||||||
$args['label_class'] = array( 'control-label' );
|
$args['input_class'] = array( 'form-control', 'input-lg' );
|
||||||
break;
|
$args['label_class'] = array( 'control-label' );
|
||||||
case 'checkbox' :
|
break;
|
||||||
$args['label_class'] = array( 'custom-control custom-checkbox' );
|
case 'checkbox' :
|
||||||
$args['input_class'] = array( 'custom-control-input', 'input-lg' );
|
$args['label_class'] = array( 'custom-control custom-checkbox' );
|
||||||
break;
|
$args['input_class'] = array( 'custom-control-input', 'input-lg' );
|
||||||
case 'radio' :
|
break;
|
||||||
$args['label_class'] = array( 'custom-control custom-radio' );
|
case 'radio' :
|
||||||
$args['input_class'] = array( 'custom-control-input', 'input-lg' );
|
$args['label_class'] = array( 'custom-control custom-radio' );
|
||||||
break;
|
$args['input_class'] = array( 'custom-control-input', 'input-lg' );
|
||||||
default :
|
break;
|
||||||
$args['class'][] = 'form-group';
|
default :
|
||||||
$args['input_class'] = array( 'form-control', 'input-lg' );
|
$args['class'][] = 'form-group';
|
||||||
$args['label_class'] = array( 'control-label' );
|
$args['input_class'] = array( 'form-control', 'input-lg' );
|
||||||
break;
|
$args['label_class'] = array( 'control-label' );
|
||||||
} // end switch ($args).
|
break;
|
||||||
return $args;
|
} // end switch ($args).
|
||||||
|
return $args;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -137,7 +142,10 @@ function understrap_wc_form_field_args( $args, $key, $value = null ) {
|
||||||
* Change loop add-to-cart button class to Bootstrap
|
* Change loop add-to-cart button class to Bootstrap
|
||||||
*/
|
*/
|
||||||
add_filter( 'woocommerce_loop_add_to_cart_args', 'understrap_woocommerce_add_to_cart_args', 10, 2 );
|
add_filter( 'woocommerce_loop_add_to_cart_args', 'understrap_woocommerce_add_to_cart_args', 10, 2 );
|
||||||
function understrap_woocommerce_add_to_cart_args( $args, $product ) {
|
|
||||||
$args['class'] = str_replace('button','btn btn-outline-primary', 'button');
|
if ( ! function_exists ( 'understrap_woocommerce_add_to_cart_args' ) ) {
|
||||||
return $args;
|
function understrap_woocommerce_add_to_cart_args( $args, $product ) {
|
||||||
|
$args['class'] = str_replace('button','btn btn-outline-primary', 'button');
|
||||||
|
return $args;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -12,29 +12,36 @@
|
||||||
*
|
*
|
||||||
* @global array $themecolors
|
* @global array $themecolors
|
||||||
*/
|
*/
|
||||||
function understrap_wpcom_setup() {
|
|
||||||
global $themecolors;
|
|
||||||
|
|
||||||
// Set theme colors for third party services.
|
|
||||||
if ( ! isset( $themecolors ) ) {
|
|
||||||
$themecolors = array(
|
|
||||||
'bg' => '',
|
|
||||||
'border' => '',
|
|
||||||
'text' => '',
|
|
||||||
'link' => '',
|
|
||||||
'url' => '',
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Add WP.com print styles */
|
|
||||||
add_theme_support( 'print-styles' );
|
|
||||||
}
|
|
||||||
add_action( 'after_setup_theme', 'understrap_wpcom_setup' );
|
add_action( 'after_setup_theme', 'understrap_wpcom_setup' );
|
||||||
|
|
||||||
|
if ( ! function_exists ( 'understrap_wpcom_setup' ) ) {
|
||||||
|
function understrap_wpcom_setup() {
|
||||||
|
global $themecolors;
|
||||||
|
|
||||||
|
// Set theme colors for third party services.
|
||||||
|
if ( ! isset( $themecolors ) ) {
|
||||||
|
$themecolors = array(
|
||||||
|
'bg' => '',
|
||||||
|
'border' => '',
|
||||||
|
'text' => '',
|
||||||
|
'link' => '',
|
||||||
|
'url' => '',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add WP.com print styles */
|
||||||
|
add_theme_support( 'print-styles' );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* WordPress.com-specific styles
|
* WordPress.com-specific styles
|
||||||
*/
|
*/
|
||||||
function understrap_wpcom_styles() {
|
|
||||||
wp_enqueue_style( 'understrap-wpcom', get_template_directory_uri() . '/inc/style-wpcom.css', '20160411' );
|
|
||||||
}
|
|
||||||
add_action( 'wp_enqueue_scripts', 'understrap_wpcom_styles' );
|
add_action( 'wp_enqueue_scripts', 'understrap_wpcom_styles' );
|
||||||
|
|
||||||
|
if ( ! function_exists ( 'understrap_wpcom_styles' ) ) {
|
||||||
|
function understrap_wpcom_styles() {
|
||||||
|
wp_enqueue_style( 'understrap-wpcom', get_template_directory_uri() . '/inc/style-wpcom.css', '20160411' );
|
||||||
|
}
|
||||||
|
}
|
|
@ -60,8 +60,6 @@ $container = get_theme_mod( 'understrap_container_type' );
|
||||||
<!-- The pagination component -->
|
<!-- The pagination component -->
|
||||||
<?php understrap_pagination(); ?>
|
<?php understrap_pagination(); ?>
|
||||||
|
|
||||||
</div><!-- #primary -->
|
|
||||||
|
|
||||||
<!-- Do the right sidebar check -->
|
<!-- Do the right sidebar check -->
|
||||||
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
||||||
|
|
||||||
|
|
112
js/navigation.js
112
js/navigation.js
|
@ -1,112 +0,0 @@
|
||||||
/**
|
|
||||||
* File navigation.js.
|
|
||||||
*
|
|
||||||
* Handles toggling the navigation menu for small screens and enables TAB key
|
|
||||||
* navigation support for dropdown menus.
|
|
||||||
*/
|
|
||||||
( function() {
|
|
||||||
var container, button, menu, links, subMenus, i, len;
|
|
||||||
|
|
||||||
container = document.getElementById( 'site-navigation' );
|
|
||||||
if ( ! container ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
button = container.getElementsByTagName( 'button' )[0];
|
|
||||||
if ( 'undefined' === typeof button ) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
menu = container.getElementsByTagName( 'ul' )[0];
|
|
||||||
|
|
||||||
// Hide menu toggle button if menu is empty and return early.
|
|
||||||
if ( 'undefined' === typeof menu ) {
|
|
||||||
button.style.display = 'none';
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
menu.setAttribute( 'aria-expanded', 'false' );
|
|
||||||
if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
|
|
||||||
menu.className += ' nav-menu';
|
|
||||||
}
|
|
||||||
|
|
||||||
button.onclick = function() {
|
|
||||||
if ( -1 !== container.className.indexOf( 'toggled' ) ) {
|
|
||||||
container.className = container.className.replace( ' toggled', '' );
|
|
||||||
button.setAttribute( 'aria-expanded', 'false' );
|
|
||||||
menu.setAttribute( 'aria-expanded', 'false' );
|
|
||||||
} else {
|
|
||||||
container.className += ' toggled';
|
|
||||||
button.setAttribute( 'aria-expanded', 'true' );
|
|
||||||
menu.setAttribute( 'aria-expanded', 'true' );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
// Get all the link elements within the menu.
|
|
||||||
links = menu.getElementsByTagName( 'a' );
|
|
||||||
subMenus = menu.getElementsByTagName( 'ul' );
|
|
||||||
|
|
||||||
// Set menu items with submenus to aria-haspopup="true".
|
|
||||||
for ( i = 0, len = subMenus.length; i < len; i++ ) {
|
|
||||||
subMenus[i].parentNode.setAttribute( 'aria-haspopup', 'true' );
|
|
||||||
}
|
|
||||||
|
|
||||||
// Each time a menu link is focused or blurred, toggle focus.
|
|
||||||
for ( i = 0, len = links.length; i < len; i++ ) {
|
|
||||||
links[i].addEventListener( 'focus', toggleFocus, true );
|
|
||||||
links[i].addEventListener( 'blur', toggleFocus, true );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets or removes .focus class on an element.
|
|
||||||
*/
|
|
||||||
function toggleFocus() {
|
|
||||||
var self = this;
|
|
||||||
|
|
||||||
// Move up through the ancestors of the current link until we hit .nav-menu.
|
|
||||||
while ( -1 === self.className.indexOf( 'nav-menu' ) ) {
|
|
||||||
|
|
||||||
// On li elements toggle the class .focus.
|
|
||||||
if ( 'li' === self.tagName.toLowerCase() ) {
|
|
||||||
if ( -1 !== self.className.indexOf( 'focus' ) ) {
|
|
||||||
self.className = self.className.replace( ' focus', '' );
|
|
||||||
} else {
|
|
||||||
self.className += ' focus';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
self = self.parentElement;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Toggles `focus` class to allow submenu access on tablets.
|
|
||||||
*/
|
|
||||||
( function( container ) {
|
|
||||||
var touchStartFn, i,
|
|
||||||
parentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' );
|
|
||||||
|
|
||||||
if ( 'ontouchstart' in window ) {
|
|
||||||
touchStartFn = function( e ) {
|
|
||||||
var menuItem = this.parentNode, i;
|
|
||||||
|
|
||||||
if ( ! menuItem.classList.contains( 'focus' ) ) {
|
|
||||||
e.preventDefault();
|
|
||||||
for ( i = 0; i < menuItem.parentNode.children.length; ++i ) {
|
|
||||||
if ( menuItem === menuItem.parentNode.children[i] ) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
menuItem.parentNode.children[i].classList.remove( 'focus' );
|
|
||||||
}
|
|
||||||
menuItem.classList.add( 'focus' );
|
|
||||||
} else {
|
|
||||||
menuItem.classList.remove( 'focus' );
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
for ( i = 0; i < parentLink.length; ++i ) {
|
|
||||||
parentLink[i].addEventListener( 'touchstart', touchStartFn, false );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}( container ) );
|
|
||||||
} )();
|
|
|
@ -1,33 +0,0 @@
|
||||||
/**
|
|
||||||
* File skip-link-focus-fix.js.
|
|
||||||
*
|
|
||||||
* Helps with accessibility for keyboard only users.
|
|
||||||
*
|
|
||||||
* Learn more: https://git.io/vWdr2
|
|
||||||
*/
|
|
||||||
( function() {
|
|
||||||
var isWebkit = navigator.userAgent.toLowerCase().indexOf( 'webkit' ) > -1,
|
|
||||||
isOpera = navigator.userAgent.toLowerCase().indexOf( 'opera' ) > -1,
|
|
||||||
isIe = navigator.userAgent.toLowerCase().indexOf( 'msie' ) > -1;
|
|
||||||
|
|
||||||
if ( ( isWebkit || isOpera || 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 );
|
|
||||||
}
|
|
||||||
})();
|
|
7276
js/theme.js
7276
js/theme.js
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -4,21 +4,21 @@ msgstr ""
|
||||||
"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/_s\n"
|
"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/_s\n"
|
||||||
"POT-Creation-Date: 2017-01-06 07:53+0000\n"
|
"POT-Creation-Date: 2017-01-06 07:53+0000\n"
|
||||||
"POT-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
|
"POT-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
|
||||||
"PO-Revision-Date: 2018-03-02 14:13+0100\n"
|
"PO-Revision-Date: 2018-05-16 15:45+0200\n"
|
||||||
"Language-Team: German\n"
|
"Language-Team: German\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\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"
|
||||||
"X-Poedit-SourceCharset: UTF-8\n"
|
"X-Poedit-SourceCharset: UTF-8\n"
|
||||||
"X-Generator: Poedit 2.0.5\n"
|
"X-Generator: Poedit 2.0.7\n"
|
||||||
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
|
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
|
||||||
"__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
|
"__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
|
||||||
"_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
|
"_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
|
||||||
"esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;"
|
"esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;"
|
||||||
"esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
|
"esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
|
||||||
"X-Poedit-Basepath: ..\n"
|
"X-Poedit-Basepath: ..\n"
|
||||||
"Last-Translator: Thomas A. Reinert | TAR MediaDesign <thomas@tarthemes.com>\n"
|
"Last-Translator: Thomas A. Reinert | TAR MediaDesign <thomas@tarcgn.de>\n"
|
||||||
"Language: de_DE\n"
|
"Language: de_DE\n"
|
||||||
"X-Poedit-SearchPath-0: footer.php\n"
|
"X-Poedit-SearchPath-0: footer.php\n"
|
||||||
"X-Poedit-SearchPath-1: header.php\n"
|
"X-Poedit-SearchPath-1: header.php\n"
|
||||||
|
@ -164,10 +164,10 @@ msgid ""
|
||||||
"order. You may be charged more than the amount stated above if you fail to "
|
"order. You may be charged more than the amount stated above if you fail to "
|
||||||
"do so."
|
"do so."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Da dein Browser keine Javascript unterstützt oder Javascript deaktiviert "
|
"Da dein Browser kein JavaScript unterstützt oder JavaScript deaktiviert ist, "
|
||||||
"ist, stelle bitte sicher, den <em>Aktualisieren</em> Button zu klicken bevor "
|
"stelle bitte sicher, den <em>Aktualisieren</em> Button zu klicken bevor du "
|
||||||
"du deine Bestellung durchführst. Falls du dies vergisst, könnte dir "
|
"deine Bestellung durchführst. Falls du dies vergisst, könnte dir ansonsten "
|
||||||
"ansonsten mehr in Rechnung gestellt werden, als hier angezeigt wird."
|
"mehr in Rechnung gestellt werden, als hier angezeigt wird."
|
||||||
|
|
||||||
#: woocommerce/checkout/payment.php:43
|
#: woocommerce/checkout/payment.php:43
|
||||||
msgid "Update totals"
|
msgid "Update totals"
|
||||||
|
@ -422,11 +422,11 @@ msgstr ""
|
||||||
"Eine Kombination aus Automattic´s _s theme und Bootstrap 4. Konzipiert als "
|
"Eine Kombination aus Automattic´s _s theme und Bootstrap 4. Konzipiert als "
|
||||||
"solider Ausgangspunkt für dein nächstes Theme-Projekt und WordPress Website. "
|
"solider Ausgangspunkt für dein nächstes Theme-Projekt und WordPress Website. "
|
||||||
"Nutze es als eigenes Starter-Theme oder als Parent-Theme. Beides steht dir "
|
"Nutze es als eigenes Starter-Theme oder als Parent-Theme. Beides steht dir "
|
||||||
"frei. Beinhaltet Font Awesome Unterstützung, integrierten Widget-Slider und "
|
"frei. Beinhaltet FontAwesome Unterstützung, integrierten Widget-Slider und "
|
||||||
"vieles mehr, was du für die Erstellung einer einfachen Website benötigst. "
|
"vieles mehr, was du für die Erstellung einer einfachen Website benötigst. "
|
||||||
"WICHTIG: Alle Abhängigkeiten der Entwicklertools sind in diesem Paket nicht "
|
"WICHTIG: Alle Abhängigkeiten der Entwicklertools sind in diesem Paket nicht "
|
||||||
"enthalten! Lade die ZIP-Datei herunter, entpacke sie und führe \"npm install"
|
"enthalten! Lade die ZIP-Datei herunter, entpacke sie und führe \"npm install"
|
||||||
"\" sowie \"gulp copy-assets\" in der Konsole im entpackten understrap-Ordner "
|
"\" sowie \"gulp copy-assets\" in der Konsole im entpackten UnderStrap-Ordner "
|
||||||
"aus."
|
"aus."
|
||||||
|
|
||||||
#: search.php:29
|
#: search.php:29
|
||||||
|
@ -789,7 +789,7 @@ msgstr "http://understrap.com"
|
||||||
|
|
||||||
#. Author of the theme
|
#. Author of the theme
|
||||||
msgid "Holger Koenemann"
|
msgid "Holger Koenemann"
|
||||||
msgstr "Holger Könemann"
|
msgstr "Holger Koenemann"
|
||||||
|
|
||||||
#. Author URI of the theme
|
#. Author URI of the theme
|
||||||
msgid "http://www.holgerkoenemann.de"
|
msgid "http://www.holgerkoenemann.de"
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1,797 @@
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: understrap\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/_s\n"
|
||||||
|
"POT-Creation-Date: 2017-01-06 07:53+0000\n"
|
||||||
|
"POT-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
|
||||||
|
"PO-Revision-Date: 2018-05-16 15:44+0200\n"
|
||||||
|
"Language-Team: German\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Poedit-SourceCharset: UTF-8\n"
|
||||||
|
"X-Generator: Poedit 2.0.7\n"
|
||||||
|
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
|
||||||
|
"__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
|
||||||
|
"_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
|
||||||
|
"esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;"
|
||||||
|
"esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
|
||||||
|
"X-Poedit-Basepath: ..\n"
|
||||||
|
"Last-Translator: Thomas A. Reinert | TAR MediaDesign <thomas@tarcgn.de>\n"
|
||||||
|
"Language: de_DE\n"
|
||||||
|
"X-Poedit-SearchPath-0: footer.php\n"
|
||||||
|
"X-Poedit-SearchPath-1: header.php\n"
|
||||||
|
"X-Poedit-SearchPath-2: index.php\n"
|
||||||
|
"X-Poedit-SearchPath-3: statichero.php\n"
|
||||||
|
"X-Poedit-SearchPath-4: 404.php\n"
|
||||||
|
"X-Poedit-SearchPath-5: archive.php\n"
|
||||||
|
"X-Poedit-SearchPath-6: search.php\n"
|
||||||
|
"X-Poedit-SearchPath-7: sticky.php\n"
|
||||||
|
"X-Poedit-SearchPath-8: single.php\n"
|
||||||
|
"X-Poedit-SearchPath-9: sidebar.php\n"
|
||||||
|
"X-Poedit-SearchPath-10: comment-form.php\n"
|
||||||
|
"X-Poedit-SearchPath-11: comments.php\n"
|
||||||
|
"X-Poedit-SearchPath-12: content-none.php\n"
|
||||||
|
"X-Poedit-SearchPath-13: content-page.php\n"
|
||||||
|
"X-Poedit-SearchPath-14: content-search.php\n"
|
||||||
|
"X-Poedit-SearchPath-15: content-single.php\n"
|
||||||
|
"X-Poedit-SearchPath-16: content.php\n"
|
||||||
|
"X-Poedit-SearchPath-17: hero.php\n"
|
||||||
|
"X-Poedit-SearchPath-18: page.php\n"
|
||||||
|
"X-Poedit-SearchPath-19: functions.php\n"
|
||||||
|
"X-Poedit-SearchPath-20: page-templates\n"
|
||||||
|
"X-Poedit-SearchPath-21: inc\n"
|
||||||
|
|
||||||
|
#: inc/customizer.php:99
|
||||||
|
msgid "Choose between Bootstrap's container and container-fluid"
|
||||||
|
msgstr "Wählen Sie zwischen dem Bootstrap container und container-fluid aus"
|
||||||
|
|
||||||
|
#: inc/customizer.php:151
|
||||||
|
msgid "Choose how to display latest posts"
|
||||||
|
msgstr "Wählen Sie aus wie die letzten Beiträge angezeigt werden sollen"
|
||||||
|
|
||||||
|
#: inc/customizer.php:156
|
||||||
|
msgid "Default"
|
||||||
|
msgstr "Standard"
|
||||||
|
|
||||||
|
#: inc/customizer.php:157
|
||||||
|
msgid "Masonry"
|
||||||
|
msgstr "Masonry (Kachel-Layout)"
|
||||||
|
|
||||||
|
#: inc/customizer.php:158
|
||||||
|
msgid "Grid"
|
||||||
|
msgstr "Grid (Raster-Layout)"
|
||||||
|
|
||||||
|
#: inc/customizer.php:187
|
||||||
|
msgid "Grid Post Columns"
|
||||||
|
msgstr "Raster-Spalten"
|
||||||
|
|
||||||
|
#: inc/customizer.php:188
|
||||||
|
msgid "Choose how many columns to use"
|
||||||
|
msgstr "Wählen Sie aus wie viele Spalten benutzt werden sollen"
|
||||||
|
|
||||||
|
#: woocommerce/cart/proceed-to-checkout-button.php:27
|
||||||
|
msgid "Proceed to Checkout"
|
||||||
|
msgstr "Weiter zum Bezahlen"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:49 woocommerce/cart/cart.php:60
|
||||||
|
msgid "Remove this item"
|
||||||
|
msgstr "Entfernen Sie diesen Artikel"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:72
|
||||||
|
msgid "No products in the cart."
|
||||||
|
msgstr "Keine Produkte im Einkaufswagen."
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:80
|
||||||
|
msgid "Subtotal"
|
||||||
|
msgstr "Zwischensumme"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:85
|
||||||
|
msgid "View Cart"
|
||||||
|
msgstr "Einkaufswagen ansehen"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:86
|
||||||
|
msgid "Checkout"
|
||||||
|
msgstr "Bezahlen"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart-empty.php:28
|
||||||
|
msgid "Your cart is currently empty."
|
||||||
|
msgstr "Der Einkaufswagen ist leer."
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart-empty.php:36
|
||||||
|
msgid "Return To Shop"
|
||||||
|
msgstr "Zurück zum Shop"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:36 woocommerce/cart/cart.php:79
|
||||||
|
#: woocommerce/checkout/form-pay.php:29
|
||||||
|
msgid "Product"
|
||||||
|
msgstr "Produkt"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:37 woocommerce/cart/cart.php:97
|
||||||
|
msgid "Price"
|
||||||
|
msgstr "Preis"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:38 woocommerce/cart/cart.php:103
|
||||||
|
msgid "Quantity"
|
||||||
|
msgstr "Menge"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:39 woocommerce/cart/cart.php:120
|
||||||
|
#: woocommerce/myaccount/my-orders.php:16
|
||||||
|
msgid "Total"
|
||||||
|
msgstr "Gesamt"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:92
|
||||||
|
msgid "Available on backorder"
|
||||||
|
msgstr "Wird nachbestellt"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:138
|
||||||
|
msgid "Coupon:"
|
||||||
|
msgstr "Coupon:"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:36
|
||||||
|
msgid "Coupon code"
|
||||||
|
msgstr "Coupon-Code"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:40
|
||||||
|
msgid "Apply Coupon"
|
||||||
|
msgstr "Coupon anwenden"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:144
|
||||||
|
msgid "Update Cart"
|
||||||
|
msgstr "Einkaufswagen aktualisieren"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/payment.php:35
|
||||||
|
msgid ""
|
||||||
|
"Sorry, it seems that there are no available payment methods for your state. "
|
||||||
|
"Please contact us if you require assistance or wish to make alternate "
|
||||||
|
"arrangements."
|
||||||
|
msgstr ""
|
||||||
|
"Entschuldigen Sie, aber es sieht so aus als ob es keine verfügbaren "
|
||||||
|
"Zahlungsmethoden für Ihr Land gibt. Bitte kontaktieren Sie uns, falls Sie "
|
||||||
|
"Hilfe benötigen oder ein alternatives Arrangement mit uns treffen möchten."
|
||||||
|
|
||||||
|
#: woocommerce/checkout/payment.php:35
|
||||||
|
msgid "Please fill in your details above to see available payment methods."
|
||||||
|
msgstr ""
|
||||||
|
"Bitte füllen Sie die Details aus, um verfügbare Zahlungsmethoden einsehen zu "
|
||||||
|
"können."
|
||||||
|
|
||||||
|
#: woocommerce/checkout/payment.php:42
|
||||||
|
msgid ""
|
||||||
|
"Since your browser does not support JavaScript, or it is disabled, please "
|
||||||
|
"ensure you click the <em>Update Totals</em> button before placing your "
|
||||||
|
"order. You may be charged more than the amount stated above if you fail to "
|
||||||
|
"do so."
|
||||||
|
msgstr ""
|
||||||
|
"Da Ihr Browser kein JavaScript unterstützt oder JavaScript deaktiviert ist, "
|
||||||
|
"stellen Sie bitte sicher, den <em>Aktualisieren</em> Button zu klicken bevor "
|
||||||
|
"Sie Ihre Bestellung durchführen. Falls Sie dies vergessen, könnte Ihnen "
|
||||||
|
"ansonsten mehr in Rechnung gestellt werden, als hier angezeigt wird."
|
||||||
|
|
||||||
|
#: woocommerce/checkout/payment.php:43
|
||||||
|
msgid "Update totals"
|
||||||
|
msgstr "Gesamtbetrag aktualisieren"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-pay.php:30
|
||||||
|
msgid "Qty"
|
||||||
|
msgstr "Menge"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-pay.php:31
|
||||||
|
msgid "Totals"
|
||||||
|
msgstr "Gesamt"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-pay.php:79
|
||||||
|
msgid ""
|
||||||
|
"Sorry, it seems that there are no available payment methods for your "
|
||||||
|
"location. Please contact us if you require assistance or wish to make "
|
||||||
|
"alternate arrangements."
|
||||||
|
msgstr ""
|
||||||
|
"Entschuldigen Sie, aber es sieht so aus als ob es keine verfügbaren "
|
||||||
|
"Zahlungsmethoden für Ihren Standort gibt. Bitte kontaktieren Sie uns, falls "
|
||||||
|
"Sie Hilfe benötigen oder ein alternatives Arrangement mit uns treffen "
|
||||||
|
"möchten."
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-coupon.php:28
|
||||||
|
msgid "Have a coupon?"
|
||||||
|
msgstr "Haben Sie einen Coupon?"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-coupon.php:28
|
||||||
|
msgid "Click here to enter your code"
|
||||||
|
msgstr "Klicken Sie hier um Ihren Code einzugeben"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:35
|
||||||
|
#: woocommerce/myaccount/form-lost-password.php:30
|
||||||
|
msgid "Username or email"
|
||||||
|
msgstr "Benutzername oder E-Mail"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:39 woocommerce/myaccount/form-login.php:48
|
||||||
|
#: woocommerce/myaccount/form-login.php:98
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Passwort"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:48 woocommerce/myaccount/form-login.php:37
|
||||||
|
#: woocommerce/myaccount/form-login.php:56
|
||||||
|
msgid "Login"
|
||||||
|
msgstr "Benutzername"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:51 woocommerce/myaccount/form-login.php:58
|
||||||
|
msgid "Remember me"
|
||||||
|
msgstr "Login speichern"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:55 woocommerce/myaccount/form-login.php:62
|
||||||
|
msgid "Lost your password?"
|
||||||
|
msgstr "Passwort vergessen?"
|
||||||
|
|
||||||
|
#: woocommerce/global/quantity-input.php:24
|
||||||
|
msgctxt "Product quantity input tooltip"
|
||||||
|
msgid "Qty"
|
||||||
|
msgstr "Menge"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-lost-password.php:27
|
||||||
|
msgid ""
|
||||||
|
"Lost your password? Please enter your username or email address. You will "
|
||||||
|
"receive a link to create a new password via email."
|
||||||
|
msgstr ""
|
||||||
|
"Passwort vergessen? Bitte geben Sie Ihren Benutzernamen oder E-Mail Adresse "
|
||||||
|
"ein. Sie werden dann per E-Mail einen Link erhalten mit dem Sie ein neues "
|
||||||
|
"Passwort vergeben können."
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-lost-password.php:40
|
||||||
|
msgid "Reset Password"
|
||||||
|
msgstr "Passwort zurücksetzen"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:44
|
||||||
|
msgid "Username or email address"
|
||||||
|
msgstr "Benutzername oder E-Mail Adresse"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:75
|
||||||
|
#: woocommerce/myaccount/form-login.php:112
|
||||||
|
msgid "Register"
|
||||||
|
msgstr "Registrieren"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:84
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Benutzername"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:91
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:40
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr "E-Mail Adresse"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:105
|
||||||
|
msgid "Anti-spam"
|
||||||
|
msgstr "Spam Schutz"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:30
|
||||||
|
msgid "First name"
|
||||||
|
msgstr "Vorname"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:34
|
||||||
|
msgid "Last name"
|
||||||
|
msgstr "Nachname"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:45
|
||||||
|
msgid "Password Change"
|
||||||
|
msgstr "Passwort ändern"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:48
|
||||||
|
msgid "Current Password (leave blank to leave unchanged)"
|
||||||
|
msgstr "Aktuelles Passwort (Leer lassen wenn es nicht geändert werden soll)"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:52
|
||||||
|
msgid "New Password (leave blank to leave unchanged)"
|
||||||
|
msgstr "Neues Passwort (Leer lassen wenn es nicht geändert werden soll)"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:56
|
||||||
|
msgid "Confirm New Password"
|
||||||
|
msgstr "Neues Passwort bestätigen"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:66
|
||||||
|
msgid "Save changes"
|
||||||
|
msgstr "Änderungen speichern"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:13
|
||||||
|
msgid "Order"
|
||||||
|
msgstr "Bestellung"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:14
|
||||||
|
msgid "Date"
|
||||||
|
msgstr "Datum"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:15
|
||||||
|
msgid "Status"
|
||||||
|
msgstr "Status"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:30
|
||||||
|
msgid "Recent Orders"
|
||||||
|
msgstr "Kürzlich bestellt"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:55 woocommerce/myaccount/orders.php:51
|
||||||
|
msgctxt "hash before order number"
|
||||||
|
msgid "#"
|
||||||
|
msgstr "#"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:65 woocommerce/myaccount/orders.php:61
|
||||||
|
#, php-format
|
||||||
|
msgid "%s for %s item"
|
||||||
|
msgid_plural "%s for %s items"
|
||||||
|
msgstr[0] "%s für %s Artikel"
|
||||||
|
msgstr[1] "%s für %s Artikel"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:72 woocommerce/myaccount/orders.php:68
|
||||||
|
msgid "Pay"
|
||||||
|
msgstr "Bezahlen"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:76 woocommerce/myaccount/orders.php:72
|
||||||
|
msgid "View"
|
||||||
|
msgstr "Ansehen"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:80 woocommerce/myaccount/orders.php:76
|
||||||
|
msgid "Cancel"
|
||||||
|
msgstr "Abbrechen"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/orders.php:107
|
||||||
|
msgid "Previous"
|
||||||
|
msgstr "Vorherige"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/orders.php:111
|
||||||
|
msgid "Next"
|
||||||
|
msgstr "Nächste"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/orders.php:119 woocommerce/myaccount/downloads.php:98
|
||||||
|
msgid "Go Shop"
|
||||||
|
msgstr "In den Shop"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/orders.php:121
|
||||||
|
msgid "No order has been made yet."
|
||||||
|
msgstr "Es wurde bisher keine Bestellung vorgenommen."
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-address.php:23
|
||||||
|
msgid "Billing Address"
|
||||||
|
msgstr "Rechnungsadresse"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-address.php:23
|
||||||
|
msgid "Shipping Address"
|
||||||
|
msgstr "Lieferadresse"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-address.php:46
|
||||||
|
msgid "Save Address"
|
||||||
|
msgstr "Adresse speichern"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-reset-password.php:27
|
||||||
|
msgid "Enter a new password below."
|
||||||
|
msgstr "Geben Sie unten ein neues Passwort ein."
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-reset-password.php:30
|
||||||
|
msgid "New password"
|
||||||
|
msgstr "Neues Passwort"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-reset-password.php:34
|
||||||
|
msgid "Re-enter new password"
|
||||||
|
msgstr "Wiederholen Sie das Passwort"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-reset-password.php:47
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Speichern"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/downloads.php:59
|
||||||
|
msgid "∞"
|
||||||
|
msgstr "∞"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/downloads.php:67
|
||||||
|
msgid "Never"
|
||||||
|
msgstr "Niemals"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/downloads.php:75
|
||||||
|
msgid "Download"
|
||||||
|
msgstr "Download"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/downloads.php:100
|
||||||
|
msgid "No downloads available yet."
|
||||||
|
msgstr "Noch keine Downloads verfügbar."
|
||||||
|
|
||||||
|
#: woocommerce/single-product/review-rating.php:28
|
||||||
|
#, php-format
|
||||||
|
msgid "Rated %d out of 5"
|
||||||
|
msgstr "Bewertet mit %d von 5"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/review-rating.php:29
|
||||||
|
msgid "out of 5"
|
||||||
|
msgstr "von 5"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/rating.php:36
|
||||||
|
#, php-format
|
||||||
|
msgid "Rated %s out of 5"
|
||||||
|
msgstr "Bewertet mit %s von 5"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/rating.php:38
|
||||||
|
#, php-format
|
||||||
|
msgid "out of %s5%s"
|
||||||
|
msgstr "von %s5%s"
|
||||||
|
|
||||||
|
#. Description of the theme
|
||||||
|
msgid ""
|
||||||
|
"Combination of Automattic´s _s theme and Bootstrap 4. Made as a solid "
|
||||||
|
"starting point for your next theme project and WordPress website. Use it as "
|
||||||
|
"starter theme or as a parent theme. It is up to you. Including Font Awesome "
|
||||||
|
"support, built-in widget slider and much more you need for basic websites. "
|
||||||
|
"IMPORTANT: All developer dependencies are not bundled with this install "
|
||||||
|
"file. Just download the .zip, extract it and run \"npm install\" and \"gulp "
|
||||||
|
"copy-assets\" inside the extracted /understrap folder."
|
||||||
|
msgstr ""
|
||||||
|
"Eine Kombination aus Automattic´s _s theme und Bootstrap 4. Konzipiert als "
|
||||||
|
"solider Ausgangspunkt für Ihr nächstes Theme-Projekt und WordPress Website. "
|
||||||
|
"Nutzen Sie es als eigenes Starter-Theme oder als Parent-Theme. Beides steht "
|
||||||
|
"Ihnen frei. Beinhaltet FontAwesome Unterstützung, integrierten Widget-Slider "
|
||||||
|
"und vieles mehr, was du für die Erstellung einer einfachen Website "
|
||||||
|
"benötigst. WICHTIG: Alle Abhängigkeiten der Entwicklertools sind in diesem "
|
||||||
|
"Paket nicht enthalten! Laden Sie die ZIP-Datei herunter, entpacken Sie sie "
|
||||||
|
"und führen Sie \"npm install\" sowie \"gulp copy-assets\" in der Konsole im "
|
||||||
|
"entpackten UnderStrap-Ordner aus."
|
||||||
|
|
||||||
|
#: search.php:29
|
||||||
|
#, php-format
|
||||||
|
msgid "Search Results for: %s"
|
||||||
|
msgstr "Suchergebnisse für: %s"
|
||||||
|
|
||||||
|
#: header.php:34
|
||||||
|
msgid "Skip to content"
|
||||||
|
msgstr "Zum Inhalt springen"
|
||||||
|
|
||||||
|
#: 404.php:24
|
||||||
|
msgid "Oops! That page can’t be found."
|
||||||
|
msgstr "Oooops! Diese Seite konnte nicht gefunden werden."
|
||||||
|
|
||||||
|
#: 404.php:31
|
||||||
|
msgid ""
|
||||||
|
"It looks like nothing was found at this location. Maybe try one of the links "
|
||||||
|
"below or a search?"
|
||||||
|
msgstr ""
|
||||||
|
"Es scheint dass hier nichts gefunden wurde. Vielleicht sollten Sie einen der "
|
||||||
|
"Links unten oder die Suche verwenden?"
|
||||||
|
|
||||||
|
#: 404.php:42
|
||||||
|
msgid "Most Used Categories"
|
||||||
|
msgstr "Meistgenutzte Kategorien"
|
||||||
|
|
||||||
|
#. translators: %1$s: smiley
|
||||||
|
#: 404.php:62
|
||||||
|
#, php-format
|
||||||
|
msgid "Try looking in the monthly archives. %1$s"
|
||||||
|
msgstr "Versuchen Sie es einmal im monatlichen Archiv. %1$s"
|
||||||
|
|
||||||
|
#: author.php:34
|
||||||
|
msgid "About:"
|
||||||
|
msgstr "Über:"
|
||||||
|
|
||||||
|
#: author.php:42 inc/custom-comments.php:30
|
||||||
|
msgid "Website"
|
||||||
|
msgstr "Webseite"
|
||||||
|
|
||||||
|
#: author.php:49
|
||||||
|
msgid "Profile"
|
||||||
|
msgstr "Profil"
|
||||||
|
|
||||||
|
#: author.php:54
|
||||||
|
msgid "Posts by"
|
||||||
|
msgstr "Artikel von"
|
||||||
|
|
||||||
|
#: author.php:68
|
||||||
|
msgid "in"
|
||||||
|
msgstr "in"
|
||||||
|
|
||||||
|
#: comments.php:28
|
||||||
|
#, php-format
|
||||||
|
msgctxt "comments title"
|
||||||
|
msgid "One thought on “%2$s”"
|
||||||
|
msgid_plural "%1$s thoughts on “%2$s”"
|
||||||
|
msgstr[0] "Ein Gedanke zu “%2$s”"
|
||||||
|
msgstr[1] "%1$s Gedanken zu “%2$s”"
|
||||||
|
|
||||||
|
#: comments.php:36 comments.php:59
|
||||||
|
msgid "Comment navigation"
|
||||||
|
msgstr "Kommentarnavigation"
|
||||||
|
|
||||||
|
#: comments.php:38 comments.php:61
|
||||||
|
msgid "← Older Comments"
|
||||||
|
msgstr "← Ältere Kommentare"
|
||||||
|
|
||||||
|
#: comments.php:42 comments.php:65
|
||||||
|
msgid "Newer Comments →"
|
||||||
|
msgstr "Neuere Kommentare →"
|
||||||
|
|
||||||
|
#: comments.php:78
|
||||||
|
msgid "Comments are closed."
|
||||||
|
msgstr "Kommentare sind geschlossen."
|
||||||
|
|
||||||
|
#: footer.php:27
|
||||||
|
msgid "http://wordpress.org/"
|
||||||
|
msgstr "http://wordpress.org/"
|
||||||
|
|
||||||
|
#: footer.php:28
|
||||||
|
#, php-format
|
||||||
|
msgid "Proudly powered by %s"
|
||||||
|
msgstr "Stolz angetrieben durch %s"
|
||||||
|
|
||||||
|
#: footer.php:31
|
||||||
|
#, php-format
|
||||||
|
msgid "Theme: %1$s by %2$s."
|
||||||
|
msgstr "Theme: %1$s von %2$s."
|
||||||
|
|
||||||
|
#: footer.php:33
|
||||||
|
#, php-format
|
||||||
|
msgid "Version: %1$s"
|
||||||
|
msgstr "Version: %1$s"
|
||||||
|
|
||||||
|
#: searchform.php:10 searchform.php:16
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Suche"
|
||||||
|
|
||||||
|
#: searchform.php:13
|
||||||
|
msgid "Search …"
|
||||||
|
msgstr "Suche …"
|
||||||
|
|
||||||
|
#: loop-templates/content-card.php:43 loop-templates/content-page.php:25
|
||||||
|
#: loop-templates/content.php:37 loop-templates/content-single.php:31
|
||||||
|
#: loop-templates/content-verticalpage.php:28
|
||||||
|
msgid "Pages:"
|
||||||
|
msgstr "Seiten:"
|
||||||
|
|
||||||
|
#: loop-templates/content-page.php:34
|
||||||
|
#: loop-templates/content-verticalpage.php:37
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr "Editieren"
|
||||||
|
|
||||||
|
#: loop-templates/content-none.php:15
|
||||||
|
msgid "Nothing Found"
|
||||||
|
msgstr "Nichts gefunden"
|
||||||
|
|
||||||
|
#: loop-templates/content-none.php:23
|
||||||
|
#, php-format
|
||||||
|
msgid ""
|
||||||
|
"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
|
||||||
|
msgstr ""
|
||||||
|
"Bereit Ihren ersten Artikel zu veröffentlichen? <a href=\"%1$s\">Dann fangen "
|
||||||
|
"Sie hier an</a>."
|
||||||
|
|
||||||
|
#: loop-templates/content-none.php:28
|
||||||
|
msgid ""
|
||||||
|
"Sorry, but nothing matched your search terms. Please try again with some "
|
||||||
|
"different keywords."
|
||||||
|
msgstr ""
|
||||||
|
"Entschuldigung, aber leider wurde nichts zu Ihrem Suchbegriff gefunden. "
|
||||||
|
"Versuchen Sie es erneut mit einem anderen Suchbegriff."
|
||||||
|
|
||||||
|
#: loop-templates/content-none.php:34
|
||||||
|
msgid ""
|
||||||
|
"It seems we can’t find what you’re looking for. Perhaps "
|
||||||
|
"searching can help."
|
||||||
|
msgstr ""
|
||||||
|
"Leider konnten wir nicht das finden wonach Sie gesucht haben. Vielleicht "
|
||||||
|
"kann Ihnen die Suche helfen."
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Blank Page Template"
|
||||||
|
msgstr "Komplett leere Seiten-Vorlage"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Left and Right Sidebar Layout"
|
||||||
|
msgstr "Linke und rechte Seitenspalte"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Empty Page Template"
|
||||||
|
msgstr "Leere Seiten-Vorlage"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Full Width Page"
|
||||||
|
msgstr "Seite mit voller Breite"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Left Sidebar Layout"
|
||||||
|
msgstr "Layout mit linker Seitenleiste"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Vertical One Page"
|
||||||
|
msgstr "Vertikales \"One Pager\" Layout"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:18
|
||||||
|
#, php-format
|
||||||
|
msgid " Edited %4$s"
|
||||||
|
msgstr " Bearbeitet %4$s"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:29
|
||||||
|
#, php-format
|
||||||
|
msgctxt "post date"
|
||||||
|
msgid "Posted on %s"
|
||||||
|
msgstr "Veröffentlicht am %s"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:34
|
||||||
|
#, php-format
|
||||||
|
msgctxt "post author"
|
||||||
|
msgid "by %s"
|
||||||
|
msgstr "von %s"
|
||||||
|
|
||||||
|
#. translators: used between list items, there is a space after the comma
|
||||||
|
#: inc/template-tags.php:51 inc/template-tags.php:57
|
||||||
|
msgid ", "
|
||||||
|
msgstr ", "
|
||||||
|
|
||||||
|
#: inc/template-tags.php:53
|
||||||
|
#, php-format
|
||||||
|
msgid "Posted in %1$s"
|
||||||
|
msgstr "Veröffentlicht in %1$s"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:59
|
||||||
|
#, php-format
|
||||||
|
msgid "Tagged %1$s"
|
||||||
|
msgstr "Verschlagwortet mit %1$s"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:65
|
||||||
|
msgid "Leave a comment"
|
||||||
|
msgstr "Kommentar hinterlassen"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:65
|
||||||
|
msgid "1 Comment"
|
||||||
|
msgstr "1 Kommentar"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:65
|
||||||
|
msgid "% Comments"
|
||||||
|
msgstr "% Kommentare"
|
||||||
|
|
||||||
|
#. translators: %s: Name of current post
|
||||||
|
#: inc/template-tags.php:72
|
||||||
|
#, php-format
|
||||||
|
msgid "Edit %s"
|
||||||
|
msgstr "Editieren Sie %s"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:143
|
||||||
|
msgid "Post navigation"
|
||||||
|
msgstr "Beitrags-Navigation"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:148
|
||||||
|
msgctxt "Previous post link"
|
||||||
|
msgid "<i class=\"fa fa-angle-left\"></i> %title"
|
||||||
|
msgstr "<i class=\"fa fa-angle-left\"></i> %title"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:151
|
||||||
|
msgctxt "Next post link"
|
||||||
|
msgid "%title <i class=\"fa fa-angle-right\"></i>"
|
||||||
|
msgstr "%title <i class=\"fa fa-angle-right\"></i>"
|
||||||
|
|
||||||
|
#: inc/setup.php:51
|
||||||
|
msgid "Primary Menu"
|
||||||
|
msgstr "Hauptmenü"
|
||||||
|
|
||||||
|
#: inc/setup.php:122
|
||||||
|
msgid "Read More..."
|
||||||
|
msgstr "Weiterlesen..."
|
||||||
|
|
||||||
|
#: inc/widgets.php:14
|
||||||
|
msgid "Right Sidebar"
|
||||||
|
msgstr "Rechte Seitenleiste"
|
||||||
|
|
||||||
|
#: inc/widgets.php:24
|
||||||
|
msgid "Left Sidebar"
|
||||||
|
msgstr "Linke Seitenleiste"
|
||||||
|
|
||||||
|
#: inc/widgets.php:34
|
||||||
|
msgid "Hero Slider"
|
||||||
|
msgstr "\"Bühnen\"-Slider"
|
||||||
|
|
||||||
|
#: inc/widgets.php:44
|
||||||
|
msgid "Hero Static"
|
||||||
|
msgstr "Statische \"Bühne\""
|
||||||
|
|
||||||
|
#: inc/widgets.php:54
|
||||||
|
msgid "Footer Full"
|
||||||
|
msgstr "Fußbereich"
|
||||||
|
|
||||||
|
#: inc/custom-comments.php:24
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Name"
|
||||||
|
|
||||||
|
#: inc/custom-comments.php:27
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "E-Mail"
|
||||||
|
|
||||||
|
#: inc/custom-comments.php:49
|
||||||
|
msgctxt "noun"
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "Kommentare"
|
||||||
|
|
||||||
|
#: inc/customizer.php:36
|
||||||
|
msgid "Slider Settings"
|
||||||
|
msgstr "Slider-Einstellungen"
|
||||||
|
|
||||||
|
#: inc/customizer.php:45
|
||||||
|
msgid "Number of slides displaying at once"
|
||||||
|
msgstr "Anzahl der Slides die auf einmal angezeigt werden"
|
||||||
|
|
||||||
|
#: inc/customizer.php:57
|
||||||
|
msgid "Slider Time (in ms)"
|
||||||
|
msgstr "Zeit von Slide zu Slide (in ms)"
|
||||||
|
|
||||||
|
#: inc/customizer.php:69
|
||||||
|
msgid "Loop Slider Content"
|
||||||
|
msgstr "Soll der Slider von vorne anfangen?"
|
||||||
|
|
||||||
|
#: inc/customizer.php:81
|
||||||
|
msgid "Theme Layout Settings"
|
||||||
|
msgstr "Theme Layout Einstellungen"
|
||||||
|
|
||||||
|
#: inc/customizer.php:83
|
||||||
|
msgid "Container width and sidebar defaults"
|
||||||
|
msgstr "Container-Breite und Seitenleisten-Einstellungen"
|
||||||
|
|
||||||
|
#: inc/customizer.php:98
|
||||||
|
msgid "Container Width"
|
||||||
|
msgstr "Container-Breite"
|
||||||
|
|
||||||
|
#: inc/customizer.php:104
|
||||||
|
msgid "Fixed width container"
|
||||||
|
msgstr "Container mit fester Breite"
|
||||||
|
|
||||||
|
#: inc/customizer.php:105
|
||||||
|
msgid "Full width container"
|
||||||
|
msgstr "Container mit voller Seitenbreite"
|
||||||
|
|
||||||
|
#: inc/customizer.php:122
|
||||||
|
msgid "Sidebar Positioning"
|
||||||
|
msgstr "Seitenleisten-Positionierung"
|
||||||
|
|
||||||
|
#: inc/customizer.php:123
|
||||||
|
msgid "Set sidebar's position. Can either be: right, left, both or none"
|
||||||
|
msgstr ""
|
||||||
|
"Stelle die Standard-Position der Seitenleiste ein. Zur Auswahl stehen: "
|
||||||
|
"Rechts, links, beide oder keine."
|
||||||
|
|
||||||
|
#: inc/customizer.php:129
|
||||||
|
msgid "Right sidebar"
|
||||||
|
msgstr "Rechte Seitenleiste"
|
||||||
|
|
||||||
|
#: inc/customizer.php:130
|
||||||
|
msgid "Left sidebar"
|
||||||
|
msgstr "Linke Seitenleiste"
|
||||||
|
|
||||||
|
#: inc/customizer.php:131
|
||||||
|
msgid "Left & Right sidebars"
|
||||||
|
msgstr "Linke und rechte Seitenleiste"
|
||||||
|
|
||||||
|
#: inc/customizer.php:132
|
||||||
|
msgid "No sidebar"
|
||||||
|
msgstr "Keine Seitenleiste"
|
||||||
|
|
||||||
|
#: inc/customizer.php:150
|
||||||
|
msgid "Posts Index Style"
|
||||||
|
msgstr "Layout der Beiträge auf der Startseite"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/rating.php:39
|
||||||
|
#, php-format
|
||||||
|
msgid "based on %s customer rating"
|
||||||
|
msgid_plural "based on %s customer ratings"
|
||||||
|
msgstr[0] "basierend auf %s Kundenbewertungen"
|
||||||
|
msgstr[1] "basierend auf %s Kundenbewertungen"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/rating.php:42
|
||||||
|
#, php-format
|
||||||
|
msgid "%s customer review"
|
||||||
|
msgid_plural "%s customer reviews"
|
||||||
|
msgstr[0] "%s Kundenbewertung"
|
||||||
|
msgstr[1] "%s Kunden Bewertungen"
|
||||||
|
|
||||||
|
#. Name of the theme
|
||||||
|
msgid "UnderStrap"
|
||||||
|
msgstr "UnderStrap"
|
||||||
|
|
||||||
|
#. Theme URI of the theme
|
||||||
|
msgid "http://understrap.com"
|
||||||
|
msgstr "http://understrap.com"
|
||||||
|
|
||||||
|
#. Author of the theme
|
||||||
|
msgid "Holger Koenemann"
|
||||||
|
msgstr "Holger Koenemann"
|
||||||
|
|
||||||
|
#. Author URI of the theme
|
||||||
|
msgid "http://www.holgerkoenemann.de"
|
||||||
|
msgstr "http://www.holgerkoenemann.de"
|
Binary file not shown.
|
@ -0,0 +1,784 @@
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: understrap\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/_s\n"
|
||||||
|
"POT-Creation-Date: 2016-12-20 05:10+0000\n"
|
||||||
|
"POT-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
|
||||||
|
"PO-Revision-Date: 2018-05-22 18:29+0900\n"
|
||||||
|
"Language-Team: \n"
|
||||||
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Poedit-SourceCharset: UTF-8\n"
|
||||||
|
"X-Generator: Poedit 2.0.7\n"
|
||||||
|
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;"
|
||||||
|
"__:1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;"
|
||||||
|
"_x:1,2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;"
|
||||||
|
"esc_attr__:1;esc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;"
|
||||||
|
"esc_html_x:1,2c;comments_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
|
||||||
|
"X-Poedit-Basepath: ..\n"
|
||||||
|
"Last-Translator: \n"
|
||||||
|
"Language: ja_JP\n"
|
||||||
|
"X-Poedit-SearchPath-0: footer.php\n"
|
||||||
|
"X-Poedit-SearchPath-1: header.php\n"
|
||||||
|
"X-Poedit-SearchPath-2: index.php\n"
|
||||||
|
"X-Poedit-SearchPath-3: statichero.php\n"
|
||||||
|
"X-Poedit-SearchPath-4: 404.php\n"
|
||||||
|
"X-Poedit-SearchPath-5: archive.php\n"
|
||||||
|
"X-Poedit-SearchPath-6: search.php\n"
|
||||||
|
"X-Poedit-SearchPath-7: sticky.php\n"
|
||||||
|
"X-Poedit-SearchPath-8: single.php\n"
|
||||||
|
"X-Poedit-SearchPath-9: sidebar.php\n"
|
||||||
|
"X-Poedit-SearchPath-10: comment-form.php\n"
|
||||||
|
"X-Poedit-SearchPath-11: comments.php\n"
|
||||||
|
"X-Poedit-SearchPath-12: content-none.php\n"
|
||||||
|
"X-Poedit-SearchPath-13: content-page.php\n"
|
||||||
|
"X-Poedit-SearchPath-14: content-search.php\n"
|
||||||
|
"X-Poedit-SearchPath-15: content-single.php\n"
|
||||||
|
"X-Poedit-SearchPath-16: content.php\n"
|
||||||
|
"X-Poedit-SearchPath-17: hero.php\n"
|
||||||
|
"X-Poedit-SearchPath-18: page.php\n"
|
||||||
|
"X-Poedit-SearchPath-19: functions.php\n"
|
||||||
|
"X-Poedit-SearchPath-20: page-templates\n"
|
||||||
|
"X-Poedit-SearchPath-21: inc\n"
|
||||||
|
|
||||||
|
#: search.php:29
|
||||||
|
#, php-format
|
||||||
|
msgid "Search Results for: %s"
|
||||||
|
msgstr "検索結果: %s"
|
||||||
|
|
||||||
|
#: header.php:34
|
||||||
|
msgid "Skip to content"
|
||||||
|
msgstr "コンテンツへスキップ"
|
||||||
|
|
||||||
|
#: 404.php:24
|
||||||
|
msgid "Oops! That page can’t be found."
|
||||||
|
msgstr "おっと!このページは見つかりませんでした。"
|
||||||
|
|
||||||
|
#: 404.php:31
|
||||||
|
msgid ""
|
||||||
|
"It looks like nothing was found at this location. Maybe try one of the links "
|
||||||
|
"below or a search?"
|
||||||
|
msgstr ""
|
||||||
|
"この場所では何も見つかりませんでした。下のリンクや検索を試してみますか?"
|
||||||
|
|
||||||
|
#: 404.php:42
|
||||||
|
msgid "Most Used Categories"
|
||||||
|
msgstr "よく使われるカテゴリー"
|
||||||
|
|
||||||
|
#. translators: %1$s: smiley
|
||||||
|
#: 404.php:62
|
||||||
|
#, php-format
|
||||||
|
msgid "Try looking in the monthly archives. %1$s"
|
||||||
|
msgstr "月々のアーカイブを見てみます。 %1$s"
|
||||||
|
|
||||||
|
#: author.php:34
|
||||||
|
msgid "About:"
|
||||||
|
msgstr "About:"
|
||||||
|
|
||||||
|
#: author.php:42 inc/custom-comments.php:30
|
||||||
|
msgid "Website"
|
||||||
|
msgstr "Webサイト"
|
||||||
|
|
||||||
|
#: author.php:49
|
||||||
|
msgid "Profile"
|
||||||
|
msgstr "プロフィール"
|
||||||
|
|
||||||
|
#: author.php:54
|
||||||
|
msgid "Posts by"
|
||||||
|
msgstr "投稿者"
|
||||||
|
|
||||||
|
#: author.php:68
|
||||||
|
msgid "in"
|
||||||
|
msgstr "に"
|
||||||
|
|
||||||
|
#: comments.php:28
|
||||||
|
#, php-format
|
||||||
|
msgctxt "comments title"
|
||||||
|
msgid "One thought on “%2$s”"
|
||||||
|
msgid_plural "%1$s thoughts on “%2$s”"
|
||||||
|
msgstr[0] "“%2$s” へ%1$s件のコメント"
|
||||||
|
|
||||||
|
#: comments.php:36 comments.php:59
|
||||||
|
msgid "Comment navigation"
|
||||||
|
msgstr "コメントナビゲーション"
|
||||||
|
|
||||||
|
#: comments.php:38 comments.php:61
|
||||||
|
msgid "← Older Comments"
|
||||||
|
msgstr "← 古いコメント"
|
||||||
|
|
||||||
|
#: comments.php:42 comments.php:65
|
||||||
|
msgid "Newer Comments →"
|
||||||
|
msgstr "新しいコメント →"
|
||||||
|
|
||||||
|
#: comments.php:78
|
||||||
|
msgid "Comments are closed."
|
||||||
|
msgstr "コメントは閉じられました。"
|
||||||
|
|
||||||
|
#: footer.php:27
|
||||||
|
msgid "http://wordpress.org/"
|
||||||
|
msgstr "http://wordpress.org/"
|
||||||
|
|
||||||
|
#: footer.php:28
|
||||||
|
#, php-format
|
||||||
|
msgid "Proudly powered by %s"
|
||||||
|
msgstr "Proudly powered by %s"
|
||||||
|
|
||||||
|
#: footer.php:31
|
||||||
|
#, php-format
|
||||||
|
msgid "Theme: %1$s by %2$s."
|
||||||
|
msgstr "テーマ: %1$s は %2$s によって作られました."
|
||||||
|
|
||||||
|
#: footer.php:33
|
||||||
|
#, php-format
|
||||||
|
msgid "Version: %1$s"
|
||||||
|
msgstr "バージョン: %1$s"
|
||||||
|
|
||||||
|
#: searchform.php:10 searchform.php:16
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "検索"
|
||||||
|
|
||||||
|
#: searchform.php:13
|
||||||
|
msgid "Search …"
|
||||||
|
msgstr "検索…"
|
||||||
|
|
||||||
|
#: loop-templates/content-card.php:43 loop-templates/content-page.php:25
|
||||||
|
#: loop-templates/content.php:37 loop-templates/content-single.php:31
|
||||||
|
#: loop-templates/content-verticalpage.php:28
|
||||||
|
msgid "Pages:"
|
||||||
|
msgstr "ページ:"
|
||||||
|
|
||||||
|
#: loop-templates/content-page.php:34
|
||||||
|
#: loop-templates/content-verticalpage.php:37
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr "編集"
|
||||||
|
|
||||||
|
#: loop-templates/content-none.php:15
|
||||||
|
msgid "Nothing Found"
|
||||||
|
msgstr "何も見つかりませんでした"
|
||||||
|
|
||||||
|
#: loop-templates/content-none.php:23
|
||||||
|
#, php-format
|
||||||
|
msgid ""
|
||||||
|
"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
|
||||||
|
msgstr ""
|
||||||
|
"あなたの最初の投稿を公開する準備ができましたか?<a href=\"%1$s\">ここから始め"
|
||||||
|
"ます</a>。"
|
||||||
|
|
||||||
|
#: loop-templates/content-none.php:28
|
||||||
|
msgid ""
|
||||||
|
"Sorry, but nothing matched your search terms. Please try again with some "
|
||||||
|
"different keywords."
|
||||||
|
msgstr ""
|
||||||
|
"申し訳ありません。あなたの検索条件に一致するものがありませんでした。異なる"
|
||||||
|
"キーワードで試してみてください。"
|
||||||
|
|
||||||
|
#: loop-templates/content-none.php:34
|
||||||
|
msgid ""
|
||||||
|
"It seems we can’t find what you’re looking for. Perhaps "
|
||||||
|
"searching can help."
|
||||||
|
msgstr "お探しのコンテンツは見つかりませんでした。検索をお試しください。"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Blank Page Template"
|
||||||
|
msgstr "空ページのテンプレート"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Left and Right Sidebar Layout"
|
||||||
|
msgstr "左右のサイドバーのレイアウト"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Empty Page Template"
|
||||||
|
msgstr "空ページのテンプレート"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Full Width Page"
|
||||||
|
msgstr "全幅ページ"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Left Sidebar Layout"
|
||||||
|
msgstr "左スライダーのレイアウト"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Vertical One Page"
|
||||||
|
msgstr "縦1ページ"
|
||||||
|
|
||||||
|
# Source text begins with a space.
|
||||||
|
#: inc/template-tags.php:18
|
||||||
|
#, php-format
|
||||||
|
msgid " Edited %4$s"
|
||||||
|
msgstr " %4$sを編集しました"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:29
|
||||||
|
#, php-format
|
||||||
|
msgctxt "post date"
|
||||||
|
msgid "Posted on %s"
|
||||||
|
msgstr "投稿日時: %s"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:34
|
||||||
|
#, php-format
|
||||||
|
msgctxt "post author"
|
||||||
|
msgid "by %s"
|
||||||
|
msgstr "投稿者: %s"
|
||||||
|
|
||||||
|
#. translators: used between list items, there is a space after the comma
|
||||||
|
#: inc/template-tags.php:51 inc/template-tags.php:57
|
||||||
|
msgid ", "
|
||||||
|
msgstr "、 "
|
||||||
|
|
||||||
|
#: inc/template-tags.php:53
|
||||||
|
#, php-format
|
||||||
|
msgid "Posted in %1$s"
|
||||||
|
msgstr "%1$s への投稿"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:59
|
||||||
|
#, php-format
|
||||||
|
msgid "Tagged %1$s"
|
||||||
|
msgstr "タグ %1$s"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:65
|
||||||
|
msgid "Leave a comment"
|
||||||
|
msgstr "コメントを残す"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:65
|
||||||
|
msgid "1 Comment"
|
||||||
|
msgstr "1件のコメント"
|
||||||
|
|
||||||
|
# Are you mistaking the formatter?
|
||||||
|
#: inc/template-tags.php:65
|
||||||
|
msgid "% Comments"
|
||||||
|
msgstr "% 件のコメント"
|
||||||
|
|
||||||
|
#. translators: %s: Name of current post
|
||||||
|
#: inc/template-tags.php:72
|
||||||
|
#, php-format
|
||||||
|
msgid "Edit %s"
|
||||||
|
msgstr "%s を編集する"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:143
|
||||||
|
msgid "Post navigation"
|
||||||
|
msgstr "投稿ナビゲーション"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:148
|
||||||
|
msgctxt "Previous post link"
|
||||||
|
msgid "<i class=\"fa fa-angle-left\"></i> %title"
|
||||||
|
msgstr "<i class=\"fa fa-angle-left\"></i> %title"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:151
|
||||||
|
msgctxt "Next post link"
|
||||||
|
msgid "%title <i class=\"fa fa-angle-right\"></i>"
|
||||||
|
msgstr "%title <i class=\"fa fa-angle-right\"></i>"
|
||||||
|
|
||||||
|
#: inc/setup.php:51
|
||||||
|
msgid "Primary Menu"
|
||||||
|
msgstr "メインメニュー"
|
||||||
|
|
||||||
|
#: inc/setup.php:122
|
||||||
|
msgid "Read More..."
|
||||||
|
msgstr "続きを読む..."
|
||||||
|
|
||||||
|
#: inc/widgets.php:14
|
||||||
|
msgid "Right Sidebar"
|
||||||
|
msgstr "右サイドバー"
|
||||||
|
|
||||||
|
#: inc/widgets.php:24
|
||||||
|
msgid "Left Sidebar"
|
||||||
|
msgstr "左サイドバー"
|
||||||
|
|
||||||
|
#: inc/widgets.php:34
|
||||||
|
msgid "Hero Slider"
|
||||||
|
msgstr "ヒーロースライダー"
|
||||||
|
|
||||||
|
#: inc/widgets.php:44
|
||||||
|
msgid "Hero Static"
|
||||||
|
msgstr "静的ヒーロー"
|
||||||
|
|
||||||
|
#: inc/widgets.php:54
|
||||||
|
msgid "Footer Full"
|
||||||
|
msgstr "全幅フッター"
|
||||||
|
|
||||||
|
#: inc/custom-comments.php:24
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "名前"
|
||||||
|
|
||||||
|
#: inc/custom-comments.php:27
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "メールアドレス"
|
||||||
|
|
||||||
|
#: inc/custom-comments.php:49
|
||||||
|
msgctxt "noun"
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "コメント"
|
||||||
|
|
||||||
|
#: inc/customizer.php:36
|
||||||
|
msgid "Slider Settings"
|
||||||
|
msgstr "スライダー設定"
|
||||||
|
|
||||||
|
#: inc/customizer.php:45
|
||||||
|
msgid "Number of slides displaying at once"
|
||||||
|
msgstr "一度に表示されるスライドの和"
|
||||||
|
|
||||||
|
#: inc/customizer.php:57
|
||||||
|
msgid "Slider Time (in ms)"
|
||||||
|
msgstr "スライダー時間(ミリ秒)"
|
||||||
|
|
||||||
|
#: inc/customizer.php:69
|
||||||
|
msgid "Loop Slider Content"
|
||||||
|
msgstr "ループするスライダーのコンテント"
|
||||||
|
|
||||||
|
#: inc/customizer.php:81
|
||||||
|
msgid "Theme Layout Settings"
|
||||||
|
msgstr "テーマのレイアウト設定"
|
||||||
|
|
||||||
|
#: inc/customizer.php:83
|
||||||
|
msgid "Container width and sidebar defaults"
|
||||||
|
msgstr "コンテナの幅とサイドバーのデフォルト"
|
||||||
|
|
||||||
|
#: inc/customizer.php:98
|
||||||
|
msgid "Container Width"
|
||||||
|
msgstr "コンテナーの幅"
|
||||||
|
|
||||||
|
#: inc/customizer.php:99
|
||||||
|
msgid "Choose between Bootstrap's container and container-fluid"
|
||||||
|
msgstr "Bootstrapの固定幅コンテナと全幅コンテナを選択してください"
|
||||||
|
|
||||||
|
#: inc/customizer.php:104
|
||||||
|
msgid "Fixed width container"
|
||||||
|
msgstr "固定幅コンテナ"
|
||||||
|
|
||||||
|
#: inc/customizer.php:105
|
||||||
|
msgid "Full width container"
|
||||||
|
msgstr "全幅コンテナ"
|
||||||
|
|
||||||
|
#: inc/customizer.php:122
|
||||||
|
msgid "Sidebar Positioning"
|
||||||
|
msgstr "サイドバーポジショニング"
|
||||||
|
|
||||||
|
#: inc/customizer.php:123
|
||||||
|
msgid "Set sidebar's position. Can either be: right, left, both or none"
|
||||||
|
msgstr "サイドバーの位置。次のいずれかを選択できます: right、left、both、none"
|
||||||
|
|
||||||
|
#: inc/customizer.php:129
|
||||||
|
msgid "Right sidebar"
|
||||||
|
msgstr "右サイドバー"
|
||||||
|
|
||||||
|
#: inc/customizer.php:130
|
||||||
|
msgid "Left sidebar"
|
||||||
|
msgstr "左サイドバー"
|
||||||
|
|
||||||
|
#: inc/customizer.php:131
|
||||||
|
msgid "Left & Right sidebars"
|
||||||
|
msgstr "左右サイドバー"
|
||||||
|
|
||||||
|
#: inc/customizer.php:132
|
||||||
|
msgid "No sidebar"
|
||||||
|
msgstr "サイドバーなし"
|
||||||
|
|
||||||
|
#: inc/customizer.php:150
|
||||||
|
msgid "Posts Index Style"
|
||||||
|
msgstr "投稿インデックススタイル"
|
||||||
|
|
||||||
|
#: inc/customizer.php:151
|
||||||
|
msgid "Choose how to display latest posts"
|
||||||
|
msgstr "最新の投稿をどのように表示するか選択する"
|
||||||
|
|
||||||
|
#: inc/customizer.php:156
|
||||||
|
msgid "Default"
|
||||||
|
msgstr "デフォルト"
|
||||||
|
|
||||||
|
#: inc/customizer.php:157
|
||||||
|
msgid "Masonry"
|
||||||
|
msgstr "Masonry"
|
||||||
|
|
||||||
|
#: inc/customizer.php:158
|
||||||
|
msgid "Grid"
|
||||||
|
msgstr "グリッド"
|
||||||
|
|
||||||
|
#: inc/customizer.php:187
|
||||||
|
msgid "Grid Post Columns"
|
||||||
|
msgstr "グリッド投稿列"
|
||||||
|
|
||||||
|
#: inc/customizer.php:188
|
||||||
|
msgid "Choose how many columns to use"
|
||||||
|
msgstr "使用する列の数を選択する"
|
||||||
|
|
||||||
|
#: woocommerce/cart/proceed-to-checkout-button.php:27
|
||||||
|
msgid "Proceed to Checkout"
|
||||||
|
msgstr "チェックアウトに進む"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:49 woocommerce/cart/cart.php:60
|
||||||
|
msgid "Remove this item"
|
||||||
|
msgstr "このアイテムを削除する"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:72
|
||||||
|
msgid "No products in the cart."
|
||||||
|
msgstr "カートに商品がありません。"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:80
|
||||||
|
msgid "Subtotal"
|
||||||
|
msgstr "小計"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:85
|
||||||
|
msgid "View Cart"
|
||||||
|
msgstr "カートを見る"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:86
|
||||||
|
msgid "Checkout"
|
||||||
|
msgstr "チェックアウト"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart-empty.php:28
|
||||||
|
msgid "Your cart is currently empty."
|
||||||
|
msgstr "カートに商品がありません。"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart-empty.php:36
|
||||||
|
msgid "Return To Shop"
|
||||||
|
msgstr "ショップへ戻る"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:36 woocommerce/cart/cart.php:79
|
||||||
|
#: woocommerce/checkout/form-pay.php:29
|
||||||
|
msgid "Product"
|
||||||
|
msgstr "商品"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:37 woocommerce/cart/cart.php:97
|
||||||
|
msgid "Price"
|
||||||
|
msgstr "価格"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:38 woocommerce/cart/cart.php:103
|
||||||
|
msgid "Quantity"
|
||||||
|
msgstr "数量"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:39 woocommerce/cart/cart.php:120
|
||||||
|
#: woocommerce/myaccount/my-orders.php:16
|
||||||
|
msgid "Total"
|
||||||
|
msgstr "合計"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:92
|
||||||
|
msgid "Available on backorder"
|
||||||
|
msgstr "バックオーダーで利用可能"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:138
|
||||||
|
msgid "Coupon:"
|
||||||
|
msgstr "クーポン:"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:36
|
||||||
|
msgid "Coupon code"
|
||||||
|
msgstr "クーポンのコード"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:40
|
||||||
|
msgid "Apply Coupon"
|
||||||
|
msgstr "クーポンを適用する"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:144
|
||||||
|
msgid "Update Cart"
|
||||||
|
msgstr "カートを更新"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/payment.php:35
|
||||||
|
msgid ""
|
||||||
|
"Sorry, it seems that there are no available payment methods for your state. "
|
||||||
|
"Please contact us if you require assistance or wish to make alternate "
|
||||||
|
"arrangements."
|
||||||
|
msgstr ""
|
||||||
|
"申し訳ありません。あなたの国に利用可能な支払い方法がないようです。援助が必要"
|
||||||
|
"な場合や代替案をご希望の場合は、私達までご連絡ください。"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/payment.php:35
|
||||||
|
msgid "Please fill in your details above to see available payment methods."
|
||||||
|
msgstr ""
|
||||||
|
"ご利用可能なお支払い方法を参照するために、ご自身の住所などを入力してください."
|
||||||
|
|
||||||
|
#: woocommerce/checkout/payment.php:42
|
||||||
|
msgid ""
|
||||||
|
"Since your browser does not support JavaScript, or it is disabled, please "
|
||||||
|
"ensure you click the <em>Update Totals</em> button before placing your "
|
||||||
|
"order. You may be charged more than the amount stated above if you fail to "
|
||||||
|
"do so."
|
||||||
|
msgstr ""
|
||||||
|
"ブラウザがJavaScriptをサポートしていないか、無効になっているため、注文する前"
|
||||||
|
"に<em>合計を更新</em>ボタンをクリックしてください。 上記の金額を超えて請求さ"
|
||||||
|
"れる場合があります。"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/payment.php:43
|
||||||
|
msgid "Update totals"
|
||||||
|
msgstr "合計を更新する"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-pay.php:30
|
||||||
|
msgid "Qty"
|
||||||
|
msgstr "数量"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-pay.php:31
|
||||||
|
msgid "Totals"
|
||||||
|
msgstr "合計"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-pay.php:79
|
||||||
|
msgid ""
|
||||||
|
"Sorry, it seems that there are no available payment methods for your "
|
||||||
|
"location. Please contact us if you require assistance or wish to make "
|
||||||
|
"alternate arrangements."
|
||||||
|
msgstr ""
|
||||||
|
"申し訳ありませんがあなたの居住地で利用可能なお支払い方法がないようです。あな"
|
||||||
|
"たがヘルプを必要とするか、または代替の手段を試したい場合は、運営管理にお問い"
|
||||||
|
"合わせください。"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-coupon.php:28
|
||||||
|
msgid "Have a coupon?"
|
||||||
|
msgstr "クーポンをお持ちですか?"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-coupon.php:28
|
||||||
|
msgid "Click here to enter your code"
|
||||||
|
msgstr "こちらをクリックしてコードを入力します"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:35
|
||||||
|
#: woocommerce/myaccount/form-lost-password.php:30
|
||||||
|
msgid "Username or email"
|
||||||
|
msgstr "ユーザー名またはメールアドレス"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:39 woocommerce/myaccount/form-login.php:48
|
||||||
|
#: woocommerce/myaccount/form-login.php:98
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "パスワード"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:48 woocommerce/myaccount/form-login.php:37
|
||||||
|
#: woocommerce/myaccount/form-login.php:56
|
||||||
|
msgid "Login"
|
||||||
|
msgstr "ログイン"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:51 woocommerce/myaccount/form-login.php:58
|
||||||
|
msgid "Remember me"
|
||||||
|
msgstr "ログイン状態を保存する"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:55 woocommerce/myaccount/form-login.php:62
|
||||||
|
msgid "Lost your password?"
|
||||||
|
msgstr "パスワードを忘れましたか?"
|
||||||
|
|
||||||
|
#: woocommerce/global/quantity-input.php:24
|
||||||
|
msgctxt "Product quantity input tooltip"
|
||||||
|
msgid "Qty"
|
||||||
|
msgstr "数量"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-lost-password.php:27
|
||||||
|
msgid ""
|
||||||
|
"Lost your password? Please enter your username or email address. You will "
|
||||||
|
"receive a link to create a new password via email."
|
||||||
|
msgstr ""
|
||||||
|
"パスワードを忘れましたか?あなたのユーザー名またはメールアドレスを入力してく"
|
||||||
|
"ださい。電子メールで新しいパスワードを作成するためのリンクが表示されます。"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-lost-password.php:40
|
||||||
|
msgid "Reset Password"
|
||||||
|
msgstr "パスワードをリセットする"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:44
|
||||||
|
msgid "Username or email address"
|
||||||
|
msgstr "ユーザー名またはメールアドレス"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:75
|
||||||
|
#: woocommerce/myaccount/form-login.php:112
|
||||||
|
msgid "Register"
|
||||||
|
msgstr "登録"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:84
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "ユーザー名"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:91
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:40
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr "メールアドレス"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:105
|
||||||
|
msgid "Anti-spam"
|
||||||
|
msgstr "アンチスパム"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:30
|
||||||
|
msgid "First name"
|
||||||
|
msgstr "名前"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:34
|
||||||
|
msgid "Last name"
|
||||||
|
msgstr "苗字"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:45
|
||||||
|
msgid "Password Change"
|
||||||
|
msgstr "パスワードを変更する"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:48
|
||||||
|
msgid "Current Password (leave blank to leave unchanged)"
|
||||||
|
msgstr "現在のパスワード(空白のまま変更しない)"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:52
|
||||||
|
msgid "New Password (leave blank to leave unchanged)"
|
||||||
|
msgstr "新しいパスワード(空白のまま変更しない)"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:56
|
||||||
|
msgid "Confirm New Password"
|
||||||
|
msgstr "新しいパスワードを確認する"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:66
|
||||||
|
msgid "Save changes"
|
||||||
|
msgstr "変更を保存"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:13
|
||||||
|
msgid "Order"
|
||||||
|
msgstr "注文"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:14
|
||||||
|
msgid "Date"
|
||||||
|
msgstr "日付"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:15
|
||||||
|
msgid "Status"
|
||||||
|
msgstr "状態"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:30
|
||||||
|
msgid "Recent Orders"
|
||||||
|
msgstr "最近の注文"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:55 woocommerce/myaccount/orders.php:51
|
||||||
|
msgctxt "hash before order number"
|
||||||
|
msgid "#"
|
||||||
|
msgstr "#"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:65 woocommerce/myaccount/orders.php:61
|
||||||
|
#, php-format
|
||||||
|
msgid "%s for %s item"
|
||||||
|
msgid_plural "%s for %s items"
|
||||||
|
msgstr[0] "%s のうちの %s のアイテム"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:72 woocommerce/myaccount/orders.php:68
|
||||||
|
msgid "Pay"
|
||||||
|
msgstr "支払い"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:76 woocommerce/myaccount/orders.php:72
|
||||||
|
msgid "View"
|
||||||
|
msgstr "表示"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:80 woocommerce/myaccount/orders.php:76
|
||||||
|
msgid "Cancel"
|
||||||
|
msgstr "キャンセル"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/orders.php:107
|
||||||
|
msgid "Previous"
|
||||||
|
msgstr "前"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/orders.php:111
|
||||||
|
msgid "Next"
|
||||||
|
msgstr "次"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/orders.php:119 woocommerce/myaccount/downloads.php:98
|
||||||
|
msgid "Go Shop"
|
||||||
|
msgstr "ショップへ行く"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/orders.php:121
|
||||||
|
msgid "No order has been made yet."
|
||||||
|
msgstr "まだ注文はありません。"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-address.php:23
|
||||||
|
msgid "Billing Address"
|
||||||
|
msgstr "請求先住所"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-address.php:23
|
||||||
|
msgid "Shipping Address"
|
||||||
|
msgstr "お届け先の住所"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-address.php:46
|
||||||
|
msgid "Save Address"
|
||||||
|
msgstr "アドレスを保存する"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-reset-password.php:27
|
||||||
|
msgid "Enter a new password below."
|
||||||
|
msgstr "以下に新しいパスワードを入力してください。"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-reset-password.php:30
|
||||||
|
msgid "New password"
|
||||||
|
msgstr "新しいパスワード"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-reset-password.php:34
|
||||||
|
msgid "Re-enter new password"
|
||||||
|
msgstr "新しいパスワードの再入力"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-reset-password.php:47
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "保存"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/downloads.php:59
|
||||||
|
msgid "∞"
|
||||||
|
msgstr "∞"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/downloads.php:67
|
||||||
|
msgid "Never"
|
||||||
|
msgstr "決して"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/downloads.php:75
|
||||||
|
msgid "Download"
|
||||||
|
msgstr "ダウンロード"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/downloads.php:100
|
||||||
|
msgid "No downloads available yet."
|
||||||
|
msgstr "利用可能なダウンロードはまだありません。"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/review-rating.php:28
|
||||||
|
#, php-format
|
||||||
|
msgid "Rated %d out of 5"
|
||||||
|
msgstr "評価 %d/5"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/review-rating.php:29
|
||||||
|
msgid "out of 5"
|
||||||
|
msgstr "5点満点中"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/rating.php:36
|
||||||
|
#, php-format
|
||||||
|
msgid "Rated %s out of 5"
|
||||||
|
msgstr "5点満点中の%s"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/rating.php:38
|
||||||
|
#, php-format
|
||||||
|
msgid "out of %s5%s"
|
||||||
|
msgstr "%s5%s点中の"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/rating.php:39
|
||||||
|
#, php-format
|
||||||
|
msgid "based on %s customer rating"
|
||||||
|
msgid_plural "based on %s customer ratings"
|
||||||
|
msgstr[0] "%s の顧客評価に基づく"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/rating.php:42
|
||||||
|
#, php-format
|
||||||
|
msgid "%s customer review"
|
||||||
|
msgid_plural "%s customer reviews"
|
||||||
|
msgstr[0] "%s 件のカスタマーレビュー"
|
||||||
|
|
||||||
|
#. Name of the theme
|
||||||
|
msgid "UnderStrap"
|
||||||
|
msgstr "UnderStrap"
|
||||||
|
|
||||||
|
#. Description of the theme
|
||||||
|
msgid ""
|
||||||
|
"Combination of Automattic´s _s theme and Bootstrap 4. Made as a solid "
|
||||||
|
"starting point for your next theme project and WordPress website. Use it as "
|
||||||
|
"starter theme or as a parent theme. It is up to you. Including Font Awesome "
|
||||||
|
"support, built-in widget slider and much more you need for basic websites. "
|
||||||
|
"IMPORTANT: All developer dependencies are not bundled with this install "
|
||||||
|
"file. Just download the .zip, extract it and run \"npm install\" and \"gulp "
|
||||||
|
"copy-assets\" inside the extracted /understrap folder."
|
||||||
|
msgstr ""
|
||||||
|
"AutomatticのテーマとBootstrap 4のコンビネーション。あなたの次のテーマプロジェ"
|
||||||
|
"クトとWordPressのウェブサイトの堅実な出発点として作られています。スターター"
|
||||||
|
"テーマまたは親テーマとして使用します。それはあなた次第です。Font Awesomeのサ"
|
||||||
|
"ポート、組み込みのウィジェットスライダーなど、基本的なWebサイトにはるかに必要"
|
||||||
|
"なものが含まれています。 *重要*: すべての開発者の依存関係は、このインストール"
|
||||||
|
"ファイルにバンドルされていません。zipファイルをダウンロードして展開し、展開さ"
|
||||||
|
"れたunderstrapフォルダの中で「npm install」と「gulp copy-assets」を実行するだ"
|
||||||
|
"けです。"
|
||||||
|
|
||||||
|
#. Theme URI of the theme
|
||||||
|
msgid "http://understrap.com"
|
||||||
|
msgstr "http://understrap.com"
|
||||||
|
|
||||||
|
#. Author of the theme
|
||||||
|
msgid "Holger Koenemann"
|
||||||
|
msgstr "ホルガー・ケーネマン"
|
||||||
|
|
||||||
|
#. Author URI of the theme
|
||||||
|
msgid "http://www.holgerkoenemann.de"
|
||||||
|
msgstr "http://www.holgerkoenemann.de"
|
Binary file not shown.
|
@ -0,0 +1,799 @@
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: understrap\n"
|
||||||
|
"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/_s\n"
|
||||||
|
"POT-Creation-Date: 2016-12-20 05:10+0000\n"
|
||||||
|
"POT-Revision-Date: Mon Jul 04 2016 09:13:18 GMT+0200 (CEST)\n"
|
||||||
|
"PO-Revision-Date: 2018-04-02 19:11+0100\n"
|
||||||
|
"Last-Translator: Mirosław Zalewski <mz@miroslaw-zalewski.eu>\n"
|
||||||
|
"Language-Team: Polish\n"
|
||||||
|
"Language: pl_PL\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10"
|
||||||
|
" || n%100>=20) ? 1 : 2);\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Poedit-SourceCharset: UTF-8\n"
|
||||||
|
"X-Generator: Lokalize 2.0\n"
|
||||||
|
"X-Poedit-KeywordsList: _:1;gettext:1;dgettext:2;ngettext:1,2;dngettext:2,3;__:"
|
||||||
|
"1;_e:1;_c:1;_n:1,2;_n_noop:1,2;_nc:1,2;__ngettext:1,2;__ngettext_noop:1,2;_x:1"
|
||||||
|
",2c;_ex:1,2c;_nx:1,2,4c;_nx_noop:1,2,3c;_n_js:1,2;_nx_js:1,2,3c;esc_attr__:1;e"
|
||||||
|
"sc_html__:1;esc_attr_e:1;esc_html_e:1;esc_attr_x:1,2c;esc_html_x:1,2c;comments"
|
||||||
|
"_number_link:2,3;t:1;st:1;trans:1;transChoice:1,2\n"
|
||||||
|
"X-Poedit-Basepath: ..\n"
|
||||||
|
"X-Poedit-SearchPath-0: footer.php\n"
|
||||||
|
"X-Poedit-SearchPath-1: header.php\n"
|
||||||
|
"X-Poedit-SearchPath-2: index.php\n"
|
||||||
|
"X-Poedit-SearchPath-3: statichero.php\n"
|
||||||
|
"X-Poedit-SearchPath-4: 404.php\n"
|
||||||
|
"X-Poedit-SearchPath-5: archive.php\n"
|
||||||
|
"X-Poedit-SearchPath-6: search.php\n"
|
||||||
|
"X-Poedit-SearchPath-7: sticky.php\n"
|
||||||
|
"X-Poedit-SearchPath-8: single.php\n"
|
||||||
|
"X-Poedit-SearchPath-9: sidebar.php\n"
|
||||||
|
"X-Poedit-SearchPath-10: comment-form.php\n"
|
||||||
|
"X-Poedit-SearchPath-11: comments.php\n"
|
||||||
|
"X-Poedit-SearchPath-12: content-none.php\n"
|
||||||
|
"X-Poedit-SearchPath-13: content-page.php\n"
|
||||||
|
"X-Poedit-SearchPath-14: content-search.php\n"
|
||||||
|
"X-Poedit-SearchPath-15: content-single.php\n"
|
||||||
|
"X-Poedit-SearchPath-16: content.php\n"
|
||||||
|
"X-Poedit-SearchPath-17: hero.php\n"
|
||||||
|
"X-Poedit-SearchPath-18: page.php\n"
|
||||||
|
"X-Poedit-SearchPath-19: functions.php\n"
|
||||||
|
"X-Poedit-SearchPath-20: page-templates\n"
|
||||||
|
|
||||||
|
#: search.php:29
|
||||||
|
#, php-format
|
||||||
|
msgid "Search Results for: %s"
|
||||||
|
msgstr "Wyniki wyszukiwania dla frazy: %s"
|
||||||
|
|
||||||
|
#: header.php:34
|
||||||
|
msgid "Skip to content"
|
||||||
|
msgstr "Przejdź do treści"
|
||||||
|
|
||||||
|
#: 404.php:24
|
||||||
|
msgid "Oops! That page can’t be found."
|
||||||
|
msgstr "Ups! Strona nie została znaleziona."
|
||||||
|
|
||||||
|
#: 404.php:31
|
||||||
|
msgid ""
|
||||||
|
"It looks like nothing was found at this location. Maybe try one of the links "
|
||||||
|
"below or a search?"
|
||||||
|
msgstr ""
|
||||||
|
"Wygląda na to, że nic tutaj nie znaleziono. Może spróbuj wyszukiwania lub"
|
||||||
|
"kliknij jeden z odnośników poniżej?"
|
||||||
|
|
||||||
|
#: 404.php:42
|
||||||
|
msgid "Most Used Categories"
|
||||||
|
msgstr "Najczęściej używane kategorie"
|
||||||
|
|
||||||
|
#. translators: %1$s: smiley
|
||||||
|
#: 404.php:62
|
||||||
|
#, php-format
|
||||||
|
msgid "Try looking in the monthly archives. %1$s"
|
||||||
|
msgstr "Sprawdź w archiwum %1$s"
|
||||||
|
|
||||||
|
#: author.php:34
|
||||||
|
msgid "About:"
|
||||||
|
msgstr "Autor:"
|
||||||
|
|
||||||
|
#: author.php:42 inc/custom-comments.php:30
|
||||||
|
msgid "Website"
|
||||||
|
msgstr "Strona internetowa"
|
||||||
|
|
||||||
|
#: author.php:49
|
||||||
|
msgid "Profile"
|
||||||
|
msgstr "O autorze"
|
||||||
|
|
||||||
|
#: author.php:54
|
||||||
|
msgid "Posts by"
|
||||||
|
msgstr "Artykuły"
|
||||||
|
|
||||||
|
#: author.php:68
|
||||||
|
msgid "in"
|
||||||
|
msgstr "w"
|
||||||
|
|
||||||
|
#: comments.php:28
|
||||||
|
#, php-format
|
||||||
|
msgctxt "comments title"
|
||||||
|
msgid "One thought on “%2$s”"
|
||||||
|
msgid_plural "%1$s thoughts on “%2$s”"
|
||||||
|
msgstr[0] "Jedna opinia na temat „%2$s”"
|
||||||
|
msgstr[1] "%1$s opinie na temat „%2$s”"
|
||||||
|
msgstr[2] "%1$s opinii na temat „%2$s”"
|
||||||
|
|
||||||
|
#: comments.php:36 comments.php:59
|
||||||
|
msgid "Comment navigation"
|
||||||
|
msgstr "Nawigacja po komentarzach"
|
||||||
|
|
||||||
|
#: comments.php:38 comments.php:61
|
||||||
|
msgid "← Older Comments"
|
||||||
|
msgstr "← Starsze komentarze"
|
||||||
|
|
||||||
|
#: comments.php:42 comments.php:65
|
||||||
|
msgid "Newer Comments →"
|
||||||
|
msgstr "Nowsze komentarze →"
|
||||||
|
|
||||||
|
#: comments.php:78
|
||||||
|
msgid "Comments are closed."
|
||||||
|
msgstr "Komentarze są zamknięte"
|
||||||
|
|
||||||
|
#: footer.php:27
|
||||||
|
msgid "http://wordpress.org/"
|
||||||
|
msgstr "http://wordpress.org/"
|
||||||
|
|
||||||
|
#: footer.php:28
|
||||||
|
#, php-format
|
||||||
|
msgid "Proudly powered by %s"
|
||||||
|
msgstr "Dumnie wspierany przez %s"
|
||||||
|
|
||||||
|
#: footer.php:31
|
||||||
|
#, php-format
|
||||||
|
msgid "Theme: %1$s by %2$s."
|
||||||
|
msgstr "Motyw: %1$s od %2$s."
|
||||||
|
|
||||||
|
#: footer.php:33
|
||||||
|
#, php-format
|
||||||
|
msgid "Version: %1$s"
|
||||||
|
msgstr "Wersja: %1$s"
|
||||||
|
|
||||||
|
#: searchform.php:10 searchform.php:16
|
||||||
|
msgid "Search"
|
||||||
|
msgstr "Szukaj"
|
||||||
|
|
||||||
|
#: searchform.php:13
|
||||||
|
msgid "Search …"
|
||||||
|
msgstr "Szukaj …"
|
||||||
|
|
||||||
|
#: loop-templates/content-card.php:43 loop-templates/content-page.php:25
|
||||||
|
#: loop-templates/content.php:37 loop-templates/content-single.php:31
|
||||||
|
#: loop-templates/content-verticalpage.php:28
|
||||||
|
msgid "Pages:"
|
||||||
|
msgstr "Strony:"
|
||||||
|
|
||||||
|
#: loop-templates/content-page.php:34
|
||||||
|
#: loop-templates/content-verticalpage.php:37
|
||||||
|
msgid "Edit"
|
||||||
|
msgstr "Edytuj"
|
||||||
|
|
||||||
|
#: loop-templates/content-none.php:15
|
||||||
|
msgid "Nothing Found"
|
||||||
|
msgstr "Nic nie znaleziono"
|
||||||
|
|
||||||
|
#: loop-templates/content-none.php:23
|
||||||
|
#, php-format
|
||||||
|
msgid ""
|
||||||
|
"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
|
||||||
|
msgstr ""
|
||||||
|
"Gotów do opublikowania pierwszego postu? <a href=\"%1$s\">Zacznij tutaj</a>."
|
||||||
|
|
||||||
|
#: loop-templates/content-none.php:28
|
||||||
|
msgid ""
|
||||||
|
"Sorry, but nothing matched your search terms. Please try again with some "
|
||||||
|
"different keywords."
|
||||||
|
msgstr ""
|
||||||
|
"Niestety, nie znaleziono niczego, co pasowałoby do Twoich kryteriów "
|
||||||
|
"wyszukiwania. Spróbuj ponownie używając innych słów kluczowych."
|
||||||
|
|
||||||
|
#: loop-templates/content-none.php:34
|
||||||
|
msgid ""
|
||||||
|
"It seems we can’t find what you’re looking for. Perhaps "
|
||||||
|
"searching can help."
|
||||||
|
msgstr ""
|
||||||
|
"Wygląda na to, że nie mogliśmy znaleźć tej strony. Może skorzystaj z"
|
||||||
|
" wyszukiwarki?"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Blank Page Template"
|
||||||
|
msgstr "Czysta strona"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Left and Right Sidebar Layout"
|
||||||
|
msgstr "Lewy i prawy panel boczny"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Empty Page Template"
|
||||||
|
msgstr "Pusta strona"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Full Width Page"
|
||||||
|
msgstr "Pełna szerokość"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Left Sidebar Layout"
|
||||||
|
msgstr "Lewy panel boczny"
|
||||||
|
|
||||||
|
#. Name of the template
|
||||||
|
msgid "Vertical One Page"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: inc/template-tags.php:18
|
||||||
|
#, php-format
|
||||||
|
msgid " Edited %4$s"
|
||||||
|
msgstr " Zmiana %4$s"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:29
|
||||||
|
#, php-format
|
||||||
|
msgctxt "post date"
|
||||||
|
msgid "Posted on %s"
|
||||||
|
msgstr "Opublikowano"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:34
|
||||||
|
#, php-format
|
||||||
|
msgctxt "post author"
|
||||||
|
msgid "by %s"
|
||||||
|
msgstr "przez"
|
||||||
|
|
||||||
|
#. translators: used between list items, there is a space after the comma
|
||||||
|
#: inc/template-tags.php:51 inc/template-tags.php:57
|
||||||
|
msgid ", "
|
||||||
|
msgstr ","
|
||||||
|
|
||||||
|
#: inc/template-tags.php:53
|
||||||
|
#, php-format
|
||||||
|
msgid "Posted in %1$s"
|
||||||
|
msgstr "Opublikowano w %1$s"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:59
|
||||||
|
#, php-format
|
||||||
|
msgid "Tagged %1$s"
|
||||||
|
msgstr "Tagi: %1$s"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:65
|
||||||
|
msgid "Leave a comment"
|
||||||
|
msgstr "Napisz komentarz"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:65
|
||||||
|
msgid "1 Comment"
|
||||||
|
msgstr "Komentarzy: 1"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:65
|
||||||
|
msgid "% Comments"
|
||||||
|
msgstr "Komentarzy: %"
|
||||||
|
|
||||||
|
#. translators: %s: Name of current post
|
||||||
|
#: inc/template-tags.php:72
|
||||||
|
#, php-format
|
||||||
|
msgid "Edit %s"
|
||||||
|
msgstr "Edytuj %s"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:143
|
||||||
|
msgid "Post navigation"
|
||||||
|
msgstr "Nawigacja po artykułach"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:148
|
||||||
|
msgctxt "Previous post link"
|
||||||
|
msgid "<i class=\"fa fa-angle-left\"></i> %title"
|
||||||
|
msgstr "<i class=\"fa fa-angle-left\"></i> %title"
|
||||||
|
|
||||||
|
#: inc/template-tags.php:151
|
||||||
|
msgctxt "Next post link"
|
||||||
|
msgid "%title <i class=\"fa fa-angle-right\"></i>"
|
||||||
|
msgstr "%title <i class=\"fa fa-angle-right\"></i>"
|
||||||
|
|
||||||
|
#: inc/setup.php:51
|
||||||
|
msgid "Primary Menu"
|
||||||
|
msgstr "Menu główne"
|
||||||
|
|
||||||
|
#: inc/setup.php:122
|
||||||
|
msgid "Read More..."
|
||||||
|
msgstr "Czytaj dalej…"
|
||||||
|
|
||||||
|
#: inc/widgets.php:14
|
||||||
|
msgid "Right Sidebar"
|
||||||
|
msgstr "Prawy panel boczny"
|
||||||
|
|
||||||
|
#: inc/widgets.php:24
|
||||||
|
msgid "Left Sidebar"
|
||||||
|
msgstr "Lewy panel boczny"
|
||||||
|
|
||||||
|
#: inc/widgets.php:34
|
||||||
|
msgid "Hero Slider"
|
||||||
|
msgstr "Slider Hero"
|
||||||
|
|
||||||
|
#: inc/widgets.php:44
|
||||||
|
msgid "Hero Static"
|
||||||
|
msgstr "Nieruchomy Hero"
|
||||||
|
|
||||||
|
#: inc/widgets.php:54
|
||||||
|
msgid "Footer Full"
|
||||||
|
msgstr "Pełna stopka"
|
||||||
|
|
||||||
|
#: inc/custom-comments.php:24
|
||||||
|
msgid "Name"
|
||||||
|
msgstr "Imię"
|
||||||
|
|
||||||
|
#: inc/custom-comments.php:27
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "Email"
|
||||||
|
|
||||||
|
#: inc/custom-comments.php:49
|
||||||
|
msgctxt "noun"
|
||||||
|
msgid "Comment"
|
||||||
|
msgstr "Komentarz"
|
||||||
|
|
||||||
|
#: inc/customizer.php:36
|
||||||
|
msgid "Slider Settings"
|
||||||
|
msgstr "Ustawienia slidera"
|
||||||
|
|
||||||
|
#: inc/customizer.php:45
|
||||||
|
msgid "Number of slides displaying at once"
|
||||||
|
msgstr "Liczba jednocześnie wyświetlanych slajdów"
|
||||||
|
|
||||||
|
#: inc/customizer.php:57
|
||||||
|
msgid "Slider Time (in ms)"
|
||||||
|
msgstr "Długość wyświetlania slajdu (w ms)"
|
||||||
|
|
||||||
|
#: inc/customizer.php:69
|
||||||
|
msgid "Loop Slider Content"
|
||||||
|
msgstr "Zapętlenie"
|
||||||
|
|
||||||
|
#: inc/customizer.php:81
|
||||||
|
msgid "Theme Layout Settings"
|
||||||
|
msgstr "Ustawienia układu szablonu"
|
||||||
|
|
||||||
|
#: inc/customizer.php:83
|
||||||
|
msgid "Container width and sidebar defaults"
|
||||||
|
msgstr "Domyślne ustawienia szerokości strony oraz panelu bocznego"
|
||||||
|
|
||||||
|
#: inc/customizer.php:98
|
||||||
|
msgid "Container Width"
|
||||||
|
msgstr "Szerokość strony"
|
||||||
|
|
||||||
|
#: inc/customizer.php:99
|
||||||
|
msgid "Choose between Bootstrap's container and container-fluid"
|
||||||
|
msgstr "Wybierz pomiędzy klasami Bootstrapa: container oraz container-fluid"
|
||||||
|
|
||||||
|
#: inc/customizer.php:104
|
||||||
|
msgid "Fixed width container"
|
||||||
|
msgstr "Stała"
|
||||||
|
|
||||||
|
#: inc/customizer.php:105
|
||||||
|
msgid "Full width container"
|
||||||
|
msgstr "Zmienna (wypełnia całą dostępną przestrzeń)"
|
||||||
|
|
||||||
|
#: inc/customizer.php:122
|
||||||
|
msgid "Sidebar Positioning"
|
||||||
|
msgstr "Umiejscowienie panelu bocznego"
|
||||||
|
|
||||||
|
#: inc/customizer.php:123
|
||||||
|
msgid "Set sidebar's position. Can either be: right, left, both or none"
|
||||||
|
msgstr ""
|
||||||
|
"Umiejscowienie panelu bocznego. Może znajdować się po prawej stronie, po"
|
||||||
|
" lewej stronie, "
|
||||||
|
"po obu stronach lub może w ogóle go nie być"
|
||||||
|
|
||||||
|
#: inc/customizer.php:129
|
||||||
|
msgid "Right sidebar"
|
||||||
|
msgstr "Panel boczny po prawej"
|
||||||
|
|
||||||
|
#: inc/customizer.php:130
|
||||||
|
msgid "Left sidebar"
|
||||||
|
msgstr "Panel boczny po lewej"
|
||||||
|
|
||||||
|
#: inc/customizer.php:131
|
||||||
|
msgid "Left & Right sidebars"
|
||||||
|
msgstr "Panel boczny po lewej i po prawej"
|
||||||
|
|
||||||
|
#: inc/customizer.php:132
|
||||||
|
msgid "No sidebar"
|
||||||
|
msgstr "Brak panelu bocznego"
|
||||||
|
|
||||||
|
#: inc/customizer.php:150
|
||||||
|
msgid "Posts Index Style"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: inc/customizer.php:151
|
||||||
|
msgid "Choose how to display latest posts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: inc/customizer.php:156
|
||||||
|
msgid "Default"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: inc/customizer.php:157
|
||||||
|
msgid "Masonry"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: inc/customizer.php:158
|
||||||
|
msgid "Grid"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: inc/customizer.php:187
|
||||||
|
msgid "Grid Post Columns"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: inc/customizer.php:188
|
||||||
|
msgid "Choose how many columns to use"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: woocommerce/cart/proceed-to-checkout-button.php:27
|
||||||
|
msgid "Proceed to Checkout"
|
||||||
|
msgstr "Przejdź do kasy"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:49 woocommerce/cart/cart.php:60
|
||||||
|
msgid "Remove this item"
|
||||||
|
msgstr "Usuń ten przedmiot"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:72
|
||||||
|
msgid "No products in the cart."
|
||||||
|
msgstr "Koszyk jest pusty"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:80
|
||||||
|
msgid "Subtotal"
|
||||||
|
msgstr "Suma częściowa"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:85
|
||||||
|
msgid "View Cart"
|
||||||
|
msgstr "Zobacz koszyk"
|
||||||
|
|
||||||
|
#: woocommerce/cart/mini-cart.php:86
|
||||||
|
msgid "Checkout"
|
||||||
|
msgstr "Kasa"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart-empty.php:28
|
||||||
|
msgid "Your cart is currently empty."
|
||||||
|
msgstr "Twój koszyk jest pusty"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart-empty.php:36
|
||||||
|
msgid "Return To Shop"
|
||||||
|
msgstr "Wróć do sklepu"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:36 woocommerce/cart/cart.php:79
|
||||||
|
#: woocommerce/checkout/form-pay.php:29
|
||||||
|
msgid "Product"
|
||||||
|
msgstr "Produkt"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:37 woocommerce/cart/cart.php:97
|
||||||
|
msgid "Price"
|
||||||
|
msgstr "Cena"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:38 woocommerce/cart/cart.php:103
|
||||||
|
msgid "Quantity"
|
||||||
|
msgstr "Liczba sztuk"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:39 woocommerce/cart/cart.php:120
|
||||||
|
#: woocommerce/myaccount/my-orders.php:16
|
||||||
|
msgid "Total"
|
||||||
|
msgstr "Suma"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:92
|
||||||
|
msgid "Available on backorder"
|
||||||
|
msgstr "Dostępny na zamówienie"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:138
|
||||||
|
msgid "Coupon:"
|
||||||
|
msgstr "Kupon:"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:36
|
||||||
|
msgid "Coupon code"
|
||||||
|
msgstr "Kod kuponu"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:138 woocommerce/checkout/form-coupon.php:40
|
||||||
|
msgid "Apply Coupon"
|
||||||
|
msgstr "Zastosuj kupon"
|
||||||
|
|
||||||
|
#: woocommerce/cart/cart.php:144
|
||||||
|
msgid "Update Cart"
|
||||||
|
msgstr "Zaktualizuj koszyk"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/payment.php:35
|
||||||
|
msgid ""
|
||||||
|
"Sorry, it seems that there are no available payment methods for your state. "
|
||||||
|
"Please contact us if you require assistance or wish to make alternate "
|
||||||
|
"arrangements."
|
||||||
|
msgstr ""
|
||||||
|
"Przykro nam, ale dla Twojego regionu nie jest udostępniona żadna metoda"
|
||||||
|
" płatności. Prosimy skontaktuj się z nami, jeśli potrzebujesz wyjaśnień lub"
|
||||||
|
" chcesz omówić alternatywne sposoby płatności."
|
||||||
|
|
||||||
|
#: woocommerce/checkout/payment.php:35
|
||||||
|
msgid "Please fill in your details above to see available payment methods."
|
||||||
|
msgstr "Wypełnij powyższe szczegóły aby zobaczyć dostępne metody płatności."
|
||||||
|
|
||||||
|
#: woocommerce/checkout/payment.php:42
|
||||||
|
msgid ""
|
||||||
|
"Since your browser does not support JavaScript, or it is disabled, please "
|
||||||
|
"ensure you click the <em>Update Totals</em> button before placing your order."
|
||||||
|
" You may be charged more than the amount stated above if you fail to do so."
|
||||||
|
msgstr ""
|
||||||
|
"Ponieważ Twoja przeglądarka nie wspiera JavaScriptu lub jest on wyłączony,"
|
||||||
|
" upewnij się, że klikniesz przycisk <em>Zaktualizuj koszyk</em> przed"
|
||||||
|
" złożeniem zamówienia. Możesz zapłacić więcej niż jest podane powyżej, jeśli"
|
||||||
|
" tego nie zrobisz."
|
||||||
|
|
||||||
|
#: woocommerce/checkout/payment.php:43
|
||||||
|
msgid "Update totals"
|
||||||
|
msgstr "Zaktualizuj koszyk"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-pay.php:30
|
||||||
|
msgid "Qty"
|
||||||
|
msgstr "Szt."
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-pay.php:31
|
||||||
|
msgid "Totals"
|
||||||
|
msgstr "Łącznie"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-pay.php:79
|
||||||
|
msgid ""
|
||||||
|
"Sorry, it seems that there are no available payment methods for your "
|
||||||
|
"location. Please contact us if you require assistance or wish to make "
|
||||||
|
"alternate arrangements."
|
||||||
|
msgstr ""
|
||||||
|
"Przykro nam, ale dla Twojej lokalizacji nie jest udostępniona żadna metoda"
|
||||||
|
" płatności. Prosimy skontaktuj się z nami, jeśli potrzebujesz wyjaśnień lub"
|
||||||
|
" chcesz omówić alternatywne sposoby płatności."
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-coupon.php:28
|
||||||
|
msgid "Have a coupon?"
|
||||||
|
msgstr "Masz kupon?"
|
||||||
|
|
||||||
|
#: woocommerce/checkout/form-coupon.php:28
|
||||||
|
msgid "Click here to enter your code"
|
||||||
|
msgstr "Kliknij tutaj, aby dodać kod"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:35
|
||||||
|
#: woocommerce/myaccount/form-lost-password.php:30
|
||||||
|
msgid "Username or email"
|
||||||
|
msgstr "Użytkownik lub e-mail"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:39
|
||||||
|
#: woocommerce/myaccount/form-login.php:48
|
||||||
|
#: woocommerce/myaccount/form-login.php:98
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Hasło"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:48
|
||||||
|
#: woocommerce/myaccount/form-login.php:37
|
||||||
|
#: woocommerce/myaccount/form-login.php:56
|
||||||
|
msgid "Login"
|
||||||
|
msgstr "Zaloguj się"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:51 woocommerce/myaccount/form-login.php:58
|
||||||
|
msgid "Remember me"
|
||||||
|
msgstr "Zapamiętaj mnie"
|
||||||
|
|
||||||
|
#: woocommerce/global/form-login.php:55 woocommerce/myaccount/form-login.php:62
|
||||||
|
msgid "Lost your password?"
|
||||||
|
msgstr "Nie pamiętasz hasła?"
|
||||||
|
|
||||||
|
#: woocommerce/global/quantity-input.php:24
|
||||||
|
msgctxt "Product quantity input tooltip"
|
||||||
|
msgid "Qty"
|
||||||
|
msgstr "Szt."
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-lost-password.php:27
|
||||||
|
msgid ""
|
||||||
|
"Lost your password? Please enter your username or email address. You will "
|
||||||
|
"receive a link to create a new password via email."
|
||||||
|
msgstr ""
|
||||||
|
"Zapomniałeś hasła? Wpisz swoją nazwę użytkownika lub adres e-mail. Dostaniesz"
|
||||||
|
" link do stworzenia nowego hasła mailem."
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-lost-password.php:40
|
||||||
|
msgid "Reset Password"
|
||||||
|
msgstr "Resetuj hasło"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:44
|
||||||
|
msgid "Username or email address"
|
||||||
|
msgstr "Użytkownik lub e-mail"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:75
|
||||||
|
#: woocommerce/myaccount/form-login.php:112
|
||||||
|
msgid "Register"
|
||||||
|
msgstr "Zarejestruj się"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:84
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Nazwa użytkownika"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:91
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:40
|
||||||
|
msgid "Email address"
|
||||||
|
msgstr "E-mail"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-login.php:105
|
||||||
|
msgid "Anti-spam"
|
||||||
|
msgstr "Antyspam"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:30
|
||||||
|
msgid "First name"
|
||||||
|
msgstr "Imię"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:34
|
||||||
|
msgid "Last name"
|
||||||
|
msgstr "Nazwisko"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:45
|
||||||
|
msgid "Password Change"
|
||||||
|
msgstr "Zmiana hasła"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:48
|
||||||
|
msgid "Current Password (leave blank to leave unchanged)"
|
||||||
|
msgstr "Aktualne hasło (pozostaw puste, aby nie zmieniać)"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:52
|
||||||
|
msgid "New Password (leave blank to leave unchanged)"
|
||||||
|
msgstr "Nowe hasło (pozostaw puste, aby nie zmieniać)"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:56
|
||||||
|
msgid "Confirm New Password"
|
||||||
|
msgstr "Potwierdź nowe hasło"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-account.php:66
|
||||||
|
msgid "Save changes"
|
||||||
|
msgstr "Zapisz zmiany"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:13
|
||||||
|
msgid "Order"
|
||||||
|
msgstr "Zamówienie"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:14
|
||||||
|
msgid "Date"
|
||||||
|
msgstr "Data"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:15
|
||||||
|
msgid "Status"
|
||||||
|
msgstr "Status"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:30
|
||||||
|
msgid "Recent Orders"
|
||||||
|
msgstr "Ostatnie zamówienia"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:55 woocommerce/myaccount/orders.php:51
|
||||||
|
msgctxt "hash before order number"
|
||||||
|
msgid "#"
|
||||||
|
msgstr "#"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:65 woocommerce/myaccount/orders.php:61
|
||||||
|
#, php-format
|
||||||
|
msgid "%s for %s item"
|
||||||
|
msgid_plural "%s for %s items"
|
||||||
|
msgstr[0] "%s za %s pozycję"
|
||||||
|
msgstr[1] "%s za %s pozycje"
|
||||||
|
msgstr[2] "%s za %s pozycji"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:72 woocommerce/myaccount/orders.php:68
|
||||||
|
msgid "Pay"
|
||||||
|
msgstr "Zapłać"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:76 woocommerce/myaccount/orders.php:72
|
||||||
|
msgid "View"
|
||||||
|
msgstr "Zobacz"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/my-orders.php:80 woocommerce/myaccount/orders.php:76
|
||||||
|
msgid "Cancel"
|
||||||
|
msgstr "Anuluj"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/orders.php:107
|
||||||
|
msgid "Previous"
|
||||||
|
msgstr "Poprzednie"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/orders.php:111
|
||||||
|
msgid "Next"
|
||||||
|
msgstr "Następne"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/orders.php:119 woocommerce/myaccount/downloads.php:98
|
||||||
|
msgid "Go Shop"
|
||||||
|
msgstr "Przejdź do sklepu"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/orders.php:121
|
||||||
|
msgid "No order has been made yet."
|
||||||
|
msgstr "Żadne zamówienia nie zostały jeszcze złożone."
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-address.php:23
|
||||||
|
msgid "Billing Address"
|
||||||
|
msgstr "Adres rozliczeniowy."
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-address.php:23
|
||||||
|
msgid "Shipping Address"
|
||||||
|
msgstr "Adres wysyłki."
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-edit-address.php:46
|
||||||
|
msgid "Save Address"
|
||||||
|
msgstr "Zapisz adres"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-reset-password.php:27
|
||||||
|
msgid "Enter a new password below."
|
||||||
|
msgstr "Wpisz nowe hasło poniżej."
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-reset-password.php:30
|
||||||
|
msgid "New password"
|
||||||
|
msgstr "Nowe hasło"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-reset-password.php:34
|
||||||
|
msgid "Re-enter new password"
|
||||||
|
msgstr "Powtórz nowe hasło"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/form-reset-password.php:47
|
||||||
|
msgid "Save"
|
||||||
|
msgstr "Zapisz"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/downloads.php:59
|
||||||
|
msgid "∞"
|
||||||
|
msgstr "∞"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/downloads.php:67
|
||||||
|
msgid "Never"
|
||||||
|
msgstr "Nigdy"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/downloads.php:75
|
||||||
|
msgid "Download"
|
||||||
|
msgstr "Pobieranie"
|
||||||
|
|
||||||
|
#: woocommerce/myaccount/downloads.php:100
|
||||||
|
msgid "No downloads available yet."
|
||||||
|
msgstr "Pliki do pobrania nie są jeszcze dostępne."
|
||||||
|
|
||||||
|
#: woocommerce/single-product/review-rating.php:28
|
||||||
|
#, php-format
|
||||||
|
msgid "Rated %d out of 5"
|
||||||
|
msgstr "Oceniony %s na 5."
|
||||||
|
|
||||||
|
#: woocommerce/single-product/review-rating.php:29
|
||||||
|
msgid "out of 5"
|
||||||
|
msgstr "z 5"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/rating.php:36
|
||||||
|
#, php-format
|
||||||
|
msgid "Rated %s out of 5"
|
||||||
|
msgstr "Oceniony %s na 5."
|
||||||
|
|
||||||
|
#: woocommerce/single-product/rating.php:38
|
||||||
|
#, php-format
|
||||||
|
msgid "out of %s5%s"
|
||||||
|
msgstr "z %s5%s"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/rating.php:39
|
||||||
|
#, php-format
|
||||||
|
msgid "based on %s customer rating"
|
||||||
|
msgid_plural "based on %s customer ratings"
|
||||||
|
msgstr[0] "na podstawie %s oceny klienta"
|
||||||
|
msgstr[1] "na podstawie %s ocen klientów"
|
||||||
|
msgstr[2] "na podstawie %s ocen klientów"
|
||||||
|
|
||||||
|
#: woocommerce/single-product/rating.php:42
|
||||||
|
#, php-format
|
||||||
|
msgid "%s customer review"
|
||||||
|
msgid_plural "%s customer reviews"
|
||||||
|
msgstr[0] "%s opinia klienta"
|
||||||
|
msgstr[1] "%s opinie klienta"
|
||||||
|
msgstr[2] "%s opinii klienta"
|
||||||
|
|
||||||
|
#. Name of the theme
|
||||||
|
msgid "UnderStrap"
|
||||||
|
msgstr "UnderStrap"
|
||||||
|
|
||||||
|
#. Description of the theme
|
||||||
|
msgid ""
|
||||||
|
"Combination of Automattic´s _s theme and Bootstrap 4. Made as a solid "
|
||||||
|
"starting point for your next theme project and WordPress website. Use it as "
|
||||||
|
"starter theme or as a parent theme. It is up to you. Including Font Awesome "
|
||||||
|
"support, built-in widget slider and much more you need for basic websites. "
|
||||||
|
"IMPORTANT: All developer dependencies are not bundled with this install file."
|
||||||
|
" Just download the .zip, extract it and run \"npm install\" and \"gulp copy-"
|
||||||
|
"assets\" inside the extracted /understrap folder."
|
||||||
|
msgstr ""
|
||||||
|
"Połączenie motywu _s od Automattic oraz Bootstrapa 4. Stworzony jako solidna "
|
||||||
|
"podstawa dla Twojego następnego motywu lub strony opartej na WordPressie. "
|
||||||
|
"Wykorzystaj go jako motyw startowy lub motyw nadrzędny. Jak chcesz. "
|
||||||
|
"Zawiera obsługę Font Awesome, wbudowany widżet slidera i wiele innych. "
|
||||||
|
"WAŻNE: Zależności nie są dołączone do tego pliku instalacyjnego. Po prostu "
|
||||||
|
"pobierz plik .zip, rozpakuj go, wejdź do katalogu /understrap i uruchom"
|
||||||
|
" polecenia "
|
||||||
|
"\"npm install\" i \"gulp copy-assets\"."
|
||||||
|
|
||||||
|
#. Theme URI of the theme
|
||||||
|
msgid "http://understrap.com"
|
||||||
|
msgstr "http://understrap.com"
|
||||||
|
|
||||||
|
#. Author of the theme
|
||||||
|
msgid "Holger Koenemann"
|
||||||
|
msgstr "Holger Koenemann"
|
||||||
|
|
||||||
|
#. Author URI of the theme
|
||||||
|
msgid "http://www.holgerkoenemann.de"
|
||||||
|
msgstr "http://www.holgerkoenemann.de"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "understrap",
|
"name": "understrap",
|
||||||
"version": "0.8.1",
|
"version": "0.8.2",
|
||||||
"description": "WordPress Theme framework",
|
"description": "WordPress Theme framework",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
2
page.php
2
page.php
|
@ -42,8 +42,6 @@ $container = get_theme_mod( 'understrap_container_type' );
|
||||||
|
|
||||||
</main><!-- #main -->
|
</main><!-- #main -->
|
||||||
|
|
||||||
</div><!-- #primary -->
|
|
||||||
|
|
||||||
<!-- Do the right sidebar check -->
|
<!-- Do the right sidebar check -->
|
||||||
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*!
|
/*!
|
||||||
* Bootstrap v4.0.0 (https://getbootstrap.com)
|
* Bootstrap v4.1.0 (https://getbootstrap.com/)
|
||||||
* Copyright 2011-2018 The Bootstrap Authors
|
* Copyright 2011-2018 The Bootstrap Authors
|
||||||
* Copyright 2011-2018 Twitter, Inc.
|
* Copyright 2011-2018 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
@import "theme/theme_variables"; // <--------- Add your variables into this file. Also add variables to overwrite Bootstrap or UnderStrap variables here
|
@import "theme/theme_variables"; // <--------- Add your variables into this file. Also add variables to overwrite Bootstrap or UnderStrap variables here
|
||||||
@import "assets/bootstrap4";// <--------- Loads Bootstrap3 or Bootstrap4. Change from /bootstrap3 to /bootstrap4 Watch out! just for testing in the moment!
|
@import "assets/bootstrap4";// <--------- Loads Bootstrap3 or Bootstrap4. Change from /bootstrap3 to /bootstrap4 Watch out! just for testing in the moment!
|
||||||
@import "understrap/understrap";// <-------- Loads the UnderStrap defaults. Just a few classes to incorporate BS in WP
|
@import "understrap/understrap";// <-------- Loads the UnderStrap defaults. Just a few classes to incorporate BS in WP
|
||||||
|
@import "understrap/woocommerce";// <-------- Loads WooCommerce style fixes. Comment out if you aren't using WooCommerce
|
||||||
|
|
||||||
//Optional files - If you dont use the corresponding scripts/fonts comment em out
|
//Optional files - If you dont use the corresponding scripts/fonts comment em out
|
||||||
@import "assets/font-awesome"; // <------- Font Awesome Icon font
|
@import "assets/font-awesome"; // <------- Font Awesome Icon font
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
// Fix billing field wrapper
|
||||||
|
.woocommerce-input-wrapper {
|
||||||
|
width: 100%;
|
||||||
|
}
|
BIN
screenshot.png
BIN
screenshot.png
Binary file not shown.
Before Width: | Height: | Size: 365 KiB After Width: | Height: | Size: 356 KiB |
|
@ -58,8 +58,6 @@ $container = get_theme_mod( 'understrap_container_type' );
|
||||||
<!-- The pagination component -->
|
<!-- The pagination component -->
|
||||||
<?php understrap_pagination(); ?>
|
<?php understrap_pagination(); ?>
|
||||||
|
|
||||||
</div><!-- #primary -->
|
|
||||||
|
|
||||||
<!-- Do the right sidebar check -->
|
<!-- Do the right sidebar check -->
|
||||||
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Sidebar - hero canvas setup.
|
||||||
|
*
|
||||||
|
* @package understrap
|
||||||
|
*/
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
<?php if ( is_active_sidebar( 'herocanvas' ) ) : ?>
|
||||||
|
|
||||||
|
<!-- ******************* The Hero Canvas Widget Area ******************* -->
|
||||||
|
|
||||||
|
<?php dynamic_sidebar( 'herocanvas' ); ?>
|
||||||
|
|
||||||
|
<?php endif; ?>
|
|
@ -37,8 +37,6 @@ $container = get_theme_mod( 'understrap_container_type' );
|
||||||
|
|
||||||
</main><!-- #main -->
|
</main><!-- #main -->
|
||||||
|
|
||||||
</div><!-- #primary -->
|
|
||||||
|
|
||||||
<!-- Do the right sidebar check -->
|
<!-- Do the right sidebar check -->
|
||||||
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
<?php get_template_part( 'global-templates/right-sidebar-check' ); ?>
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -5,17 +5,20 @@
|
||||||
margin-bottom: $breadcrumb-margin-bottom;
|
margin-bottom: $breadcrumb-margin-bottom;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
background-color: $breadcrumb-bg;
|
background-color: $breadcrumb-bg;
|
||||||
@include border-radius($border-radius);
|
@include border-radius($breadcrumb-border-radius);
|
||||||
}
|
}
|
||||||
|
|
||||||
.breadcrumb-item {
|
.breadcrumb-item {
|
||||||
// The separator between breadcrumbs (by default, a forward-slash: "/")
|
// The separator between breadcrumbs (by default, a forward-slash: "/")
|
||||||
+ .breadcrumb-item::before {
|
+ .breadcrumb-item {
|
||||||
display: inline-block; // Suppress underlining of the separator in modern browsers
|
|
||||||
padding-right: $breadcrumb-item-padding;
|
|
||||||
padding-left: $breadcrumb-item-padding;
|
padding-left: $breadcrumb-item-padding;
|
||||||
color: $breadcrumb-divider-color;
|
|
||||||
content: "#{$breadcrumb-divider}";
|
&::before {
|
||||||
|
display: inline-block; // Suppress underlining of the separator in modern browsers
|
||||||
|
padding-right: $breadcrumb-item-padding;
|
||||||
|
color: $breadcrumb-divider-color;
|
||||||
|
content: $breadcrumb-divider;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built
|
// IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built
|
||||||
|
|
|
@ -76,9 +76,15 @@
|
||||||
padding-right: $btn-padding-x * .75;
|
padding-right: $btn-padding-x * .75;
|
||||||
padding-left: $btn-padding-x * .75;
|
padding-left: $btn-padding-x * .75;
|
||||||
|
|
||||||
&::after {
|
&::after,
|
||||||
|
.dropup &::after,
|
||||||
|
.dropright &::after {
|
||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dropleft &::before {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-sm + .dropdown-toggle-split {
|
.btn-sm + .dropdown-toggle-split {
|
||||||
|
|
|
@ -100,6 +100,7 @@ fieldset:disabled a.btn {
|
||||||
&:disabled,
|
&:disabled,
|
||||||
&.disabled {
|
&.disabled {
|
||||||
color: $btn-link-disabled-color;
|
color: $btn-link-disabled-color;
|
||||||
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
// No need for an active state here
|
// No need for an active state here
|
||||||
|
|
|
@ -153,7 +153,7 @@
|
||||||
|
|
||||||
.card {
|
.card {
|
||||||
display: flex;
|
display: flex;
|
||||||
// Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored
|
// Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
|
||||||
flex: 1 0 0%;
|
flex: 1 0 0%;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
margin-right: $card-deck-margin;
|
margin-right: $card-deck-margin;
|
||||||
|
@ -183,7 +183,7 @@
|
||||||
// The child selector allows nested `.card` within `.card-group`
|
// The child selector allows nested `.card` within `.card-group`
|
||||||
// to display properly.
|
// to display properly.
|
||||||
> .card {
|
> .card {
|
||||||
// Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored
|
// Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
|
||||||
flex: 1 0 0%;
|
flex: 1 0 0%;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
|
||||||
|
@ -261,6 +261,8 @@
|
||||||
@include media-breakpoint-up(sm) {
|
@include media-breakpoint-up(sm) {
|
||||||
column-count: $card-columns-count;
|
column-count: $card-columns-count;
|
||||||
column-gap: $card-columns-gap;
|
column-gap: $card-columns-gap;
|
||||||
|
orphans: 1;
|
||||||
|
widows: 1;
|
||||||
|
|
||||||
.card {
|
.card {
|
||||||
display: inline-block; // Don't let them vertically span multiple columns
|
display: inline-block; // Don't let them vertically span multiple columns
|
||||||
|
@ -268,3 +270,32 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Accordion
|
||||||
|
//
|
||||||
|
|
||||||
|
.accordion {
|
||||||
|
.card:not(:first-of-type):not(:last-of-type) {
|
||||||
|
border-bottom: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card:not(:first-of-type) {
|
||||||
|
.card-header:first-child {
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.card:first-of-type {
|
||||||
|
border-bottom: 0;
|
||||||
|
border-bottom-right-radius: 0;
|
||||||
|
border-bottom-left-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card:last-of-type {
|
||||||
|
border-top-left-radius: 0;
|
||||||
|
border-top-right-radius: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,4 +1,13 @@
|
||||||
// Wrapper for the slide container and indicators
|
// Notes on the classes:
|
||||||
|
//
|
||||||
|
// 1. The .carousel-item-left and .carousel-item-right is used to indicate where
|
||||||
|
// the active slide is heading.
|
||||||
|
// 2. .active.carousel-item is the current slide.
|
||||||
|
// 3. .active.carousel-item-left and .active.carousel-item-right is the current
|
||||||
|
// slide in its in-transition state. Only one of these occurs at a time.
|
||||||
|
// 4. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right
|
||||||
|
// is the upcoming slide in transition.
|
||||||
|
|
||||||
.carousel {
|
.carousel {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
@ -31,7 +40,6 @@
|
||||||
top: 0;
|
top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// CSS3 transforms when supported by the browser
|
|
||||||
.carousel-item-next.carousel-item-left,
|
.carousel-item-next.carousel-item-left,
|
||||||
.carousel-item-prev.carousel-item-right {
|
.carousel-item-prev.carousel-item-right {
|
||||||
transform: translateX(0);
|
transform: translateX(0);
|
||||||
|
@ -60,6 +68,42 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//
|
||||||
|
// Alternate transitions
|
||||||
|
//
|
||||||
|
|
||||||
|
.carousel-fade {
|
||||||
|
.carousel-item {
|
||||||
|
opacity: 0;
|
||||||
|
transition-duration: .6s;
|
||||||
|
transition-property: opacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-item.active,
|
||||||
|
.carousel-item-next.carousel-item-left,
|
||||||
|
.carousel-item-prev.carousel-item-right {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active.carousel-item-left,
|
||||||
|
.active.carousel-item-right {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.carousel-item-next,
|
||||||
|
.carousel-item-prev,
|
||||||
|
.carousel-item.active,
|
||||||
|
.active.carousel-item-left,
|
||||||
|
.active.carousel-item-prev {
|
||||||
|
transform: translateX(0);
|
||||||
|
|
||||||
|
@supports (transform-style: preserve-3d) {
|
||||||
|
transform: translate3d(0, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Left/right controls for nav
|
// Left/right controls for nav
|
||||||
//
|
//
|
||||||
|
@ -91,13 +135,13 @@
|
||||||
.carousel-control-prev {
|
.carousel-control-prev {
|
||||||
left: 0;
|
left: 0;
|
||||||
@if $enable-gradients {
|
@if $enable-gradients {
|
||||||
background: linear-gradient(90deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));
|
background: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.carousel-control-next {
|
.carousel-control-next {
|
||||||
right: 0;
|
right: 0;
|
||||||
@if $enable-gradients {
|
@if $enable-gradients {
|
||||||
background: linear-gradient(270deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .001));
|
background: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -157,7 +157,7 @@
|
||||||
// Select
|
// Select
|
||||||
//
|
//
|
||||||
// Replaces the browser default select with a custom one, mostly pulled from
|
// Replaces the browser default select with a custom one, mostly pulled from
|
||||||
// http://primercss.io.
|
// https://primer.github.io/.
|
||||||
//
|
//
|
||||||
|
|
||||||
.custom-select {
|
.custom-select {
|
||||||
|
@ -247,11 +247,11 @@
|
||||||
margin: 0;
|
margin: 0;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
|
|
||||||
&:focus ~ .custom-file-control {
|
&:focus ~ .custom-file-label {
|
||||||
border-color: $custom-file-focus-border-color;
|
border-color: $custom-file-focus-border-color;
|
||||||
box-shadow: $custom-file-focus-box-shadow;
|
box-shadow: $custom-file-focus-box-shadow;
|
||||||
|
|
||||||
&::before {
|
&::after {
|
||||||
border-color: $custom-file-focus-border-color;
|
border-color: $custom-file-focus-border-color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -295,3 +295,126 @@
|
||||||
@include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);
|
@include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Range
|
||||||
|
//
|
||||||
|
// Style range inputs the same across browsers. Vendor-specific rules for psuedo
|
||||||
|
// elements cannot be mixed. As such, there are no shared styles for focus or
|
||||||
|
// active states on prefixed selectors.
|
||||||
|
|
||||||
|
.custom-range {
|
||||||
|
width: 100%;
|
||||||
|
padding-left: 0; // Firefox specific
|
||||||
|
background-color: transparent;
|
||||||
|
appearance: none;
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-moz-focus-outer {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-webkit-slider-thumb {
|
||||||
|
width: $custom-range-thumb-width;
|
||||||
|
height: $custom-range-thumb-height;
|
||||||
|
margin-top: -($custom-range-thumb-width * .25); // Webkit specific?
|
||||||
|
@include gradient-bg($custom-range-thumb-bg);
|
||||||
|
border: $custom-range-thumb-border;
|
||||||
|
@include border-radius($custom-range-thumb-border-radius);
|
||||||
|
@include box-shadow($custom-range-thumb-box-shadow);
|
||||||
|
appearance: none;
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
outline: none;
|
||||||
|
box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active {
|
||||||
|
@include gradient-bg($custom-range-thumb-active-bg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-webkit-slider-runnable-track {
|
||||||
|
width: $custom-range-track-width;
|
||||||
|
height: $custom-range-track-height;
|
||||||
|
color: transparent; // Why?
|
||||||
|
cursor: $custom-range-track-cursor;
|
||||||
|
background-color: $custom-range-track-bg;
|
||||||
|
border-color: transparent;
|
||||||
|
@include border-radius($custom-range-track-border-radius);
|
||||||
|
@include box-shadow($custom-range-track-box-shadow);
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-moz-range-thumb {
|
||||||
|
width: $custom-range-thumb-width;
|
||||||
|
height: $custom-range-thumb-height;
|
||||||
|
@include gradient-bg($custom-range-thumb-bg);
|
||||||
|
border: $custom-range-thumb-border;
|
||||||
|
@include border-radius($custom-range-thumb-border-radius);
|
||||||
|
@include box-shadow($custom-range-thumb-box-shadow);
|
||||||
|
appearance: none;
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
outline: none;
|
||||||
|
box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active {
|
||||||
|
@include gradient-bg($custom-range-thumb-active-bg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-moz-range-track {
|
||||||
|
width: $custom-range-track-width;
|
||||||
|
height: $custom-range-track-height;
|
||||||
|
color: transparent;
|
||||||
|
cursor: $custom-range-track-cursor;
|
||||||
|
background-color: $custom-range-track-bg;
|
||||||
|
border-color: transparent; // Firefox specific?
|
||||||
|
@include border-radius($custom-range-track-border-radius);
|
||||||
|
@include box-shadow($custom-range-track-box-shadow);
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-ms-thumb {
|
||||||
|
width: $custom-range-thumb-width;
|
||||||
|
height: $custom-range-thumb-height;
|
||||||
|
@include gradient-bg($custom-range-thumb-bg);
|
||||||
|
border: $custom-range-thumb-border;
|
||||||
|
@include border-radius($custom-range-thumb-border-radius);
|
||||||
|
@include box-shadow($custom-range-thumb-box-shadow);
|
||||||
|
appearance: none;
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
outline: none;
|
||||||
|
box-shadow: $custom-range-thumb-focus-box-shadow; // No mixin for focus accessibility
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active {
|
||||||
|
@include gradient-bg($custom-range-thumb-active-bg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-ms-track {
|
||||||
|
width: $custom-range-track-width;
|
||||||
|
height: $custom-range-track-height;
|
||||||
|
color: transparent;
|
||||||
|
cursor: $custom-range-track-cursor;
|
||||||
|
background-color: transparent;
|
||||||
|
border-color: transparent;
|
||||||
|
border-width: ($custom-range-thumb-height * .5);
|
||||||
|
@include box-shadow($custom-range-track-box-shadow);
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-ms-fill-lower {
|
||||||
|
background-color: $custom-range-track-bg;
|
||||||
|
@include border-radius($custom-range-track-border-radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
&::-ms-fill-upper {
|
||||||
|
margin-right: 15px; // arbitrary?
|
||||||
|
background-color: $custom-range-track-bg;
|
||||||
|
@include border-radius($custom-range-track-border-radius);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
// The dropdown wrapper (`<div>`)
|
// The dropdown wrapper (`<div>`)
|
||||||
.dropup,
|
.dropup,
|
||||||
.dropdown {
|
.dropright,
|
||||||
|
.dropdown,
|
||||||
|
.dropleft {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -31,10 +33,17 @@
|
||||||
@include box-shadow($dropdown-box-shadow);
|
@include box-shadow($dropdown-box-shadow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.dropdown-menu-right {
|
||||||
|
right: 0;
|
||||||
|
left: auto;
|
||||||
|
}
|
||||||
|
|
||||||
// Allow for dropdowns to go bottom up (aka, dropup-menu)
|
// Allow for dropdowns to go bottom up (aka, dropup-menu)
|
||||||
// Just add .dropup after the standard .dropdown class and you're set.
|
// Just add .dropup after the standard .dropdown class and you're set.
|
||||||
.dropup {
|
.dropup {
|
||||||
.dropdown-menu {
|
.dropdown-menu {
|
||||||
|
top: auto;
|
||||||
|
bottom: 100%;
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: $dropdown-spacer;
|
margin-bottom: $dropdown-spacer;
|
||||||
}
|
}
|
||||||
|
@ -46,6 +55,9 @@
|
||||||
|
|
||||||
.dropright {
|
.dropright {
|
||||||
.dropdown-menu {
|
.dropdown-menu {
|
||||||
|
top: 0;
|
||||||
|
right: auto;
|
||||||
|
left: 100%;
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-left: $dropdown-spacer;
|
margin-left: $dropdown-spacer;
|
||||||
}
|
}
|
||||||
|
@ -60,6 +72,9 @@
|
||||||
|
|
||||||
.dropleft {
|
.dropleft {
|
||||||
.dropdown-menu {
|
.dropdown-menu {
|
||||||
|
top: 0;
|
||||||
|
right: 100%;
|
||||||
|
left: auto;
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-right: $dropdown-spacer;
|
margin-right: $dropdown-spacer;
|
||||||
}
|
}
|
||||||
|
@ -72,6 +87,19 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// When enabled Popper.js, reset basic dropdown position
|
||||||
|
// stylelint-disable no-duplicate-selectors
|
||||||
|
.dropdown-menu {
|
||||||
|
&[x-placement^="top"],
|
||||||
|
&[x-placement^="right"],
|
||||||
|
&[x-placement^="bottom"],
|
||||||
|
&[x-placement^="left"] {
|
||||||
|
right: auto;
|
||||||
|
bottom: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// stylelint-enable no-duplicate-selectors
|
||||||
|
|
||||||
// Dividers (basically an `<hr>`) within the dropdown
|
// Dividers (basically an `<hr>`) within the dropdown
|
||||||
.dropdown-divider {
|
.dropdown-divider {
|
||||||
@include nav-divider($dropdown-divider-bg);
|
@include nav-divider($dropdown-divider-bg);
|
||||||
|
@ -129,3 +157,10 @@
|
||||||
color: $dropdown-header-color;
|
color: $dropdown-header-color;
|
||||||
white-space: nowrap; // as with > li > a
|
white-space: nowrap; // as with > li > a
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Dropdown text
|
||||||
|
.dropdown-item-text {
|
||||||
|
display: block;
|
||||||
|
padding: $dropdown-item-padding-y $dropdown-item-padding-x;
|
||||||
|
color: $dropdown-link-color;
|
||||||
|
}
|
||||||
|
|
|
@ -121,6 +121,7 @@ select.form-control {
|
||||||
padding-bottom: $input-padding-y;
|
padding-bottom: $input-padding-y;
|
||||||
margin-bottom: 0; // match inputs if this class comes on inputs with default margins
|
margin-bottom: 0; // match inputs if this class comes on inputs with default margins
|
||||||
line-height: $input-line-height;
|
line-height: $input-line-height;
|
||||||
|
color: $input-plaintext-color;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border: solid transparent;
|
border: solid transparent;
|
||||||
border-width: $input-border-width 0;
|
border-width: $input-border-width 0;
|
||||||
|
@ -302,7 +303,8 @@ select.form-control-lg {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.input-group {
|
.input-group,
|
||||||
|
.custom-select {
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,7 @@
|
||||||
// Request a theme color level
|
// Request a theme color level
|
||||||
@function theme-color-level($color-name: "primary", $level: 0) {
|
@function theme-color-level($color-name: "primary", $level: 0) {
|
||||||
$color: theme-color($color-name);
|
$color: theme-color($color-name);
|
||||||
$color-base: if($level > 0, #000, #fff);
|
$color-base: if($level > 0, $black, $white);
|
||||||
$level: abs($level);
|
$level: abs($level);
|
||||||
|
|
||||||
@return mix($color-base, $color, $level * $theme-color-interval);
|
@return mix($color-base, $color, $level * $theme-color-interval);
|
||||||
|
|
|
@ -46,9 +46,9 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
&:not(:last-child) .custom-file-label,
|
&:not(:last-child) .custom-file-label,
|
||||||
&:not(:last-child) .custom-file-label::before { @include border-right-radius(0); }
|
&:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }
|
||||||
&:not(:first-child) .custom-file-label,
|
&:not(:first-child) .custom-file-label,
|
||||||
&:not(:first-child) .custom-file-label::before { @include border-left-radius(0); }
|
&:not(:first-child) .custom-file-label::after { @include border-left-radius(0); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,6 @@
|
||||||
|
|
||||||
// // Layout
|
// // Layout
|
||||||
@import "mixins/clearfix";
|
@import "mixins/clearfix";
|
||||||
// @import "mixins/navbar-align";
|
|
||||||
@import "mixins/grid-framework";
|
@import "mixins/grid-framework";
|
||||||
@import "mixins/grid";
|
@import "mixins/grid";
|
||||||
@import "mixins/float";
|
@import "mixins/float";
|
||||||
|
|
|
@ -67,7 +67,7 @@
|
||||||
background-color: $modal-content-bg;
|
background-color: $modal-content-bg;
|
||||||
background-clip: padding-box;
|
background-clip: padding-box;
|
||||||
border: $modal-content-border-width solid $modal-content-border-color;
|
border: $modal-content-border-width solid $modal-content-border-color;
|
||||||
@include border-radius($border-radius-lg);
|
@include border-radius($modal-content-border-radius);
|
||||||
@include box-shadow($modal-content-box-shadow-xs);
|
@include box-shadow($modal-content-box-shadow-xs);
|
||||||
// Remove focus outline from opened modal
|
// Remove focus outline from opened modal
|
||||||
outline: 0;
|
outline: 0;
|
||||||
|
@ -96,7 +96,7 @@
|
||||||
justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
|
justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
|
||||||
padding: $modal-header-padding;
|
padding: $modal-header-padding;
|
||||||
border-bottom: $modal-header-border-width solid $modal-header-border-color;
|
border-bottom: $modal-header-border-width solid $modal-header-border-color;
|
||||||
@include border-top-radius($border-radius-lg);
|
@include border-top-radius($modal-content-border-radius);
|
||||||
|
|
||||||
.close {
|
.close {
|
||||||
padding: $modal-header-padding;
|
padding: $modal-header-padding;
|
||||||
|
|
|
@ -162,11 +162,6 @@
|
||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-menu-right {
|
|
||||||
right: 0;
|
|
||||||
left: auto; // Reset the default from `.dropdown-menu`
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav-link {
|
.nav-link {
|
||||||
padding-right: $navbar-nav-link-padding-x;
|
padding-right: $navbar-nav-link-padding-x;
|
||||||
padding-left: $navbar-nav-link-padding-x;
|
padding-left: $navbar-nav-link-padding-x;
|
||||||
|
@ -189,13 +184,6 @@
|
||||||
.navbar-toggler {
|
.navbar-toggler {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropup {
|
|
||||||
.dropdown-menu {
|
|
||||||
top: auto;
|
|
||||||
bottom: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
border: $pagination-border-width solid $pagination-border-color;
|
border: $pagination-border-width solid $pagination-border-color;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
|
z-index: 2;
|
||||||
color: $pagination-hover-color;
|
color: $pagination-hover-color;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background-color: $pagination-hover-bg;
|
background-color: $pagination-hover-bg;
|
||||||
|
@ -23,7 +24,7 @@
|
||||||
|
|
||||||
&:focus {
|
&:focus {
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
outline: 0;
|
outline: $pagination-focus-outline;
|
||||||
box-shadow: $pagination-focus-box-shadow;
|
box-shadow: $pagination-focus-box-shadow;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
// ==========================================================================
|
// ==========================================================================
|
||||||
// Print styles.
|
// Print styles.
|
||||||
// Inlined to avoid the additional HTTP request:
|
// Inlined to avoid the additional HTTP request:
|
||||||
// http://www.phpied.com/delay-loading-your-print-css/
|
// https://www.phpied.com/delay-loading-your-print-css/
|
||||||
// ==========================================================================
|
// ==========================================================================
|
||||||
|
|
||||||
@if $enable-print-styles {
|
@if $enable-print-styles {
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
*::before,
|
*::before,
|
||||||
*::after {
|
*::after {
|
||||||
// Bootstrap specific; comment out `color` and `background`
|
// Bootstrap specific; comment out `color` and `background`
|
||||||
//color: #000 !important; // Black prints faster: http://www.sanbeiji.com/archives/953
|
//color: $black !important; // Black prints faster
|
||||||
text-shadow: none !important;
|
text-shadow: none !important;
|
||||||
//background: transparent !important;
|
//background: transparent !important;
|
||||||
box-shadow: none !important;
|
box-shadow: none !important;
|
||||||
|
@ -51,7 +51,7 @@
|
||||||
}
|
}
|
||||||
pre,
|
pre,
|
||||||
blockquote {
|
blockquote {
|
||||||
border: $border-width solid #999; // Bootstrap custom code; using `$border-width` instead of 1px
|
border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px
|
||||||
page-break-inside: avoid;
|
page-break-inside: avoid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
.badge {
|
.badge {
|
||||||
border: $border-width solid #000;
|
border: $border-width solid $black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table {
|
.table {
|
||||||
|
@ -109,13 +109,13 @@
|
||||||
|
|
||||||
td,
|
td,
|
||||||
th {
|
th {
|
||||||
background-color: #fff !important;
|
background-color: $white !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.table-bordered {
|
.table-bordered {
|
||||||
th,
|
th,
|
||||||
td {
|
td {
|
||||||
border: 1px solid #ddd !important;
|
border: 1px solid $gray-300 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
color: $progress-bar-color;
|
color: $progress-bar-color;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
white-space: nowrap;
|
||||||
background-color: $progress-bar-bg;
|
background-color: $progress-bar-bg;
|
||||||
@include transition($progress-bar-transition);
|
@include transition($progress-bar-transition);
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ html {
|
||||||
-webkit-text-size-adjust: 100%; // 4
|
-webkit-text-size-adjust: 100%; // 4
|
||||||
-ms-text-size-adjust: 100%; // 4
|
-ms-text-size-adjust: 100%; // 4
|
||||||
-ms-overflow-style: scrollbar; // 5
|
-ms-overflow-style: scrollbar; // 5
|
||||||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6
|
-webkit-tap-highlight-color: rgba($black, 0); // 6
|
||||||
}
|
}
|
||||||
|
|
||||||
// IE10+ doesn't honor `<meta name="viewport">` in some cases.
|
// IE10+ doesn't honor `<meta name="viewport">` in some cases.
|
||||||
|
@ -290,7 +290,7 @@ table {
|
||||||
caption {
|
caption {
|
||||||
padding-top: $table-cell-padding;
|
padding-top: $table-cell-padding;
|
||||||
padding-bottom: $table-cell-padding;
|
padding-bottom: $table-cell-padding;
|
||||||
color: $text-muted;
|
color: $table-caption-color;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
caption-side: bottom;
|
caption-side: bottom;
|
||||||
}
|
}
|
||||||
|
@ -309,7 +309,7 @@ th {
|
||||||
label {
|
label {
|
||||||
// Allow labels to use `margin` for spacing.
|
// Allow labels to use `margin` for spacing.
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-bottom: .5rem;
|
margin-bottom: $label-margin-bottom;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Remove the default `border-radius` that macOS Chrome adds.
|
// Remove the default `border-radius` that macOS Chrome adds.
|
||||||
|
|
|
@ -42,9 +42,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Bordered version
|
// Border versions
|
||||||
//
|
//
|
||||||
// Add borders all around the table and between all the columns.
|
// Add or remove borders all around the table and between all the columns.
|
||||||
|
|
||||||
.table-bordered {
|
.table-bordered {
|
||||||
border: $table-border-width solid $table-border-color;
|
border: $table-border-width solid $table-border-color;
|
||||||
|
@ -62,13 +62,21 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.table-borderless {
|
||||||
|
th,
|
||||||
|
td,
|
||||||
|
thead th,
|
||||||
|
tbody + tbody {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Zebra-striping
|
// Zebra-striping
|
||||||
//
|
//
|
||||||
// Default zebra-stripe styles (alternating gray and transparent backgrounds)
|
// Default zebra-stripe styles (alternating gray and transparent backgrounds)
|
||||||
|
|
||||||
.table-striped {
|
.table-striped {
|
||||||
tbody tr:nth-of-type(odd) {
|
tbody tr:nth-of-type(#{$table-striped-order}) {
|
||||||
background-color: $table-accent-bg;
|
background-color: $table-accent-bg;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,30 +1,16 @@
|
||||||
// stylelint-disable selector-no-qualifying-type
|
// stylelint-disable selector-no-qualifying-type
|
||||||
|
|
||||||
.fade {
|
.fade {
|
||||||
opacity: 0;
|
|
||||||
@include transition($transition-fade);
|
@include transition($transition-fade);
|
||||||
|
|
||||||
&.show {
|
&:not(.show) {
|
||||||
opacity: 1;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.collapse {
|
.collapse {
|
||||||
display: none;
|
&:not(.show) {
|
||||||
&.show {
|
display: none;
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
tr {
|
|
||||||
&.collapse.show {
|
|
||||||
display: table-row;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
tbody {
|
|
||||||
&.collapse.show {
|
|
||||||
display: table-row-group;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
@import "utilities/float";
|
@import "utilities/float";
|
||||||
@import "utilities/position";
|
@import "utilities/position";
|
||||||
@import "utilities/screenreaders";
|
@import "utilities/screenreaders";
|
||||||
|
@import "utilities/shadows";
|
||||||
@import "utilities/sizing";
|
@import "utilities/sizing";
|
||||||
@import "utilities/spacing";
|
@import "utilities/spacing";
|
||||||
@import "utilities/text";
|
@import "utilities/text";
|
||||||
|
|
|
@ -88,11 +88,11 @@ $theme-colors: map-merge((
|
||||||
$theme-color-interval: 8% !default;
|
$theme-color-interval: 8% !default;
|
||||||
|
|
||||||
// The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255.
|
// The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255.
|
||||||
$yiq-contrasted-threshold: 150 !default;
|
$yiq-contrasted-threshold: 150 !default;
|
||||||
|
|
||||||
// Customize the light and dark text colors for use in our YIQ color contrast function.
|
// Customize the light and dark text colors for use in our YIQ color contrast function.
|
||||||
$yiq-text-dark: $gray-900 !default;
|
$yiq-text-dark: $gray-900 !default;
|
||||||
$yiq-text-light: $white !default;
|
$yiq-text-light: $white !default;
|
||||||
|
|
||||||
// Options
|
// Options
|
||||||
//
|
//
|
||||||
|
@ -132,7 +132,8 @@ $sizes: map-merge((
|
||||||
25: 25%,
|
25: 25%,
|
||||||
50: 50%,
|
50: 50%,
|
||||||
75: 75%,
|
75: 75%,
|
||||||
100: 100%
|
100: 100%,
|
||||||
|
auto: auto
|
||||||
), $sizes);
|
), $sizes);
|
||||||
// stylelint-enable
|
// stylelint-enable
|
||||||
|
|
||||||
|
@ -211,6 +212,10 @@ $border-radius: .25rem !default;
|
||||||
$border-radius-lg: .3rem !default;
|
$border-radius-lg: .3rem !default;
|
||||||
$border-radius-sm: .2rem !default;
|
$border-radius-sm: .2rem !default;
|
||||||
|
|
||||||
|
$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;
|
||||||
|
$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;
|
||||||
|
$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;
|
||||||
|
|
||||||
$component-active-color: $white !default;
|
$component-active-color: $white !default;
|
||||||
$component-active-bg: theme-color("primary") !default;
|
$component-active-bg: theme-color("primary") !default;
|
||||||
|
|
||||||
|
@ -317,6 +322,9 @@ $table-dark-hover-bg: rgba($white, .075) !default;
|
||||||
$table-dark-border-color: lighten($gray-900, 7.5%) !default;
|
$table-dark-border-color: lighten($gray-900, 7.5%) !default;
|
||||||
$table-dark-color: $body-bg !default;
|
$table-dark-color: $body-bg !default;
|
||||||
|
|
||||||
|
$table-striped-order: odd !default;
|
||||||
|
|
||||||
|
$table-caption-color: $text-muted !default;
|
||||||
|
|
||||||
// Buttons + Forms
|
// Buttons + Forms
|
||||||
//
|
//
|
||||||
|
@ -380,6 +388,8 @@ $btn-transition: color .15s ease-in-out, background-color .15s ease
|
||||||
|
|
||||||
// Forms
|
// Forms
|
||||||
|
|
||||||
|
$label-margin-bottom: .5rem !default;
|
||||||
|
|
||||||
$input-padding-y: $input-btn-padding-y !default;
|
$input-padding-y: $input-btn-padding-y !default;
|
||||||
$input-padding-x: $input-btn-padding-x !default;
|
$input-padding-x: $input-btn-padding-x !default;
|
||||||
$input-line-height: $input-btn-line-height !default;
|
$input-line-height: $input-btn-line-height !default;
|
||||||
|
@ -411,6 +421,7 @@ $input-focus-width: $input-btn-focus-width !default;
|
||||||
$input-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
$input-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
||||||
|
|
||||||
$input-placeholder-color: $gray-600 !default;
|
$input-placeholder-color: $gray-600 !default;
|
||||||
|
$input-plaintext-color: $body-color !default;
|
||||||
|
|
||||||
$input-height-border: $input-border-width * 2 !default;
|
$input-height-border: $input-border-width * 2 !default;
|
||||||
|
|
||||||
|
@ -449,7 +460,7 @@ $custom-control-indicator-bg-size: 50% 50% !default;
|
||||||
$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;
|
$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;
|
||||||
|
|
||||||
$custom-control-indicator-disabled-bg: $gray-200 !default;
|
$custom-control-indicator-disabled-bg: $gray-200 !default;
|
||||||
$custom-control-label-disabled-color: $gray-600 !default;
|
$custom-control-label-disabled-color: $gray-600 !default;
|
||||||
|
|
||||||
$custom-control-indicator-checked-color: $component-active-color !default;
|
$custom-control-indicator-checked-color: $component-active-color !default;
|
||||||
$custom-control-indicator-checked-bg: $component-active-bg !default;
|
$custom-control-indicator-checked-bg: $component-active-bg !default;
|
||||||
|
@ -465,22 +476,22 @@ $custom-control-indicator-active-box-shadow: none !default;
|
||||||
$custom-checkbox-indicator-border-radius: $border-radius !default;
|
$custom-checkbox-indicator-border-radius: $border-radius !default;
|
||||||
$custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
$custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||||
|
|
||||||
$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
|
$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
|
||||||
$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
|
$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
|
||||||
$custom-checkbox-indicator-icon-indeterminate: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E"), "#", "%23") !default;
|
$custom-checkbox-indicator-icon-indeterminate: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||||
$custom-checkbox-indicator-indeterminate-box-shadow: none !default;
|
$custom-checkbox-indicator-indeterminate-box-shadow: none !default;
|
||||||
|
|
||||||
$custom-radio-indicator-border-radius: 50% !default;
|
$custom-radio-indicator-border-radius: 50% !default;
|
||||||
$custom-radio-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E"), "#", "%23") !default;
|
$custom-radio-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||||
|
|
||||||
$custom-select-padding-y: .375rem !default;
|
$custom-select-padding-y: .375rem !default;
|
||||||
$custom-select-padding-x: .75rem !default;
|
$custom-select-padding-x: .75rem !default;
|
||||||
$custom-select-height: $input-height !default;
|
$custom-select-height: $input-height !default;
|
||||||
$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
|
$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
|
||||||
$custom-select-line-height: $input-btn-line-height !default;
|
$custom-select-line-height: $input-btn-line-height !default;
|
||||||
$custom-select-color: $input-color !default;
|
$custom-select-color: $input-color !default;
|
||||||
$custom-select-disabled-color: $gray-600 !default;
|
$custom-select-disabled-color: $gray-600 !default;
|
||||||
$custom-select-bg: $white !default;
|
$custom-select-bg: $input-bg !default;
|
||||||
$custom-select-disabled-bg: $gray-200 !default;
|
$custom-select-disabled-bg: $gray-200 !default;
|
||||||
$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
|
$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
|
||||||
$custom-select-indicator-color: $gray-800 !default;
|
$custom-select-indicator-color: $gray-800 !default;
|
||||||
|
@ -498,6 +509,22 @@ $custom-select-height-sm: $input-height-sm !default;
|
||||||
$custom-select-font-size-lg: 125% !default;
|
$custom-select-font-size-lg: 125% !default;
|
||||||
$custom-select-height-lg: $input-height-lg !default;
|
$custom-select-height-lg: $input-height-lg !default;
|
||||||
|
|
||||||
|
$custom-range-track-width: 100% !default;
|
||||||
|
$custom-range-track-height: .5rem !default;
|
||||||
|
$custom-range-track-cursor: pointer !default;
|
||||||
|
$custom-range-track-bg: $gray-300 !default;
|
||||||
|
$custom-range-track-border-radius: 1rem !default;
|
||||||
|
$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;
|
||||||
|
|
||||||
|
$custom-range-thumb-width: 1rem !default;
|
||||||
|
$custom-range-thumb-height: $custom-range-thumb-width !default;
|
||||||
|
$custom-range-thumb-bg: $component-active-bg !default;
|
||||||
|
$custom-range-thumb-border: 0 !default;
|
||||||
|
$custom-range-thumb-border-radius: 1rem !default;
|
||||||
|
$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;
|
||||||
|
$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;
|
||||||
|
$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;
|
||||||
|
|
||||||
$custom-file-height: $input-height !default;
|
$custom-file-height: $input-height !default;
|
||||||
$custom-file-focus-border-color: $input-focus-border-color !default;
|
$custom-file-focus-border-color: $input-focus-border-color !default;
|
||||||
$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
$custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
||||||
|
@ -585,6 +612,9 @@ $nav-pills-border-radius: $border-radius !default;
|
||||||
$nav-pills-link-active-color: $component-active-color !default;
|
$nav-pills-link-active-color: $component-active-color !default;
|
||||||
$nav-pills-link-active-bg: $component-active-bg !default;
|
$nav-pills-link-active-bg: $component-active-bg !default;
|
||||||
|
|
||||||
|
$nav-divider-color: $gray-200 !default;
|
||||||
|
$nav-divider-margin-y: ($spacer / 2) !default;
|
||||||
|
|
||||||
// Navbar
|
// Navbar
|
||||||
|
|
||||||
$navbar-padding-y: ($spacer / 2) !default;
|
$navbar-padding-y: ($spacer / 2) !default;
|
||||||
|
@ -633,6 +663,7 @@ $pagination-border-width: $border-width !default;
|
||||||
$pagination-border-color: $gray-300 !default;
|
$pagination-border-color: $gray-300 !default;
|
||||||
|
|
||||||
$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;
|
||||||
|
$pagination-focus-outline: 0 !default;
|
||||||
|
|
||||||
$pagination-hover-color: $link-hover-color !default;
|
$pagination-hover-color: $link-hover-color !default;
|
||||||
$pagination-hover-bg: $gray-200 !default;
|
$pagination-hover-bg: $gray-200 !default;
|
||||||
|
@ -676,19 +707,19 @@ $card-columns-margin: $card-spacer-y !default;
|
||||||
|
|
||||||
// Tooltips
|
// Tooltips
|
||||||
|
|
||||||
$tooltip-font-size: $font-size-sm !default;
|
$tooltip-font-size: $font-size-sm !default;
|
||||||
$tooltip-max-width: 200px !default;
|
$tooltip-max-width: 200px !default;
|
||||||
$tooltip-color: $white !default;
|
$tooltip-color: $white !default;
|
||||||
$tooltip-bg: $black !default;
|
$tooltip-bg: $black !default;
|
||||||
$tooltip-border-radius: $border-radius !default;
|
$tooltip-border-radius: $border-radius !default;
|
||||||
$tooltip-opacity: .9 !default;
|
$tooltip-opacity: .9 !default;
|
||||||
$tooltip-padding-y: .25rem !default;
|
$tooltip-padding-y: .25rem !default;
|
||||||
$tooltip-padding-x: .5rem !default;
|
$tooltip-padding-x: .5rem !default;
|
||||||
$tooltip-margin: 0 !default;
|
$tooltip-margin: 0 !default;
|
||||||
|
|
||||||
$tooltip-arrow-width: .8rem !default;
|
$tooltip-arrow-width: .8rem !default;
|
||||||
$tooltip-arrow-height: .4rem !default;
|
$tooltip-arrow-height: .4rem !default;
|
||||||
$tooltip-arrow-color: $tooltip-bg !default;
|
$tooltip-arrow-color: $tooltip-bg !default;
|
||||||
|
|
||||||
|
|
||||||
// Popovers
|
// Popovers
|
||||||
|
@ -734,26 +765,27 @@ $badge-pill-border-radius: 10rem !default;
|
||||||
// Modals
|
// Modals
|
||||||
|
|
||||||
// Padding applied to the modal body
|
// Padding applied to the modal body
|
||||||
$modal-inner-padding: 1rem !default;
|
$modal-inner-padding: 1rem !default;
|
||||||
|
|
||||||
$modal-dialog-margin: .5rem !default;
|
$modal-dialog-margin: .5rem !default;
|
||||||
$modal-dialog-margin-y-sm-up: 1.75rem !default;
|
$modal-dialog-margin-y-sm-up: 1.75rem !default;
|
||||||
|
|
||||||
$modal-title-line-height: $line-height-base !default;
|
$modal-title-line-height: $line-height-base !default;
|
||||||
|
|
||||||
$modal-content-bg: $white !default;
|
$modal-content-bg: $white !default;
|
||||||
$modal-content-border-color: rgba($black, .2) !default;
|
$modal-content-border-color: rgba($black, .2) !default;
|
||||||
$modal-content-border-width: $border-width !default;
|
$modal-content-border-width: $border-width !default;
|
||||||
$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;
|
$modal-content-border-radius: $border-radius-lg !default;
|
||||||
$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;
|
$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;
|
||||||
|
$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;
|
||||||
|
|
||||||
$modal-backdrop-bg: $black !default;
|
$modal-backdrop-bg: $black !default;
|
||||||
$modal-backdrop-opacity: .5 !default;
|
$modal-backdrop-opacity: .5 !default;
|
||||||
$modal-header-border-color: $gray-200 !default;
|
$modal-header-border-color: $gray-200 !default;
|
||||||
$modal-footer-border-color: $modal-header-border-color !default;
|
$modal-footer-border-color: $modal-header-border-color !default;
|
||||||
$modal-header-border-width: $modal-content-border-width !default;
|
$modal-header-border-width: $modal-content-border-width !default;
|
||||||
$modal-footer-border-width: $modal-header-border-width !default;
|
$modal-footer-border-width: $modal-header-border-width !default;
|
||||||
$modal-header-padding: 1rem !default;
|
$modal-header-padding: 1rem !default;
|
||||||
|
|
||||||
$modal-lg: 800px !default;
|
$modal-lg: 800px !default;
|
||||||
$modal-md: 500px !default;
|
$modal-md: 500px !default;
|
||||||
|
@ -842,7 +874,9 @@ $breadcrumb-margin-bottom: 1rem !default;
|
||||||
$breadcrumb-bg: $gray-200 !default;
|
$breadcrumb-bg: $gray-200 !default;
|
||||||
$breadcrumb-divider-color: $gray-600 !default;
|
$breadcrumb-divider-color: $gray-600 !default;
|
||||||
$breadcrumb-active-color: $gray-600 !default;
|
$breadcrumb-active-color: $gray-600 !default;
|
||||||
$breadcrumb-divider: "/" !default;
|
$breadcrumb-divider: quote("/") !default;
|
||||||
|
|
||||||
|
$breadcrumb-border-radius: $border-radius !default;
|
||||||
|
|
||||||
|
|
||||||
// Carousel
|
// Carousel
|
||||||
|
@ -864,7 +898,7 @@ $carousel-control-icon-width: 20px !default;
|
||||||
$carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
$carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||||
$carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
$carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
|
||||||
|
|
||||||
$carousel-transition: transform .6s ease !default;
|
$carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitons (e.g., `transform 2s ease, opacity .5s ease-out`)
|
||||||
|
|
||||||
|
|
||||||
// Close
|
// Close
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*!
|
/*!
|
||||||
* Bootstrap Grid v4.0.0 (https://getbootstrap.com)
|
* Bootstrap Grid v4.1.0 (https://getbootstrap.com/)
|
||||||
* Copyright 2011-2018 The Bootstrap Authors
|
* Copyright 2011-2018 The Bootstrap Authors
|
||||||
* Copyright 2011-2018 Twitter, Inc.
|
* Copyright 2011-2018 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*!
|
/*!
|
||||||
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
|
* Bootstrap Reboot v4.1.0 (https://getbootstrap.com/)
|
||||||
* Copyright 2011-2018 The Bootstrap Authors
|
* Copyright 2011-2018 The Bootstrap Authors
|
||||||
* Copyright 2011-2018 Twitter, Inc.
|
* Copyright 2011-2018 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*!
|
/*!
|
||||||
* Bootstrap v4.0.0 (https://getbootstrap.com)
|
* Bootstrap v4.1.0 (https://getbootstrap.com/)
|
||||||
* Copyright 2011-2018 The Bootstrap Authors
|
* Copyright 2011-2018 The Bootstrap Authors
|
||||||
* Copyright 2011-2018 Twitter, Inc.
|
* Copyright 2011-2018 Twitter, Inc.
|
||||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
|
|
||||||
@mixin caret-right {
|
@mixin caret-right {
|
||||||
border-top: $caret-width solid transparent;
|
border-top: $caret-width solid transparent;
|
||||||
|
border-right: 0;
|
||||||
border-bottom: $caret-width solid transparent;
|
border-bottom: $caret-width solid transparent;
|
||||||
border-left: $caret-width solid;
|
border-left: $caret-width solid;
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
margin-top: .1rem;
|
margin-top: .1rem;
|
||||||
font-size: .875rem;
|
font-size: .875rem;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
color: #fff;
|
color: $white;
|
||||||
background-color: rgba($color, .8);
|
background-color: rgba($color, .8);
|
||||||
border-radius: .2rem;
|
border-radius: .2rem;
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
// Horizontal gradient, from left to right
|
// Horizontal gradient, from left to right
|
||||||
//
|
//
|
||||||
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
||||||
@mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
|
||||||
background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
|
background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
|
||||||
background-repeat: repeat-x;
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
|
@ -19,27 +19,27 @@
|
||||||
// Vertical gradient, from top to bottom
|
// Vertical gradient, from top to bottom
|
||||||
//
|
//
|
||||||
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
||||||
@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
|
@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
|
||||||
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
|
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
|
||||||
background-repeat: repeat-x;
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
|
|
||||||
@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
|
@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {
|
||||||
background-image: linear-gradient($deg, $start-color, $end-color);
|
background-image: linear-gradient($deg, $start-color, $end-color);
|
||||||
background-repeat: repeat-x;
|
background-repeat: repeat-x;
|
||||||
}
|
}
|
||||||
@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
|
||||||
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
|
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
}
|
}
|
||||||
@mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
|
@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
|
||||||
background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
}
|
}
|
||||||
@mixin gradient-radial($inner-color: #555, $outer-color: #333) {
|
@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {
|
||||||
background-image: radial-gradient(circle, $inner-color, $outer-color);
|
background-image: radial-gradient(circle, $inner-color, $outer-color);
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
}
|
}
|
||||||
@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {
|
@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {
|
||||||
background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
// stylelint-disable indentation
|
|
||||||
|
|
||||||
// Hover mixin and `$enable-hover-media-query` are deprecated.
|
// Hover mixin and `$enable-hover-media-query` are deprecated.
|
||||||
//
|
//
|
||||||
// Origally added during our alphas and maintained during betas, this mixin was
|
// Origally added during our alphas and maintained during betas, this mixin was
|
||||||
// designed to prevent `:hover` stickiness on iOS—an issue where hover styles
|
// designed to prevent `:hover` stickiness on iOS-an issue where hover styles
|
||||||
// would persist after initial touch.
|
// would persist after initial touch.
|
||||||
//
|
//
|
||||||
// For backward compatibility, we've kept these mixins and updated them to
|
// For backward compatibility, we've kept these mixins and updated them to
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
&.active {
|
&.active {
|
||||||
color: #fff;
|
color: $white;
|
||||||
background-color: $color;
|
background-color: $color;
|
||||||
border-color: $color;
|
border-color: $color;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
//
|
//
|
||||||
// Dividers (basically an hr) within dropdowns and nav lists
|
// Dividers (basically an hr) within dropdowns and nav lists
|
||||||
|
|
||||||
@mixin nav-divider($color: #e5e5e5) {
|
@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) {
|
||||||
height: 0;
|
height: 0;
|
||||||
margin: ($spacer / 2) 0;
|
margin: $margin-y 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border-top: 1px solid $color;
|
border-top: 1px solid $color;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// Only display content to screen readers
|
// Only display content to screen readers
|
||||||
//
|
//
|
||||||
// See: http://a11yproject.com/posts/how-to-hide-content/
|
// See: https://a11yproject.com/posts/how-to-hide-content/
|
||||||
// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
|
// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
|
||||||
|
|
||||||
@mixin sr-only {
|
@mixin sr-only {
|
||||||
|
@ -11,7 +11,6 @@
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
clip: rect(0, 0, 0, 0);
|
clip: rect(0, 0, 0, 0);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
clip-path: inset(50%);
|
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,6 +29,5 @@
|
||||||
overflow: visible;
|
overflow: visible;
|
||||||
clip: auto;
|
clip: auto;
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
clip-path: none;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,4 +6,6 @@
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border: 0;
|
border: 0;
|
||||||
|
|
||||||
|
@warn "The `text-hide()` mixin has been deprecated as of v4.1.0. It will be removed entirely in v5.";
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,4 +6,8 @@
|
||||||
transition: $transition;
|
transition: $transition;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media screen and (prefers-reduced-motion: reduce) {
|
||||||
|
transition: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,11 @@
|
||||||
.flex#{$infix}-wrap { flex-wrap: wrap !important; }
|
.flex#{$infix}-wrap { flex-wrap: wrap !important; }
|
||||||
.flex#{$infix}-nowrap { flex-wrap: nowrap !important; }
|
.flex#{$infix}-nowrap { flex-wrap: nowrap !important; }
|
||||||
.flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }
|
.flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }
|
||||||
|
.flex#{$infix}-fill { flex: 1 1 auto !important; }
|
||||||
|
.flex#{$infix}-grow-0 { flex-grow: 0 !important; }
|
||||||
|
.flex#{$infix}-grow-1 { flex-grow: 1 !important; }
|
||||||
|
.flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }
|
||||||
|
.flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }
|
||||||
|
|
||||||
.justify-content#{$infix}-start { justify-content: flex-start !important; }
|
.justify-content#{$infix}-start { justify-content: flex-start !important; }
|
||||||
.justify-content#{$infix}-end { justify-content: flex-end !important; }
|
.justify-content#{$infix}-end { justify-content: flex-end !important; }
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
// Common values
|
// Common values
|
||||||
|
|
||||||
// Sass list not in variables since it's not intended for customization.
|
// Sass list not in variables since it's not intended for customization.
|
||||||
|
// stylelint-disable-next-line scss/dollar-variable-default
|
||||||
$positions: static, relative, absolute, fixed, sticky;
|
$positions: static, relative, absolute, fixed, sticky;
|
||||||
|
|
||||||
@each $position in $positions {
|
@each $position in $positions {
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
// stylelint-disable declaration-no-important
|
||||||
|
|
||||||
|
.shadow-sm { box-shadow: $box-shadow-sm !important; }
|
||||||
|
.shadow { box-shadow: $box-shadow !important; }
|
||||||
|
.shadow-lg { box-shadow: $box-shadow-lg !important; }
|
||||||
|
.shadow-none { box-shadow: none !important; }
|
|
@ -4,6 +4,8 @@
|
||||||
// Text
|
// Text
|
||||||
//
|
//
|
||||||
|
|
||||||
|
.text-monospace { font-family: $font-family-monospace; }
|
||||||
|
|
||||||
// Alignment
|
// Alignment
|
||||||
|
|
||||||
.text-justify { text-align: justify !important; }
|
.text-justify { text-align: justify !important; }
|
||||||
|
@ -37,14 +39,18 @@
|
||||||
|
|
||||||
// Contextual colors
|
// Contextual colors
|
||||||
|
|
||||||
.text-white { color: #fff !important; }
|
.text-white { color: $white !important; }
|
||||||
|
|
||||||
@each $color, $value in $theme-colors {
|
@each $color, $value in $theme-colors {
|
||||||
@include text-emphasis-variant(".text-#{$color}", $value);
|
@include text-emphasis-variant(".text-#{$color}", $value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.text-body { color: $body-color !important; }
|
||||||
.text-muted { color: $text-muted !important; }
|
.text-muted { color: $text-muted !important; }
|
||||||
|
|
||||||
|
.text-black-50 { color: rgba($black, .5) !important; }
|
||||||
|
.text-white-50 { color: rgba($white, .5) !important; }
|
||||||
|
|
||||||
// Misc
|
// Misc
|
||||||
|
|
||||||
.text-hide {
|
.text-hide {
|
||||||
|
|
|
@ -3,12 +3,12 @@ Theme Name: UnderStrap
|
||||||
Theme URI: http://understrap.com
|
Theme URI: http://understrap.com
|
||||||
Author: Holger Koenemann
|
Author: Holger Koenemann
|
||||||
Author URI: http://www.holgerkoenemann.de
|
Author URI: http://www.holgerkoenemann.de
|
||||||
GitHub Theme URI: holger1411/understrap
|
GitHub Theme URI: https://github.com/understrap/understrap
|
||||||
Description: Combination of Automattic´s _s theme and Bootstrap 4. Made as a solid starting point for your next theme project and WordPress website. Use it as starter theme or as a parent theme. It is up to you. Including Font Awesome support, built-in widget slider and much more you need for basic websites. IMPORTANT: All developer dependencies are not bundled with this install file. Just download the .zip, extract it and run "npm install" and "gulp copy-assets" inside the extracted /understrap folder.
|
Description: Combination of Automattic´s _s theme and Bootstrap 4. Made as a solid starting point for your next theme project and WordPress website. Use it as starter theme or as a parent theme. It is up to you. Including Font Awesome support, built-in widget slider and much more you need for basic websites. IMPORTANT: All developer dependencies are not bundled with this install file. Just download the .zip, extract it and run "npm install" and "gulp copy-assets" inside the extracted /understrap folder.
|
||||||
That downloads everything and moves it in place so that you can recompile your CSS and JS files;
|
That downloads everything and moves it in place so that you can recompile your CSS and JS files;
|
||||||
A developer version (with Gulp/node and Sass sources) is available on gitHub: https://github.com/holger1411/understrap
|
A developer version (with Gulp/node and Sass sources) is available on gitHub: https://github.com/understrap/understrap
|
||||||
A child theme is available on Github, too: https://github.com/holger1411/understrap-child;
|
A child theme is available on Github, too: https://github.com/understrap/understrap-child;
|
||||||
Version: 0.8.1
|
Version: 0.8.2
|
||||||
License: UnderStrap WordPress Theme, Copyright 2013-2017 Holger Koenemann
|
License: UnderStrap WordPress Theme, Copyright 2013-2017 Holger Koenemann
|
||||||
UnderStrap is distributed under the terms of the GNU GPL version 2
|
UnderStrap is distributed under the terms of the GNU GPL version 2
|
||||||
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
|
|
@ -44,7 +44,7 @@ wc_print_notices(); ?>
|
||||||
|
|
||||||
<p class="woocommerce-form-row form-row">
|
<p class="woocommerce-form-row form-row">
|
||||||
<input type="hidden" name="wc_reset_password" value="true" />
|
<input type="hidden" name="wc_reset_password" value="true" />
|
||||||
<button type="submit" class="btn btn-outline-primary" value="<?php esc_attr_e( 'Save', 'understrap' ); ?>"><?php esc_html_e( 'Save', 'woocommerce' ); ?></button>
|
<button type="submit" class="btn btn-outline-primary" value="<?php esc_attr_e( 'Save', 'understrap' ); ?>"><?php esc_html_e( 'Save', 'understrap' ); ?></button>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<?php wp_nonce_field( 'reset_password' ); ?>
|
<?php wp_nonce_field( 'reset_password' ); ?>
|
||||||
|
|
|
@ -23,7 +23,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||||
?>
|
?>
|
||||||
<form role="search" method="get" class="woocommerce-product-search" action="<?php echo esc_url( home_url( '/' ) ); ?>">
|
<form role="search" method="get" class="woocommerce-product-search" action="<?php echo esc_url( home_url( '/' ) ); ?>">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<label class="sr-only" for="woocommerce-product-search-field-<?php echo isset( $index ) ? absint( $index ) : 0; ?>"><?php esc_html_e( 'Search for:', 'woocommerce' ); ?></label>
|
<label class="sr-only" for="woocommerce-product-search-field-<?php echo isset( $index ) ? absint( $index ) : 0; ?>"><?php esc_html_e( 'Search for:', 'understrap' ); ?></label>
|
||||||
<input type="search" id="woocommerce-product-search-field-<?php echo isset( $index ) ? absint( $index ) : 0; ?>" class="search-field field form-control" placeholder="<?php echo esc_attr__( 'Search products…', 'understrap' ); ?>" value="<?php echo get_search_query(); ?>" name="s" />
|
<input type="search" id="woocommerce-product-search-field-<?php echo isset( $index ) ? absint( $index ) : 0; ?>" class="search-field field form-control" placeholder="<?php echo esc_attr__( 'Search products…', 'understrap' ); ?>" value="<?php echo get_search_query(); ?>" name="s" />
|
||||||
<input type="hidden" name="post_type" value="product" />
|
<input type="hidden" name="post_type" value="product" />
|
||||||
<span class="input-group-append">
|
<span class="input-group-append">
|
||||||
|
|
Reference in New Issue