Compare commits

..

133 commits

Author SHA1 Message Date
te2dy
41a7ce2c1a
Update LISEZMOI.md 2022-11-13 11:22:27 +01:00
te2dy
2a5d80a692
Update README.md 2022-11-13 11:22:00 +01:00
te2dy
29fd947757 Add new social links 2022-03-03 20:27:27 +01:00
te2dy
e1b0973a30
Merge pull request #23 from sghedo/patch-1
Update functions.php
2022-03-03 20:13:15 +01:00
Daniele Sghedoni
a36364dfab
Update functions.php
Fixed label error for Flickr within the function marianne_svg_icons
2022-03-03 15:13:27 +01:00
te2dy
5c5f202e57 Fix entry meta margins for two columns layout 2021-09-20 18:58:19 +02:00
te2dy
9cd66cd408 Fix menu on window resize for the two columns layout 2021-09-20 18:55:06 +02:00
te2dy
fee6d2824e Marianne 1.8 2021-09-18 20:57:19 +02:00
te2dy
6613982368 Minify 2021-09-18 20:57:10 +02:00
te2dy
ea694d0d4a Various enhancements 2021-09-18 20:50:54 +02:00
te2dy
f37149ec5f Update translations 2021-09-18 20:17:15 +02:00
te2dy
1deba6f332 Add custom fonts from Google Fonts 2021-09-18 19:58:00 +02:00
te2dy
4ddb2dceb7 Fix French translation 2021-09-17 19:41:20 +02:00
te2dy
fb359d0d97 Enhance social links function 2021-09-17 19:41:08 +02:00
te2dy
fa32eb3044 Inline "back to top" button 2021-09-17 19:29:33 +02:00
te2dy
7d1da147da Marianne 1.7.1 2021-09-17 12:30:42 +02:00
te2dy
c4130c955f Fix "Back to top" button option in the Customizer 2021-09-17 12:29:33 +02:00
te2dy
36a960af00 Marianne 1.7 2021-09-16 23:00:26 +02:00
te2dy
e27d944b88 Minify 2021-09-16 22:55:26 +02:00
te2dy
716313e2c1 Update translations 2021-09-16 22:55:03 +02:00
te2dy
18a04d15c6 Add option to display/hide the front page title 2021-09-16 22:53:27 +02:00
te2dy
cd01830d75 Fix forgotten localisation 2021-09-16 21:36:59 +02:00
te2dy
7c4ef08555 Fix language mistake 2021-09-16 21:28:04 +02:00
te2dy
959bbb4c1c WP variable naming 2021-09-16 21:24:49 +02:00
te2dy
bc8a6c7ba1 Update tested up to version 2021-09-16 21:23:23 +02:00
te2dy
e044d1cfa6 Minify 2021-09-16 21:23:05 +02:00
te2dy
fac2e87dc7 Add go to top button 2021-09-16 21:22:35 +02:00
te2dy
14f5d7b330 Add an option to display the excerpt or the content in the loop 2021-09-16 20:14:13 +02:00
te2dy
dd0662fe08 Fix margins 2021-09-09 09:35:39 +02:00
te2dy
e767af9259 Add a new line into header.php 2021-09-09 09:35:25 +02:00
te2dy
5459741923 Fix search button bug 2021-08-22 13:13:55 +02:00
te2dy
0ea12f0c68 Update tested up to version 2021-07-31 10:30:23 +02:00
te2dy
7baae124fb Marianne 1.6.1 2021-07-30 18:58:59 +02:00
te2dy
6309c7d0a6 Fix contributor list to fit WordPress standards 2021-07-30 18:55:33 +02:00
te2dy
a98bccdefc Delete an unwanted space 2021-07-30 18:55:05 +02:00
te2dy
a273df562a Update readme.txt 2021-07-30 18:35:55 +02:00
te2dy
16bb16adc5 Update translations 2021-07-30 18:34:25 +02:00
te2dy
2e4fe74a0d Update contributor texts 2021-07-30 18:34:16 +02:00
te2dy
b6305ae2a7 Add Signal and Telegram to social links 2021-07-30 18:33:50 +02:00
te2dy
f23b3dbc43 Update "tested up to" version number 2021-07-25 22:14:39 +02:00
te2dy
f219c41577 Fix contributors styles 2021-06-19 17:32:00 +02:00
te2dy
200eeeb645 Add a contributor 2021-06-19 17:27:49 +02:00
te2dy
2b5489eb0b Update theme tags 2021-06-19 17:16:06 +02:00
te2dy
c8a0f09dd6 Marianne 1.6 2021-06-19 17:14:15 +02:00
te2dy
3626b7482d Fix coding standard 2021-06-19 17:13:50 +02:00
te2dy
4a65667c5c Fix PHP error 2021-06-19 17:05:37 +02:00
te2dy
4215c0c97e Fix customizer controls 2021-06-19 17:03:57 +02:00
te2dy
ed01dd0b8b Update default sidebar margin 2021-06-19 16:45:40 +02:00
te2dy
f998a5f69c Update translation files 2021-06-19 16:40:35 +02:00
te2dy
1ea35da65f Minify files 2021-06-19 16:32:04 +02:00
te2dy
1771519be7 Fix live preview 2021-06-19 16:19:36 +02:00
te2dy
449990179b Enhance left sidebar layout 2021-06-19 16:03:25 +02:00
te2dy
852f40b23c Add TikTok in social links 2021-06-19 09:16:20 +02:00
te2dy
4c3b935e0e Fix PHP error 2021-06-18 17:57:39 +02:00
te2dy
a662d22d9d Enhance left sidebar 2021-06-17 10:20:09 +02:00
te2dy
2f70982b00 Enhance left sidebar 2021-06-16 20:38:19 +02:00
te2dy
8b3a2a027e Add the option to add a left sidebar (not styled yet) 2021-06-08 18:28:04 +02:00
te2dy
f3713b0187 Put page width styles in head instead of styles.css 2021-06-05 11:36:29 +02:00
te2dy
cb384b74e9 Fix phone number sanitization 2021-05-28 20:14:55 +02:00
te2dy
2210dbefdc Add new social links 2021-05-28 19:50:21 +02:00
te2dy
9ee6a88866 Marianne 1.5.1 2021-05-27 23:15:44 +02:00
te2dy
231da8ea14 Update syntax and documentation 2021-05-27 23:13:01 +02:00
te2dy
a9cd8e45b9 Fix feather icons display 2021-05-27 11:15:10 +02:00
te2dy
91797b5e6c Add option descriptions 2021-05-27 10:39:16 +02:00
te2dy
bdc3fdfd12 Marianne 1.5 2021-05-27 10:30:53 +02:00
te2dy
76c81828b2 Fix vertical align of the date 2021-05-27 10:28:28 +02:00
te2dy
1f16f15377 Minify 2021-05-27 10:25:52 +02:00
te2dy
cf642c20e1 Add 500px and Diaspora support 2021-05-27 10:24:09 +02:00
te2dy
a30282d217 Update translation files 2021-05-27 10:23:24 +02:00
te2dy
b7aea26f97 Update readme.txt file 2021-05-26 23:41:55 +02:00
te2dy
5250c856e6 Update text strings and translations. 2021-05-26 23:41:44 +02:00
te2dy
6ac4a911a8 Replace most Feather Icons by Simple Icons 2021-05-26 23:22:51 +02:00
te2dy
5f17a9ad55 Update readme.txt 2021-05-26 22:51:59 +02:00
te2dy
0366bbfb77 Update .pot and French translation 2021-05-26 22:46:17 +02:00
te2dy
22f6c12226 Enhancements to the display of the author' info 2021-05-26 22:39:16 +02:00
te2dy
dc947a0348 Enhancements to the author's name display 2 2021-05-25 23:04:48 +02:00
te2dy
050f5b06b5 Enhancements to the author's name display 2021-05-25 23:04:08 +02:00
te2dy
237bfc89c8
Merge pull request #17 from te2dy/multi-author
Multi author support
2021-05-25 22:31:33 +02:00
te2dy
b692a6ac04 Implement the author's name 2021-05-25 22:30:18 +02:00
te2dy
bd76c3615d Update documentation 2021-05-25 19:46:29 +02:00
te2dy
b751a6b580 Marianne 1.4.1 2021-05-24 11:48:15 +02:00
te2dy
cbcfe5014e Marianne 1.4 2021-05-24 11:25:20 +02:00
te2dy
12c555586c Update translation files 2021-05-20 18:46:35 +02:00
te2dy
f12ba2c29e Add Spotify to social links 2021-05-20 18:46:18 +02:00
te2dy
a62a65fece Delete item white space in the footer menu 2021-05-20 10:18:01 +02:00
te2dy
ecc5676866 Update custom-styles.php 2021-05-18 20:46:00 +02:00
te2dy
be2b9f1f19 Enhance inlined css 2021-05-14 19:44:33 +02:00
te2dy
afffc9e885 Introduce new custom style system (inline css) 2021-05-14 19:28:13 +02:00
te2dy
48e89df912 Update contributor name 2021-05-13 22:29:57 +02:00
te2dy
952c9a5a6e Update 'tested up to' version 2021-05-13 22:29:31 +02:00
te2dy
a60f889fc7 Update readme.txt file 2021-05-09 08:29:25 +02:00
te2dy
7ef09819da Update About page to add contributors' name 2021-05-09 08:28:44 +02:00
te2dy
14be97a9b2 Update readme.txt file 2021-05-08 21:08:07 +02:00
te2dy
c5e02bcf18 Add Dutch translation 2021-05-08 21:04:56 +02:00
te2dy
cb332bcc37 Marianne 1.3.6 2021-05-08 16:18:50 +02:00
te2dy
f86e0e52be Remove menu change on resize to solve a bug on Android 2021-05-08 16:14:59 +02:00
te2dy
6cdcdfd921 Fix version number in readme file 2021-04-24 09:47:49 +02:00
te2dy
853e52dcf5 Fix readme 2021-04-24 09:45:04 +02:00
te2dy
107304a6bc Marianne 1.3.5.2 2021-04-24 09:44:45 +02:00
te2dy
27b58813c9 Fix post navigation bug 2021-04-24 09:44:29 +02:00
te2dy
b895d88450 Marianne 1.3.5.1 2021-04-23 21:15:43 +02:00
te2dy
c212aa28db Fixed menu items align 2021-04-23 21:15:30 +02:00
te2dy
20b10380b0 Fix readme files 2021-04-10 10:01:13 +02:00
te2dy
3f57421a62 Update Support section 2021-04-10 10:00:36 +02:00
te2dy
00c379c517 Marianne 1.3.5 2021-04-08 10:00:16 +02:00
te2dy
eadc7d061c Revert "Merge branch 'main' of https://github.com/te2dy/marianne into main"
This reverts commit a5aebd2d20, reversing
changes made to cc9517593f.
2021-04-08 09:54:44 +02:00
te2dy
a5aebd2d20 Merge branch 'main' of https://github.com/te2dy/marianne into main 2021-04-08 09:53:25 +02:00
te2dy
cc9517593f Revert "Marianne 1.3.5"
This reverts commit 31c72d32b8.
2021-04-08 09:53:01 +02:00
te2dy
31c72d32b8 Marianne 1.3.5 2021-04-08 09:51:21 +02:00
te2dy
fc1d345d83 Marianne 1.3.5 2021-04-08 09:36:41 +02:00
te2dy
8fda6f31d2 Fix navigation & Add block styles & Update SVG functions 2021-04-08 09:15:20 +02:00
te2dy
b88a4a868b Fix search box display 2021-04-07 17:20:08 +02:00
te2dy
6293d7fb4d Fix mobile menu button alignment & Update background color of the menu 2021-04-07 16:53:48 +02:00
te2dy
0ac4756727 Introduce author box 2021-04-06 14:58:14 +02:00
te2dy
034787a7b3 Various minor fixes 2021-04-06 12:16:03 +02:00
te2dy
6781472167 Fix post pagination accessbility 2021-04-06 11:39:18 +02:00
te2dy
5f8a4d1a6e Update theme description & Update readme files & Update translation files 2021-04-06 11:23:45 +02:00
te2dy
12cf6e635a Fix styles 2021-04-06 10:22:59 +02:00
te2dy
1cf27a9b0f Update translation files & Minify styles. 2021-04-05 23:08:57 +02:00
te2dy
c071ce1474 Add option to add a text to comment links when there are no comments yet 2021-04-05 23:01:34 +02:00
te2dy
544d40af07 Remove console.log() 2021-04-05 23:00:31 +02:00
te2dy
d5729eab3c Update social icon size 2021-04-05 22:13:48 +02:00
te2dy
9ea57feb62 Add search button text customize option 2021-04-05 21:04:02 +02:00
te2dy
9bb30e0bf3 Fix image expand 2021-04-05 20:25:29 +02:00
te2dy
19d5efc094 Localize retrieved date for printing 2021-04-05 12:54:34 +02:00
te2dy
8a9e9942c8 Update cancel comment reply style 2021-04-05 11:55:22 +02:00
te2dy
bbdd0e0736 Update translation files 2021-04-05 11:38:25 +02:00
te2dy
3347a3117a Optimize SVG icon function 2021-04-05 11:33:42 +02:00
te2dy
9f8af38413 Update styles 2021-04-05 11:10:44 +02:00
te2dy
354657a78d Add labels to SVG links and icons for accessibility 2021-04-05 11:10:27 +02:00
te2dy
6ee0b31dd5 Transfer the category separator outside the list item 2021-04-05 10:05:44 +02:00
te2dy
2bbef156d1 New toogle menu button & new theme description 2021-04-04 22:45:12 +02:00
te2dy
46a053a26b Minor update 2021-04-04 10:10:51 +02:00
36 changed files with 4868 additions and 1287 deletions

20
.github/LISEZMOI.md vendored
View file

@ -1,25 +1,27 @@
# Thème Marianne pour WordPress
**⚠️ Ce thème nest plus maintenu ⚠️**
- 🇬🇧 [English](/.github/README.md)
- 🇫🇷 **Français**
**Marianne.**
Un thème minimaliste idéal pour les écrivains, les journalistes et tous les blogueurs qui souhaitent mettre leurs textes en valeur.
Vous recherchez un thème simple pour mettre en valeur vos écrits ? Marianne est un thème minimaliste rare dans un océan de maximalisme. Il donne une touche de blog à lancienne à votre site, actualisée, avec des options de personnalisation qui le rendent flexible. Si vous pensez que moins de complexité graphique signifie moins de distraction et plus de lisibilité, ce thème est fait pour vous. Que vous soyez simple blogueur, écrivain, journaliste ou intellectuel, Marianne vous ravira… vous, et vos lecteurs.
[Démo](https://chezteddy.fr) | [Télécharger depuis WordPress.org](https://fr.wordpress.org/themes/marianne/) | [Télécharger depuis GitHub](https://github.com/te2dy/marianne/releases/latest)
## Présentation
Marianne est un thème à la fois minimaliste, lisible, rapide et flexible.
Son apparence est sobre et moderne, sans fioritures. La faible largeur de ses pages et labsence de pollution visuelle (excès de couleurs et dicônes) facilitent la lecture et mettent en valeur lessentiel : vos contenus ; pour le plus grand plaisir de vos lecteurs.
Lapparence de Marianne est sobre et moderne, sans fioritures. La faible largeur de ses pages et labsence de pollution visuelle (excès de couleurs et dicônes) facilitent la lecture et mettent en valeur lessentiel : vos contenus ; pour le plus grand plaisir de vos lecteurs.
Marianne utilise les polices intégrées à votre système. Concrètement, il ne charge pas de nouveaux fichiers pour afficher vos textes et gagne ainsi en rapidité. En plus, lutilisation de telles polices apporte une continuité graphique appréciable à votre écosystème numérique.
Cest un thème personnalisable. Vous pouvez notamment ajouter un logo, basculer dun schéma de couleurs claires à sombres, changer de police, ajouter des liens vers vos comptes sociaux… À vous de jouer !
Enfin, Marianne sadapte à tous les supports. Il conserve ses caractéristiques sur tablette et mobile.
Enfin, Marianne sadapte à tous les supports. Il conserve ses caractéristiques sur tablette et mobile, et il a été conçu pour donner de bons résultats à limpression.
Pour le moment, ce thème est disponible en anglais et en français.
## Installer Marianne
@ -36,8 +38,12 @@ Vous pouvez également télécharger la dernière version de Marianne depuis Git
## Contribuer
Bientôt.
Vous pouvez contribuer à ce projet directement sur GitHub en signalant des problèmes ou en proposant des améliorations. Étant développeur très amateur, il y a sans doute beaucoup à faire.
Les nouvelles traductions sont les bienvenues. Un [fichier .pot est à votre disposition](/languages/marianne.pot) afin que vous puissiez commencer à traduire.
## Soutenir
Bientôt.
Donner des Bitcoin: 1BTUsDokaDRsqn4dsyAY6bc2rCLes4Vssb
![Code QR Bitcoin](/.github/btc-qr-code.png)

20
.github/README.md vendored
View file

@ -1,25 +1,25 @@
# Marianne Theme for WordPress
**⚠️ This theme is no longer maintained ⚠️**
- 🇬🇧 **English**
- 🇫🇷 [Français](/.github/LISEZMOI.md)
**Marianne.**
A minimalist theme ideal for writers, journalists and all bloggers who want to share their texts.
Are you looking for a simple theme to highlight your writings? Marianne is a rare minimalistic theme in an ocean of maximalism. It gives a touch of old school blogging to your site, refreshed, with customization options that make it flexible. If you believe that less graphism complexity means less distraction and more readability, this theme is made for you. Whether you are a simple blogger, a writer, a journalist or an intellectual, Marianne will delight you… and your readers.
[Demo](https://chezteddy.fr) | [Download from WordPress.org](https://wordpress.org/themes/marianne/) | [Download from GitHub](https://github.com/te2dy/marianne/releases/latest)
## Description
Marianne is a minimalist, readable, fast and flexible theme.
Its design is sober and modern, without frills. The small width of its pages and the absence of visual pollution (excess of colors and icons) facilitate the reading and emphasize the essential, your contents, for the greatest pleasure of your readers.
The design of Marianne is sober and modern, without frills. The small width of its pages and the absence of visual pollution (excess of colors and icons) facilitate the reading and emphasize the essential, your contents, for the greatest pleasure of your readers.
Marianne uses the system fonts. In concrete terms, it does not load new files to display your texts and thus gains in speed. In addition, the use of such fonts brings an appreciable graphic continuity to your digital ecosystem.
This is a customizable theme. You can add a logo, switch from a light to a dark color scheme, change the font, add links to your social accounts… Its up to you!
This is a customizable theme. You can add a logo, switch from a light to a dark color scheme, change the font, add links to your social accounts and more… Its up to you!
Finally, Marianne theme adapts to all formats. It keeps its characteristics on tablet and mobile.
Finally, Marianne theme adapts to all formats. It keeps its characteristics on tablet and mobile, and it has been designed to give a good print results.
## Install Marianne
@ -36,8 +36,12 @@ You can also download the latest version of Marianne from GitHub by following [t
## Contribute
Soon.
You can contribute to this project directly on GitHub by reporting issues or suggesting improvements. As I'm a very amateur developer, there is probably a lot to do.
New translations are welcome. A [.pot file is at your disposal](/languages/marianne.pot) so you can start translating.
## Support
Soon.
Donate Bitcoin: 1BTUsDokaDRsqn4dsyAY6bc2rCLes4Vssb
![Bitcoin QR Code](/.github/btc-qr-code.png)

BIN
.github/btc-qr-code.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -15,9 +15,8 @@ get_header();
<main id="primary" class="site-primary" role="main">
<?php get_template_part( 'template-parts/content', 'none' ); ?>
</main>
<?php get_sidebar(); ?>
</div>
<?php
get_sidebar();
get_footer();

View file

@ -139,27 +139,6 @@
color: #a7a7a7;
}
/**
* Image Radio.
*
* Based on the work of:
* @author Anthony Hortin <http://maddisondesigns.com>
* @license http://www.gnu.org/licenses/gpl-2.0.html
* @link https://github.com/maddisondesigns
*/
.image_radio_button_control .radio-button-label > input {
display: none;
}
.image_radio_button_control .radio-button-label > img {
cursor: pointer;
border: 3px solid #ddd;
}
.image_radio_button_control .radio-button-label > input:checked + img {
border: 3px solid #2885bb;
}
/* Theme Upsell */
#accordion-section-marianne_about .accordion-section-title {
padding-left: 30px;

View file

@ -23,12 +23,23 @@
.marianne-admin p {
margin: 1rem 0;
}
.marianne-admin blockquote {
font-style: italic;
margin: 1rem 0;
}
.marianne-admin blockquote cite {
font-style: normal;
}
.marianne-admin .list-inline {
list-style-type: none;
margin: 0;
padding: 0;
}
.marianne-admin .list-inline li {
.marianne-admin li {
display: inline-block;
}
.marianne-admin-list li::before {
content: "— ";
display: inline-block;
}
@ -98,6 +109,7 @@
/* Footer */
.marianne-mif {
display: inline-block;
font-size: .8em;
text-align: center;
}
.marianne-flag {

View file

@ -1 +1 @@
.marianne-admin h1,.marianne-admin h2,.marianne-admin h3{margin:1rem 0;padding:0 0 .25em}.marianne-admin .marianne-admin-block{background-color:#fff;border:1px solid #c3c4c7;box-shadow:0 1px 1px rgba(0,0,0,.04);padding:1rem 2rem;margin:2em 0}.marianne-admin .marianne-admin-header{border-bottom:1px solid #c3c4c7}.marianne-admin .marianne-admin-title{font-weight:900}.marianne-admin p{margin:1rem 0}.marianne-admin .list-inline{list-style-type:none;margin:0;padding:0}.marianne-admin .list-inline li{display:inline-block}.marianne-admin #update-theme,.marianne-admin .thickbox{color:#de0000}.marianne-admin #update-theme:focus,.marianne-admin #update-theme:hover,.marianne-admin .thickbox:focus,.marianne-admin .thickbox:hover{color:#900000}.marianne-admin-margins{margin:1rem 0}.marianne-admin #marianne-button-btc{background-color:#f7931a;border-color:#f7931a;color:#fff}.marianne-admin #marianne-button-btc:focus,.marianne-admin #marianne-button-btc:hover{background-color:#e8840c;border-color:#e8840c}#marianne-button-btc[aria-expanded=false]~#marianne-btc-donate-container{display:none}#marianne-button-btc[aria-expanded=true]~#marianne-btc-donate-container{display:block}#marianne-btc-donate{background-color:#f0f0f1;display:inline-block;margin-top:1rem;padding:1rem 2rem}.marianne-admin #btc-qr{display:block;margin:0 auto;max-width:100%}.marianne-admin #btc-address a{word-break:break-all}#marianne-admin-button-rate,#marianne-admin-button-thanks{background-color:green;border-color:green;color:#fff}#marianne-admin-button-rate:focus,#marianne-admin-button-rate:hover,#marianne-admin-button-thanks:focus,#marianne-admin-button-thanks:hover{background-color:#006400;border-color:#006400}.marianne-admin-footer{color:#50575e}.marianne-mif{display:inline-block;text-align:center}.marianne-flag{display:flex;justify-content:space-between;margin-top:.1em}.marianne-flag-blue,.marianne-flag-red,.marianne-flag-white{display:inline-block;flex:1;height:2px}.marianne-flag-blue{background-color:#001489}.marianne-flag-white{background-color:#f4f9ff}.marianne-flag-red{background-color:#ef3340}.marianne-mif a{color:inherit;text-decoration:none}.marianne-mif a:focus,.marianne-mif a:hover{color:#135e96;text-decoration:underline}
.marianne-admin h1,.marianne-admin h2,.marianne-admin h3{margin:1rem 0;padding:0 0 .25em}.marianne-admin .marianne-admin-block{background-color:#fff;border:1px solid #c3c4c7;box-shadow:0 1px 1px rgba(0,0,0,.04);padding:1rem 2rem;margin:2em 0}.marianne-admin .marianne-admin-header{border-bottom:1px solid #c3c4c7}.marianne-admin .marianne-admin-title{font-weight:900}.marianne-admin p{margin:1rem 0}.marianne-admin blockquote{font-style:italic;margin:1rem 0}.marianne-admin blockquote cite{font-style:normal}.marianne-admin .list-inline{list-style-type:none;margin:0;padding:0}.marianne-admin li{display:inline-block}.marianne-admin-list li::before{content:"— ";display:inline-block}.marianne-admin #update-theme,.marianne-admin .thickbox{color:#de0000}.marianne-admin #update-theme:focus,.marianne-admin #update-theme:hover,.marianne-admin .thickbox:focus,.marianne-admin .thickbox:hover{color:#900000}.marianne-admin-margins{margin:1rem 0}.marianne-admin #marianne-button-btc{background-color:#f7931a;border-color:#f7931a;color:#fff}.marianne-admin #marianne-button-btc:focus,.marianne-admin #marianne-button-btc:hover{background-color:#e8840c;border-color:#e8840c}#marianne-button-btc[aria-expanded=false]~#marianne-btc-donate-container{display:none}#marianne-button-btc[aria-expanded=true]~#marianne-btc-donate-container{display:block}#marianne-btc-donate{background-color:#f0f0f1;display:inline-block;margin-top:1rem;padding:1rem 2rem}.marianne-admin #btc-qr{display:block;margin:0 auto;max-width:100%}.marianne-admin #btc-address a{word-break:break-all}#marianne-admin-button-rate,#marianne-admin-button-thanks{background-color:green;border-color:green;color:#fff}#marianne-admin-button-rate:focus,#marianne-admin-button-rate:hover,#marianne-admin-button-thanks:focus,#marianne-admin-button-thanks:hover{background-color:#006400;border-color:#006400}.marianne-admin-footer{color:#50575e}.marianne-mif{display:inline-block;font-size:.8em;text-align:center}.marianne-flag{display:flex;justify-content:space-between;margin-top:.1em}.marianne-flag-blue,.marianne-flag-red,.marianne-flag-white{display:inline-block;flex:1;height:2px}.marianne-flag-blue{background-color:#001489}.marianne-flag-white{background-color:#f4f9ff}.marianne-flag-red{background-color:#ef3340}.marianne-mif a{color:inherit;text-decoration:none}.marianne-mif a:focus,.marianne-mif a:hover{color:#135e96;text-decoration:underline}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -2,54 +2,197 @@
"use strict";
$( document ).ready( function( $ ) {
/* Show/hide controls depending on other control values. */
/**
* Show/hide controls in the Theme Customizer
* depending on other control values.
*/
// The speed of animations.
var speed = 200;
// Show 'Make the logo round' option only when a loge is set.
if ( $( '#customize-control-custom_logo .remove-button' ).length > 0 ) {
$( '#customize-control-marianne_header_logo_round' ).show();
// Show the front page title displaying if a front page is set.
if ( $( "#_customize-input-show_on_front-radio-page:checked" ).val() ) {
$( "#customize-control-static_front_page_title" ).show();
} else {
$( '#customize-control-marianne_header_logo_round' ).hide();
$( "#customize-control-static_front_page_title" ).hide();
}
$( '#customize-control-custom_logo' ).on( 'DOMSubtreeModified', function () {
if ( $( '#customize-control-custom_logo .remove-button' ).length > 0 ) {
$( '#customize-control-marianne_header_logo_round' ).show( speed );
$( "#customize-control-show_on_front" ).change( function () {
if ( $( "#_customize-input-show_on_front-radio-page:checked" ).val() ) {
$( "#customize-control-static_front_page_title" ).show();
} else {
$( '#customize-control-marianne_header_logo_round' ).hide( speed );
$( "#customize-control-static_front_page_title" ).hide();
}
});
} );
// Show Sidebar Width only when 'Left sidebar' layout is selected.
if ( $( '#marianne_global_layout_sidebar-left' ).is( ':checked' ) ) {
$( '#customize-control-marianne_global_sidebar_width' ).show();
// Show sidebar parameters if a sidebar is set.
if ( $( "#_customize-input-marianne_global_layout-radio-two-column-left-sidebar:checked" ).val() ) {
$( "#customize-control-marianne_global_sidebar_width" ).show();
$( "#customize-control-marianne_global_sidebar_margin" ).show();
} else {
$( '#customize-control-marianne_global_sidebar_width' ).hide();
$( "#customize-control-marianne_global_sidebar_width" ).hide();
$( "#customize-control-marianne_global_sidebar_margin" ).hide();
}
$( '#customize-control-marianne_global_layout input[type="radio"]' ).change( function () {
if ( $( '#marianne_global_layout_sidebar-left' ).is( ':checked' ) ) {
$( '#customize-control-marianne_global_sidebar_width' ).show( speed );
$( "#customize-control-marianne_global_layout" ).change( function () {
if ( $( "#_customize-input-marianne_global_layout-radio-two-column-left-sidebar:checked" ).val() ) {
$( "#customize-control-marianne_global_sidebar_width" ).show( speed );
$( "#customize-control-marianne_global_sidebar_margin" ).show( speed );
} else {
$( '#customize-control-marianne_global_sidebar_width' ).hide( speed );
$( "#customize-control-marianne_global_sidebar_width" ).hide( speed );
$( "#customize-control-marianne_global_sidebar_margin" ).hide( speed );
}
});
} );
// Show the right font list depending on the selected font family.
if ( $( "#_customize-input-marianne_global_font_family-radio-sans-serif:checked" ).val() ) {
$( "#customize-control-marianne_global_fonts_sans_serif" ).show();
$( "#customize-control-marianne_global_fonts_serif" ).hide();
$( "#customize-control-marianne_global_fonts_monospace" ).hide();
} else if ( $( "#_customize-input-marianne_global_font_family-radio-serif:checked" ).val() ) {
$( "#customize-control-marianne_global_fonts_sans_serif" ).hide();
$( "#customize-control-marianne_global_fonts_serif" ).show();
$( "#customize-control-marianne_global_fonts_monospace" ).hide();
} else if ( $( "#_customize-input-marianne_global_font_family-radio-monospace:checked" ).val() ) {
$( "#customize-control-marianne_global_fonts_sans_serif" ).hide();
$( "#customize-control-marianne_global_fonts_serif" ).hide();
$( "#customize-control-marianne_global_fonts_monospace" ).show();
}
$( "#customize-control-marianne_global_font_family" ).change( function () {
if ( $( "#_customize-input-marianne_global_font_family-radio-sans-serif:checked" ).val() ) {
$( "#customize-control-marianne_global_fonts_sans_serif" ).show();
$( "#customize-control-marianne_global_fonts_serif" ).hide();
$( "#customize-control-marianne_global_fonts_monospace" ).hide();
} else if ( $( "#_customize-input-marianne_global_font_family-radio-serif:checked" ).val() ) {
$( "#customize-control-marianne_global_fonts_sans_serif" ).hide();
$( "#customize-control-marianne_global_fonts_serif" ).show();
$( "#customize-control-marianne_global_fonts_monospace" ).hide();
} else if ( $( "#_customize-input-marianne_global_font_family-radio-monospace:checked" ).val() ) {
$( "#customize-control-marianne_global_fonts_sans_serif" ).hide();
$( "#customize-control-marianne_global_fonts_serif" ).hide();
$( "#customize-control-marianne_global_fonts_monospace" ).show();
}
} );
// Show Round Logo when a logo is set.
if ( $( "#customize-control-custom_logo .remove-button" ).length > 0 ) {
$( "#customize-control-marianne_header_logo_round" ).show();
} else {
$( "#customize-control-marianne_header_logo_round" ).hide();
}
$( "#customize-control-custom_logo" ).on( "DOMSubtreeModified", function () {
if ( $( "#customize-control-custom_logo .remove-button" ).length > 0 ) {
$( "#customize-control-marianne_header_logo_round" ).show( speed );
} else {
$( "#customize-control-marianne_header_logo_round" ).hide( speed );
}
} );
// Show Search button text only when the search button is enabled.
if ( $( "#_customize-input-marianne_header_menu_search" ).is( ":checked" ) ) {
$( "#customize-control-marianne_header_menu_search_text" ).show();
} else {
$( "#customize-control-marianne_header_menu_search_text" ).hide();
}
$( "#_customize-input-marianne_header_menu_search" ).change( function () {
if ( $( this ).is( ":checked" ) ) {
$( "#customize-control-marianne_header_menu_search_text" ).show( speed );
} else {
$( "#customize-control-marianne_header_menu_search_text" ).hide( speed );
}
} );
// Show the author prefix when the author's name is displayed.
if ( $( "#_customize-input-marianne_loop_author_name" ).is( ":checked" ) ) {
$( "#customize-control-marianne_loop_author_name_prefix" ).show();
} else {
$( "#customize-control-marianne_loop_author_name_prefix" ).hide();
}
$( "#_customize-input-marianne_loop_author_name" ).change( function () {
if ( $( this ).is( ":checked" ) ) {
$( "#customize-control-marianne_loop_author_name_prefix" ).show( speed );
} else {
$( "#customize-control-marianne_loop_author_name_prefix" ).hide( speed );
}
} );
// Show the author info and prefix options when the position is set to header.
if ( $( "#_customize-input-marianne_post_author_position-radio-top" ).is( ":checked" ) ) {
$( "#customize-control-marianne_post_author_info" ).show();
if ( $( "#_customize-input-marianne_post_author_info-radio-name" ).is( ":checked" )
|| $( "#_customize-input-marianne_post_author_info-radio-name_avatar" ).is( ":checked" )
) {
$( "#customize-control-marianne_post_author_name_prefix" ).show();
} else {
$( "#customize-control-marianne_post_author_name_prefix" ).hide();
}
} else {
$( "#customize-control-marianne_post_author_info" ).hide();
$( "#customize-control-marianne_post_author_name_prefix" ).hide();
}
$( "#customize-control-marianne_post_author_position" ).change( function () {
if ( $( "#_customize-input-marianne_post_author_position-radio-top" ).is( ":checked" ) ) {
$( "#customize-control-marianne_post_author_info" ).show( speed );
if ( $( "#_customize-input-marianne_post_author_info-radio-name" ).is( ":checked" )
|| $( "#_customize-input-marianne_post_author_info-radio-name_avatar" ).is( ":checked" )
) {
$( "#customize-control-marianne_post_author_name_prefix" ).show( speed );
} else {
$( "#customize-control-marianne_post_author_name_prefix" ).hide( speed );
}
} else {
$( "#customize-control-marianne_post_author_info" ).hide( speed );
$( "#customize-control-marianne_post_author_name_prefix" ).hide( speed );
}
} );
$( "#customize-control-marianne_post_author_info" ).change( function () {
if ( $( "#_customize-input-marianne_post_author_info-radio-avatar" ).is( ":checked" ) ) {
$( "#customize-control-marianne_post_author_name_prefix" ).hide( speed );
} else {
$( "#customize-control-marianne_post_author_name_prefix" ).show( speed );
}
} );
// Show the author avatar and biography if the position is set to bottom.
if ( $( "#_customize-input-marianne_post_author_position-radio-bottom" ).is( ":checked" ) ) {
$( "#customize-control-marianne_post_author_avatar" ).show();
$( "#customize-control-marianne_post_author_bio" ).show();
} else {
$( "#customize-control-marianne_post_author_avatar" ).hide();
$( "#customize-control-marianne_post_author_bio" ).hide();
}
$( "#customize-control-marianne_post_author_position" ).change( function () {
if ( $( "#_customize-input-marianne_post_author_position-radio-bottom" ).is( ":checked" ) ) {
$( "#customize-control-marianne_post_author_avatar" ).show( speed );
$( "#customize-control-marianne_post_author_bio" ).show( speed );
} else {
$( "#customize-control-marianne_post_author_avatar" ).hide( speed );
$( "#customize-control-marianne_post_author_bio" ).hide( speed );
}
} );
// Show Phone Type only when a phone number is typed.
if ( $( '#_customize-input-marianne_social_phone' ).val().length > 0 ) {
$( '#customize-control-marianne_social_phone_type' ).show();
if ( $( "#_customize-input-marianne_social_phone" ).val().length > 0 ) {
$( "#customize-control-marianne_social_phone_type" ).show();
} else {
$( '#customize-control-marianne_social_phone_type' ).hide();
$( "#customize-control-marianne_social_phone_type" ).hide();
}
$( '#_customize-input-marianne_social_phone' ).on( 'input', function () {
$( "#_customize-input-marianne_social_phone" ).on( "input", function () {
if ( $( this ).val().length > 0 ) {
$( '#customize-control-marianne_social_phone_type' ).show( speed );
$( "#customize-control-marianne_social_phone_type" ).show( speed );
} else {
$( '#customize-control-marianne_social_phone_type' ).hide( speed );
$( "#customize-control-marianne_social_phone_type" ).hide( speed );
}
});
} );
} );
} )( jQuery, wp.customize );

File diff suppressed because one or more lines are too long

View file

@ -11,12 +11,12 @@
*/
// Set our slider defaults and initialise the slider
$( '.slider-custom-control' ).each( function() {
var sliderValue = $( this ).find( '.customize-control-slider-value' ).val();
var newSlider = $( this ).find( '.slider' );
var sliderMinValue = parseFloat( newSlider.attr( 'slider-min-value' ) );
var sliderMaxValue = parseFloat( newSlider.attr( 'slider-max-value' ) );
var sliderStepValue = parseFloat( newSlider.attr( 'slider-step-value' ) );
$( ".slider-custom-control" ).each( function() {
var sliderValue = $( this ).find( ".customize-control-slider-value" ).val();
var newSlider = $( this ).find( ".slider" );
var sliderMinValue = parseFloat( newSlider.attr( "slider-min-value" ) );
var sliderMaxValue = parseFloat( newSlider.attr( "slider-max-value" ) );
var sliderStepValue = parseFloat( newSlider.attr( "slider-step-value" ) );
newSlider.slider( {
value: sliderValue,
@ -25,29 +25,29 @@
step: sliderStepValue,
change: function( e,ui ) {
// Important! When slider stops moving make sure to trigger change event so Customizer knows it has to save the field
$( this ).parent().find( '.customize-control-slider-value' ).trigger( 'change' );
$( this ).parent().find( ".customize-control-slider-value" ).trigger( "change" );
}
} );
} );
// Change the value of the input field as the slider is moved
$( '.slider' ).on( 'slide', function( event, ui ) {
$( this ).parent().find( '.customize-control-slider-value' ).val( ui.value );
$( ".slider" ).on( "slide", function( event, ui ) {
$( this ).parent().find( ".customize-control-slider-value" ).val( ui.value );
} );
// Reset slider and input field back to the default value
$( '.slider-reset' ).on( 'click', function() {
var resetValue = $( this ).attr( 'slider-reset-value' );
$( this ).parent().find( '.customize-control-slider-value' ).val( resetValue );
$( this ).parent().find( '.slider').slider( 'value', resetValue );
$( ".slider-reset" ).on( "click", function() {
var resetValue = $( this ).attr( "slider-reset-value" );
$( this ).parent().find( ".customize-control-slider-value" ).val( resetValue );
$( this ).parent().find( ".slider" ).slider( "value", resetValue );
});
// Update slider if the input field loses focus as it's most likely changed
$( '.customize-control-slider-value' ).blur( function() {
$( ".customize-control-slider-value" ).blur( function() {
var resetValue = $( this ).val();
var slider = $( this ).parent().find( '.slider' );
var sliderMinValue = parseInt( slider.attr( 'slider-min-value' ) );
var sliderMaxValue = parseInt( slider.attr( 'slider-max-value' ) );
var slider = $( this ).parent().find( ".slider" );
var sliderMinValue = parseInt( slider.attr( "slider-min-value" ) );
var sliderMaxValue = parseInt( slider.attr( "slider-max-value" ) );
// Make sure our manual input value doesn't exceed the minimum & maxmium values
if ( resetValue < sliderMinValue ) {
@ -58,14 +58,14 @@
resetValue = sliderMaxValue;
$( this ).val( resetValue );
}
$( this ).parent().find( '.slider' ).slider( 'value', resetValue );
$( this ).parent().find( ".slider" ).slider( "value", resetValue );
} );
} );
/**
* About Marianne link.
*/
wp.customize.sectionConstructor['marianne-about'] = wp.customize.Section.extend( {
wp.customize.sectionConstructor["marianne-about"] = wp.customize.Section.extend( {
// No events for this type of section.
attachEvents: () => {},
@ -74,5 +74,4 @@
return true;
}
} );
} )( jQuery, wp.customize );

View file

@ -69,31 +69,31 @@
*/
// Site Identity > Site Title.
wp.customize( 'blogname', function( value ) {
wp.customize( "blogname", function( value ) {
value.bind( function( newval ) {
if ( $( '.site-title' ).children( 'a' ).length === 0 ) {
$( '.site-title' ).html( newval );
if ( $( ".site-title" ).children( "a" ).length === 0 ) {
$( ".site-title" ).html( newval );
} else {
$( '.site-title a' ).html( newval );
$( ".site-title a" ).html( newval );
}
} );
} );
// Site Identity > Site description.
wp.customize( 'blogdescription', function( value ) {
wp.customize( "blogdescription", function( value ) {
value.bind( function( newval ) {
$( '.site-description' ).html( newval );
$( ".site-description" ).html( newval );
} );
} );
// Colors > Color Scheme.
wp.customize( 'colors_scheme', function( value ) {
wp.customize( "colors_scheme", function( value ) {
value.bind( function( newval ) {
var target = 'body',
var target = "body",
classes = {
'light': 'color-scheme-light',
'dark': 'color-scheme-dark',
'auto': 'color-scheme-auto',
"light": "color-scheme-light",
"dark": "color-scheme-dark",
"auto": "color-scheme-auto",
};
marianneSelectRadioToggleClass( target, classes, newval );
@ -101,67 +101,15 @@
} );
// Colors > Hovered Elements.
wp.customize( 'colors_link_hover', function( value ) {
wp.customize( "colors_link_hover", function( value ) {
value.bind( function( newval ) {
var target = 'body',
var target = "body",
classes = {
'blue': 'link-hover-blue',
'red': 'link-hover-red',
'green': 'link-hover-green',
'orange': 'link-hover-orange',
'purple': 'link-hover-purple'
};
marianneSelectRadioToggleClass( target, classes, newval );
} );
} );
// Global > Page Width.
wp.customize( 'marianne_global_page_width', function( value ) {
value.bind( function( newval ) {
var target = '#page',
classes = {
'480': 'page-width-480',
'600': 'page-width-600',
'720': 'page-width-720'
};
marianneSelectRadioToggleClass( target, classes, newval );
} );
} );
// Global > Sidebar Width.
wp.customize( 'marianne_global_sidebar_width', function( value ) {
value.bind( function( newval ) {
var target = '#page',
classes = {
'200': 'sidebar-width-200',
'250': 'sidebar-width-250',
'300': 'sidebar-width-300'
};
marianneSelectRadioToggleClass( target, classes, newval );
} );
} );
// Global > Expand images.
wp.customize( 'marianne_global_images_expand', function( value ) {
value.bind( function( newval ) {
var target = '.entry-thumbnail',
classToAdd = 'entry-thumbnail-wide';
marianneCheckboxToggleClass( target, classToAdd, newval );
} );
} );
// Global > Font Family.
wp.customize( 'marianne_global_font_family', function( value ) {
value.bind( function( newval ) {
var target = 'body',
classes = {
'sans-serif': 'font-family-sans-serif',
'serif': 'font-family-serif',
'monospace': 'font-family-monospace'
"blue": "link-hover-blue",
"red": "link-hover-red",
"green": "link-hover-green",
"orange": "link-hover-orange",
"purple": "link-hover-purple"
};
marianneSelectRadioToggleClass( target, classes, newval );
@ -169,39 +117,30 @@
} );
// Global > Font Size.
wp.customize( 'marianne_global_font_size', function( value ) {
wp.customize( "marianne_global_font_size", function( value ) {
value.bind( function( newval ) {
var target = 'body',
classes = {
80: 'font-size-80',
90: 'font-size-90',
100: 'font-size-100',
110: 'font-size-110',
120: 'font-size-120'
};
marianneSelectRadioToggleClass( target, classes, newval );
$( "body" ).css( "font-size", ( 12 * Number( newval ) / 100 ) + "pt" );
} );
} );
// Global > Text Shadow.
wp.customize( 'marianne_global_text_shadow', function( value ) {
wp.customize( "marianne_global_text_shadow", function( value ) {
value.bind( function( newval ) {
var target = 'body',
classToAdd = 'text-shadow';
var target = "body",
classToAdd = "text-shadow";
marianneCheckboxToggleClass( target, classToAdd, newval );
} );
} );
// Header Settings > Align.
wp.customize( 'marianne_header_align', function( value ) {
wp.customize( "marianne_header_align", function( value ) {
value.bind( function( newval ) {
var target = '.site-header',
var target = ".site-header",
classes = {
'left': 'site-header-align-left',
'center': 'site-header-align-center',
'right': 'site-header-align-right'
"left": "site-header-align-left",
"center": "site-header-align-center",
"right": "site-header-align-right"
};
marianneSelectRadioToggleClass( target, classes, newval );
@ -209,13 +148,13 @@
} );
// Header Settings > Site Title Weight.
wp.customize( 'marianne_header_title_weight', function( value ) {
wp.customize( "marianne_header_title_weight", function( value ) {
value.bind( function( newval ) {
var target = '.site-title',
var target = ".site-title",
classes = {
'normal': 'site-title-weight-normal',
'bold': 'site-title-weight-bold',
'bolder': 'site-title-weight-bolder'
"normal": "site-title-weight-normal",
"bold": "site-title-weight-bold",
"bolder": "site-title-weight-bolder"
};
marianneSelectRadioToggleClass( target, classes, newval );
@ -223,12 +162,12 @@
} );
// Header Settings > Site Description Weight.
wp.customize( 'marianne_header_desc_weight', function( value ) {
wp.customize( "marianne_header_desc_weight", function( value ) {
value.bind( function( newval ) {
var target = '.site-description',
var target = ".site-description",
classes = {
'thin': 'site-desc-weight-thin',
'normal': 'site-desc-weight-normal'
"thin": "site-desc-weight-thin",
"normal": "site-desc-weight-normal"
};
marianneSelectRadioToggleClass( target, classes, newval );
@ -236,30 +175,43 @@
} );
// Header Settings > Site Description Style.
wp.customize( 'marianne_header_desc_style', function( value ) {
wp.customize( "marianne_header_desc_style", function( value ) {
value.bind( function( newval ) {
var target = '.site-description',
var target = ".site-description",
classes = {
'normal': 'site-desc-style-normal',
'italic': 'site-desc-style-italic'
"normal": "site-desc-style-normal",
"italic": "site-desc-style-italic"
};
marianneSelectRadioToggleClass( target, classes, newval );
} );
} );
// Header Settings > Search button text.
wp.customize( "marianne_header_menu_search_text", function( value ) {
value.bind( function( newval ) {
if ( $( "#header-search-button" ).length > 0 ) {
if ( newval.length > 0 ) {
$( "#header-search-button" ).html( newval );
} else {
$( "#header-search-button" ).html( marianne_live.default_search_text );
}
}
} );
} );
// Content Formatting > Text Align.
wp.customize( 'marianne_content_text_align', function( value ) {
wp.customize( "marianne_content_text_align", function( value ) {
value.bind( function( newval ) {
var target = [
'.entry-content',
'.comment-content'
".entry-content",
".comment-content"
],
classes = {
'left': 'text-align-left',
'center': 'text-align-center',
'right': 'text-align-right',
'justify': 'text-align-justify'
"left": "text-align-left",
"center": "text-align-center",
"right": "text-align-right",
"justify": "text-align-justify"
};
marianneSelectRadioToggleClass( target, classes, newval );
@ -267,23 +219,23 @@
} );
// Content Formatting > Hyphenation.
wp.customize( 'marianne_content_hyphens', function( value ) {
wp.customize( "marianne_content_hyphens", function( value ) {
value.bind( function( newval ) {
var target = '.entry-content',
classToAdd = 'text-hyphens';
var target = ".entry-content",
classToAdd = "text-hyphens";
marianneCheckboxToggleClass( target, classToAdd, newval );
} );
} );
// Footer Settings > Align.
wp.customize( 'marianne_footer_align', function( value ) {
wp.customize( "marianne_footer_align", function( value ) {
value.bind( function( newval ) {
var target = '.site-footer',
var target = ".site-footer",
classes = {
'left': 'site-footer-align-left',
'center': 'site-footer-align-center',
'right': 'site-footer-align-right'
"left": "site-footer-align-left",
"center": "site-footer-align-center",
"right": "site-footer-align-right"
};
marianneSelectRadioToggleClass( target, classes, newval );
@ -291,26 +243,26 @@
} );
// Footer Settings > Footer Text.
wp.customize( 'marianne_footer_text', function( value ) {
wp.customize( "marianne_footer_text", function( value ) {
value.bind( function( newval ) {
if ( $( '#site-footer-text' ).length ) {
$( '#site-footer-text' ).html( newval );
if ( $( "#site-footer-text" ).length ) {
$( "#site-footer-text" ).html( newval );
} else {
$( '.site-footer' )
$( ".site-footer" )
.prepend(
'<div id="site-footer-text" class="site-footer-block">' + newval + '</div>'
'<div id="site-footer-text" class="site-footer-block">' + newval + "</div>"
);
}
} );
} );
// Social Links > Style.
wp.customize( 'marianne_social_style', function( value ) {
wp.customize( "marianne_social_style", function( value ) {
value.bind( function( newval ) {
var target = '.site-social',
var target = ".site-social",
classes = {
'square': 'site-social-square',
'round': 'site-social-round'
"square": "site-social-square",
"round": "site-social-round"
};
marianneSelectRadioToggleClass( target, classes, newval );

View file

@ -1 +1 @@
!function(e){"use strict";function t(t,i,n){t&&i&&n&&e.each(i,function(i,o){Array.isArray(t)?e.each(t,function(t,s){e(s).hasClass(o)&&e(s).removeClass(o),i===n&&e(s).addClass(o)}):(e(t).hasClass(o)&&e(t).removeClass(o),i===n&&e(t).addClass(o))})}function i(t,i,n){t&&i&&(!0===n?e(t).hasClass(i)||e(t).addClass(i):e(t).hasClass(i)&&e(t).removeClass(i))}e(document).ready(function(e){wp.customize("blogname",function(t){t.bind(function(t){0===e(".site-title").children("a").length?e(".site-title").html(t):e(".site-title a").html(t)})}),wp.customize("blogdescription",function(t){t.bind(function(t){e(".site-description").html(t)})}),wp.customize("colors_scheme",function(e){e.bind(function(e){t("body",{light:"color-scheme-light",dark:"color-scheme-dark",auto:"color-scheme-auto"},e)})}),wp.customize("colors_link_hover",function(e){e.bind(function(e){t("body",{blue:"link-hover-blue",red:"link-hover-red",green:"link-hover-green",orange:"link-hover-orange",purple:"link-hover-purple"},e)})}),wp.customize("marianne_global_page_width",function(e){e.bind(function(e){t("#page",{480:"page-width-480",600:"page-width-600",720:"page-width-720"},e)})}),wp.customize("marianne_global_sidebar_width",function(e){e.bind(function(e){t("#page",{200:"sidebar-width-200",250:"sidebar-width-250",300:"sidebar-width-300"},e)})}),wp.customize("marianne_global_images_expand",function(e){e.bind(function(e){i(".entry-thumbnail","entry-thumbnail-wide",e)})}),wp.customize("marianne_global_font_family",function(e){e.bind(function(e){t("body",{"sans-serif":"font-family-sans-serif",serif:"font-family-serif",monospace:"font-family-monospace"},e)})}),wp.customize("marianne_global_font_size",function(e){e.bind(function(e){t("body",{80:"font-size-80",90:"font-size-90",100:"font-size-100",110:"font-size-110",120:"font-size-120"},e)})}),wp.customize("marianne_global_text_shadow",function(e){e.bind(function(e){i("body","text-shadow",e)})}),wp.customize("marianne_header_align",function(e){e.bind(function(e){t(".site-header",{left:"site-header-align-left",center:"site-header-align-center",right:"site-header-align-right"},e)})}),wp.customize("marianne_header_title_weight",function(e){e.bind(function(e){t(".site-title",{normal:"site-title-weight-normal",bold:"site-title-weight-bold",bolder:"site-title-weight-bolder"},e)})}),wp.customize("marianne_header_desc_weight",function(e){e.bind(function(e){t(".site-description",{thin:"site-desc-weight-thin",normal:"site-desc-weight-normal"},e)})}),wp.customize("marianne_header_desc_style",function(e){e.bind(function(e){t(".site-description",{normal:"site-desc-style-normal",italic:"site-desc-style-italic"},e)})}),wp.customize("marianne_content_text_align",function(e){e.bind(function(e){t([".entry-content",".comment-content"],{left:"text-align-left",center:"text-align-center",right:"text-align-right",justify:"text-align-justify"},e)})}),wp.customize("marianne_content_hyphens",function(e){e.bind(function(e){i(".entry-content","text-hyphens",e)})}),wp.customize("marianne_footer_align",function(e){e.bind(function(e){t(".site-footer",{left:"site-footer-align-left",center:"site-footer-align-center",right:"site-footer-align-right"},e)})}),wp.customize("marianne_footer_text",function(t){t.bind(function(t){e("#site-footer-text").length?e("#site-footer-text").html(t):e(".site-footer").prepend('<div id="site-footer-text" class="site-footer-block">'+t+"</div>")})}),wp.customize("marianne_social_style",function(e){e.bind(function(e){t(".site-social",{square:"site-social-square",round:"site-social-round"},e)})})})}(jQuery,wp.customize);
!function(e){"use strict";function t(t,n,i){t&&n&&i&&e.each(n,function(n,o){Array.isArray(t)?e.each(t,function(t,s){e(s).hasClass(o)&&e(s).removeClass(o),n===i&&e(s).addClass(o)}):(e(t).hasClass(o)&&e(t).removeClass(o),n===i&&e(t).addClass(o))})}function n(t,n,i){t&&n&&(!0===i?e(t).hasClass(n)||e(t).addClass(n):e(t).hasClass(n)&&e(t).removeClass(n))}e(document).ready(function(e){wp.customize("blogname",function(t){t.bind(function(t){0===e(".site-title").children("a").length?e(".site-title").html(t):e(".site-title a").html(t)})}),wp.customize("blogdescription",function(t){t.bind(function(t){e(".site-description").html(t)})}),wp.customize("colors_scheme",function(e){e.bind(function(e){t("body",{light:"color-scheme-light",dark:"color-scheme-dark",auto:"color-scheme-auto"},e)})}),wp.customize("colors_link_hover",function(e){e.bind(function(e){t("body",{blue:"link-hover-blue",red:"link-hover-red",green:"link-hover-green",orange:"link-hover-orange",purple:"link-hover-purple"},e)})}),wp.customize("marianne_global_font_size",function(t){t.bind(function(t){e("body").css("font-size",12*Number(t)/100+"pt")})}),wp.customize("marianne_global_text_shadow",function(e){e.bind(function(e){n("body","text-shadow",e)})}),wp.customize("marianne_header_align",function(e){e.bind(function(e){t(".site-header",{left:"site-header-align-left",center:"site-header-align-center",right:"site-header-align-right"},e)})}),wp.customize("marianne_header_title_weight",function(e){e.bind(function(e){t(".site-title",{normal:"site-title-weight-normal",bold:"site-title-weight-bold",bolder:"site-title-weight-bolder"},e)})}),wp.customize("marianne_header_desc_weight",function(e){e.bind(function(e){t(".site-description",{thin:"site-desc-weight-thin",normal:"site-desc-weight-normal"},e)})}),wp.customize("marianne_header_desc_style",function(e){e.bind(function(e){t(".site-description",{normal:"site-desc-style-normal",italic:"site-desc-style-italic"},e)})}),wp.customize("marianne_header_menu_search_text",function(t){t.bind(function(t){e("#header-search-button").length>0&&(t.length>0?e("#header-search-button").html(t):e("#header-search-button").html(marianne_live.default_search_text))})}),wp.customize("marianne_content_text_align",function(e){e.bind(function(e){t([".entry-content",".comment-content"],{left:"text-align-left",center:"text-align-center",right:"text-align-right",justify:"text-align-justify"},e)})}),wp.customize("marianne_content_hyphens",function(e){e.bind(function(e){n(".entry-content","text-hyphens",e)})}),wp.customize("marianne_footer_align",function(e){e.bind(function(e){t(".site-footer",{left:"site-footer-align-left",center:"site-footer-align-center",right:"site-footer-align-right"},e)})}),wp.customize("marianne_footer_text",function(t){t.bind(function(t){e("#site-footer-text").length?e("#site-footer-text").html(t):e(".site-footer").prepend('<div id="site-footer-text" class="site-footer-block">'+t+"</div>")})}),wp.customize("marianne_social_style",function(e){e.bind(function(e){t(".site-social",{square:"site-social-square",round:"site-social-round"},e)})})})}(jQuery,wp.customize);

View file

@ -1,8 +1,8 @@
/**
* navigation.js
*
* Handles dropdown for the primary menu
* and toggling it for small screens.
* Handles dropdown for the primary menu and toggling it for small screens;
* and adds a function to scroll to top of the page on click.
*
* Based on the work of the WordPress team in the Twenty Twenty-One Theme.
*
@ -10,34 +10,15 @@
*/
/**
* Collapse menu when the user clicks outside.
*/
function marianneCollapseMenuOnClickOutside( event ) {
if ( ! document.getElementById( "menu-primary" ).contains( event.target ) ) {
document.getElementById( "menu-primary" ).querySelectorAll( ".sub-menu-toggle" ).forEach( function( button ) {
button.setAttribute( "aria-expanded", "false" );
} );
}
}
/**
* Toggle an attribute"s value
* Toggle an attribute's value
*
* @param {Element} el - The element.
*/
function marianneToggleAriaExpanded( el, withListeners ) {
function marianneToggleAriaExpanded( el ) {
if ( "true" !== el.getAttribute( "aria-expanded" ) ) {
el.setAttribute( "aria-expanded", "true" );
if ( withListeners ) {
document.addEventListener( "click", marianneCollapseMenuOnClickOutside );
}
} else {
el.setAttribute( "aria-expanded", "false" );
if ( withListeners ) {
document.addEventListener( "click", marianneCollapseMenuOnClickOutside );
}
}
}
@ -56,7 +37,7 @@ function marianneExpandSubMenu( el ) {
} );
// Toggle aria-expanded on the button.
marianneToggleAriaExpanded( el, true );
marianneToggleAriaExpanded( el );
// On tab-away collapse the menu.
el.parentNode.querySelectorAll( "ul > li:last-child > a" ).forEach( function( linkEl ) {
@ -85,6 +66,12 @@ function marianneAriaExpand( el ) {
}
( function( $ ) {
// Return to the top of the page on click.
$( "#back-to-top" ).click( function () {
$( "html, body" ).animate( { scrollTop: 0 }, 200 );
} );
// Adds role and tabindex to menu links.
var menu_elements = $( "#menu-primary .menu-item" );
@ -96,7 +83,7 @@ function marianneAriaExpand( el ) {
$( item )
.children( "a" )
.attr( "tabindex", "0" );
});
} );
/**
* Change aria-expanded value on hover and focus.
@ -190,26 +177,50 @@ function marianneAriaExpand( el ) {
.attr( "aria-haspopup", "true" )
.attr( "aria-expanded", "false" );
$( "#header-search-button" ).attr( "aria-expanded", "false" );
if ( ! $( "body" ).hasClass( "search" ) ) {
$( ".header-search-box" ).hide();
}
// When esc key is pressed, hide menu.
$( document ).keydown( function( e ) {
var escKey = e.keyCode === 27;
if ( escKey ) {
$( "#menu-mobile-button" ).attr( "aria-expanded", "false" );
$( "#header-search-button" ).attr( "aria-expanded", "false" );
if ( ! $( "body" ).hasClass( "search" ) ) {
$( ".header-search-box" ).hide();
}
}
} );
$( document ).mouseup( function( e ) {
var container = $( "#menu-primary-container" );
var container = $( "#menu-primary-container" ),
search_box = $( ".header-search-box" );
if ( ! container.is( e.target ) && container.has( e.target ).length === 0 ) {
if ( ! container.is( e.target )
&& container.has( e.target ).length === 0
&& ! search_box.is( e.target )
&& search_box.has( e.target ).length === 0
) {
$( "#menu-mobile-button" ).attr( "aria-expanded", "false" );
$( "#header-search-button" ).attr( "aria-expanded", "false" );
if ( ! $( "body" ).hasClass( "search" ) ) {
$( ".header-search-box" ).hide();
}
}
} );
$( "#menu-mobile-button" ).click( function () {
$( "#header-search-button" ).attr( "aria-expanded", "false" );
$( ".header-search-box" ).hide();
if ( ! $( "body" ).hasClass( "search" ) ) {
$( ".header-search-box" ).hide();
}
} );
}
}
@ -218,11 +229,6 @@ function marianneAriaExpand( el ) {
marianneAriaMenu( "#menu-primary" );
} );
$( window ).on( "resize", function() {
marianneAriaMenu( "#menu-primary" );
$( ".header-search-box" ).hide();
} );
// Enabled search form toggling in the header.
if ( ! $( "body" ).hasClass( "search" ) ) {
$( "#header-search-button" ).click( function() {
@ -232,5 +238,7 @@ function marianneAriaExpand( el ) {
return attr === "false" ? "true" : "false";
} );
} );
} else {
$( ".header-search-box" ).show();
}
} )( jQuery );

View file

@ -1 +1 @@
function marianneCollapseMenuOnClickOutside(e){document.getElementById("menu-primary").contains(e.target)||document.getElementById("menu-primary").querySelectorAll(".sub-menu-toggle").forEach(function(e){e.setAttribute("aria-expanded","false")})}function marianneToggleAriaExpanded(e,t){"true"!==e.getAttribute("aria-expanded")?(e.setAttribute("aria-expanded","true"),t&&document.addEventListener("click",marianneCollapseMenuOnClickOutside)):(e.setAttribute("aria-expanded","false"),t&&document.addEventListener("click",marianneCollapseMenuOnClickOutside))}function marianneExpandSubMenu(e){window.matchMedia("(min-width: 500px)").matches?(e.closest("nav").querySelectorAll(".sub-menu-toggle").forEach(function(t){t!==e&&t.setAttribute("aria-expanded","false")}),marianneToggleAriaExpanded(e,!0),e.parentNode.querySelectorAll("ul > li:last-child > a").forEach(function(t){t.addEventListener("blur",function(t){e.parentNode.contains(t.relatedTarget)||e.setAttribute("aria-expanded","false")})})):e.removeAttribute("aria-haspopup").removeAttribute("aria-expanded")}function marianneAriaExpand(e){"true"!==e.getAttribute("aria-expanded")?e.setAttribute("aria-expanded","true"):e.setAttribute("aria-expanded","false")}!function(e){function t(t){var a=t+" ";window.matchMedia("(max-width: 500px)").matches||window.matchMedia("(hover: none)").matches?(e(a+".sub-menu-toggle").removeAttr("aria-haspopup"),e(a+".sub-menu-toggle").removeAttr("aria-expanded"),e("#menu-mobile-button").attr("aria-haspopup","true").attr("aria-expanded","false"),e(document).keydown(function(t){27===t.keyCode&&e("#menu-mobile-button").attr("aria-expanded","false")}),e(document).mouseup(function(t){var a=e("#menu-primary-container");a.is(t.target)||0!==a.has(t.target).length||e("#menu-mobile-button").attr("aria-expanded","false")}),e("#menu-mobile-button").click(function(){e("#header-search-button").attr("aria-expanded","false"),e(".header-search-box").hide()})):(e(a+".sub-menu-toggle").attr("aria-haspopup")&&e(a+".sub-menu-toggle").attr("aria-expended")||(e(a+".sub-menu-toggle").attr("aria-haspopup","true"),e(a+".sub-menu-toggle").attr("aria-expanded","false")),e(a+".menu-item-has-children").hover(function(){e(this).find(".sub-menu-toggle").attr("aria-expanded")&&e(this).find(".sub-menu-toggle").attr("aria-expanded","true")},function(){e(this).find(".sub-menu-toggle").attr("aria-expanded")&&e(this).find(".sub-menu-toggle").attr("aria-expanded","false")}),e(a+".sub-menu a").focus(function(){e(this).parents(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded")&&e(this).parents(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded","true")}),e(a+".sub-menu a").blur(function(){e(this).parents(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded")&&e(this).parents(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded","false")}),e(a+".sub-menu-toggle").focus(function(){e(this).closest(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded")&&e(this).closest(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded","true")}),e(a+".sub-menu-toggle").blur(function(){e(this).closest(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded")&&e(this).closest(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded","false")}),document.addEventListener("keydown",function(t){27===t.keyCode&&e(".sub-menu-toggle").attr("aria-expanded","false")}))}e("#menu-primary .menu-item").each(function(t,a){e(a).children("a").attr("role","menu-item"),e(a).children("a").attr("tabindex","0")}),e(window).on("load",function(){t("#menu-primary")}),e(window).on("resize",function(){t("#menu-primary"),e(".header-search-box").hide()}),e("body").hasClass("search")||e("#header-search-button").click(function(){e(".header-search-box").toggle(),e(this).attr("aria-expanded",function(e,t){return"false"===t?"true":"false"})})}(jQuery);
function marianneToggleAriaExpanded(e){"true"!==e.getAttribute("aria-expanded")?e.setAttribute("aria-expanded","true"):e.setAttribute("aria-expanded","false")}function marianneExpandSubMenu(e){window.matchMedia("(min-width: 500px)").matches?(e.closest("nav").querySelectorAll(".sub-menu-toggle").forEach(function(a){a!==e&&a.setAttribute("aria-expanded","false")}),marianneToggleAriaExpanded(e),e.parentNode.querySelectorAll("ul > li:last-child > a").forEach(function(a){a.addEventListener("blur",function(a){e.parentNode.contains(a.relatedTarget)||e.setAttribute("aria-expanded","false")})})):e.removeAttribute("aria-haspopup").removeAttribute("aria-expanded")}function marianneAriaExpand(e){"true"!==e.getAttribute("aria-expanded")?e.setAttribute("aria-expanded","true"):e.setAttribute("aria-expanded","false")}!function(e){e("#back-to-top").click(function(){e("html, body").animate({scrollTop:0},200)}),e("#menu-primary .menu-item").each(function(a,t){e(t).children("a").attr("role","menu-item"),e(t).children("a").attr("tabindex","0")}),e(window).on("load",function(){var a;a="#menu-primary"+" ",window.matchMedia("(max-width: 500px)").matches||window.matchMedia("(hover: none)").matches?(e(a+".sub-menu-toggle").removeAttr("aria-haspopup"),e(a+".sub-menu-toggle").removeAttr("aria-expanded"),e("#menu-mobile-button").attr("aria-haspopup","true").attr("aria-expanded","false"),e("#header-search-button").attr("aria-expanded","false"),e("body").hasClass("search")||e(".header-search-box").hide(),e(document).keydown(function(a){27===a.keyCode&&(e("#menu-mobile-button").attr("aria-expanded","false"),e("#header-search-button").attr("aria-expanded","false"),e("body").hasClass("search")||e(".header-search-box").hide())}),e(document).mouseup(function(a){var t=e("#menu-primary-container"),n=e(".header-search-box");t.is(a.target)||0!==t.has(a.target).length||n.is(a.target)||0!==n.has(a.target).length||(e("#menu-mobile-button").attr("aria-expanded","false"),e("#header-search-button").attr("aria-expanded","false"),e("body").hasClass("search")||e(".header-search-box").hide())}),e("#menu-mobile-button").click(function(){e("#header-search-button").attr("aria-expanded","false"),e("body").hasClass("search")||e(".header-search-box").hide()})):(e(a+".sub-menu-toggle").attr("aria-haspopup")&&e(a+".sub-menu-toggle").attr("aria-expended")||(e(a+".sub-menu-toggle").attr("aria-haspopup","true"),e(a+".sub-menu-toggle").attr("aria-expanded","false")),e(a+".menu-item-has-children").hover(function(){e(this).find(".sub-menu-toggle").attr("aria-expanded")&&e(this).find(".sub-menu-toggle").attr("aria-expanded","true")},function(){e(this).find(".sub-menu-toggle").attr("aria-expanded")&&e(this).find(".sub-menu-toggle").attr("aria-expanded","false")}),e(a+".sub-menu a").focus(function(){e(this).parents(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded")&&e(this).parents(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded","true")}),e(a+".sub-menu a").blur(function(){e(this).parents(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded")&&e(this).parents(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded","false")}),e(a+".sub-menu-toggle").focus(function(){e(this).closest(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded")&&e(this).closest(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded","true")}),e(a+".sub-menu-toggle").blur(function(){e(this).closest(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded")&&e(this).closest(".menu-item-has-children").find(".sub-menu-toggle").attr("aria-expanded","false")}),document.addEventListener("keydown",function(a){27===a.keyCode&&e(".sub-menu-toggle").attr("aria-expanded","false")}))}),e("body").hasClass("search")?e(".header-search-box").show():e("#header-search-button").click(function(){e(".header-search-box").toggle(),e(this).attr("aria-expanded",function(e,a){return"false"===a?"true":"false"})})}(jQuery);

View file

@ -34,6 +34,7 @@
array(
'container' => '',
'depth' => 1,
'item_spacing' => 'discard',
'menu_class' => 'navigation-menu',
'menu_id' => 'menu-footer',
'theme_location' => 'footer',
@ -62,6 +63,24 @@
</div>
<?php endif; ?>
<?php if ( true === marianne_get_theme_mod( 'marianne_footer_go_top' ) ) : ?>
<div class="site-footer-block">
<?php
$marianne_svg_chevron_data = marianne_svg_icons( 'chevron-up' );
$marianne_svg_chevron_shapes = $marianne_svg_chevron_data['shapes'];
$marianne_svg_chevron_args = array(
'aria-label' => __( 'Back to top', 'marianne' ),
'class' => 'feather-icons',
'size' => array( 12, 12 ),
);
?>
<button id="back-to-top">
<?php echo marianne_esc_svg( marianne_svg( $marianne_svg_chevron_shapes, $marianne_svg_chevron_args ) . ' ' . esc_html__( 'Back to top', 'marianne' ) ); ?>
</button>
</div>
<?php endif; ?>
<?php wp_footer(); ?>
</footer>
</div><!-- #page -->

View file

@ -142,6 +142,17 @@ if ( ! function_exists( 'marianne_styles_scripts' ) ) {
$theme_version = wp_get_theme()->get( 'Version' );
$min = marianne_minify();
/**
* Use Google Fonts stylesheet when a Google Font is selected.
*
* @since Marianne 1.8
*/
$marianne_font = marianne_font();
if ( $marianne_font['url'] && 'none' !== $marianne_font['url'] ) {
wp_enqueue_style( 'marianne-fonts-google', $marianne_font['url'] . '&display=swap', array(), $theme_version );
}
// The main stylesheet.
wp_enqueue_style( 'marianne-stylesheet', get_template_directory_uri() . "/style$min.css", array(), $theme_version );
@ -216,9 +227,21 @@ if ( ! function_exists( 'marianne_add_sub_menu_toggle' ) ) {
function marianne_add_sub_menu_toggle( $output, $item, $depth, $args ) {
if ( 0 === $depth && in_array( 'menu-item-has-children', $item->classes, true ) && 'primary' === $args->theme_location ) {
// Add toggle button.
// Adds toggle button.
$output .= '<button class="sub-menu-toggle" aria-haspopup="true" aria-expanded="false" onClick="marianneExpandSubMenu(this)">';
$output .= '+';
// Displays the chevron SVG.
$svg_chevron_data = marianne_svg_icons( 'chevron-down' );
$svg_chevron_shapes = $svg_chevron_data['shapes'];
$svg_chevron_args = array(
'class' => 'feather-icons sub-menu-toggle-icon',
'size' => array( 12, 12 ),
'echo' => false,
'aria-label' => __( 'Submenu opening icon', 'marianne' ),
);
$output .= marianne_esc_svg( marianne_svg( $svg_chevron_shapes, $svg_chevron_args ) );
$output .= '<span class="screen-reader-text">' . esc_html__( 'Open submenu', 'marianne' ) . '</span>';
$output .= '</button>';
}
@ -249,15 +272,9 @@ if ( ! function_exists( 'marianne_add_class' ) ) {
}
}
if ( ! function_exists( 'marianne_svg_feather_icons' ) ) {
if ( ! function_exists( 'marianne_svg_icons' ) ) {
/**
* SVG date for social icons.
*
* All defined shapes in this function were made by Feather Icons:
*
* @author Cole Bemis
* @license https://opensource.org/licenses/mit-license.php
* @link https://feathericons.com/
* SVG shapes for social icons.
*
* @param string $name The id of the icon.
*
@ -265,7 +282,7 @@ if ( ! function_exists( 'marianne_svg_feather_icons' ) ) {
*
* @since Marianne 1.3
*/
function marianne_svg_feather_icons( $name = '' ) {
function marianne_svg_icons( $name = '' ) {
$svg_data = array(
'name' => '',
'shapes' => '',
@ -273,6 +290,31 @@ if ( ! function_exists( 'marianne_svg_feather_icons' ) ) {
);
switch ( $name ) {
case '500px':
$svg_data['name'] = _x( '500px', 'The name of the photography site.', 'marianne' );
$svg_data['shapes'] = '<path d="M7.433 9.01A2.994 2.994 0 0 0 4.443 12a2.993 2.993 0 0 0 2.99 2.99 2.994 2.994 0 0 0 2.99-2.99 2.993 2.993 0 0 0-2.99-2.99m0 5.343A2.357 2.357 0 0 1 5.079 12a2.357 2.357 0 0 1 2.354-2.353A2.356 2.356 0 0 1 9.786 12a2.356 2.356 0 0 1-2.353 2.353m6.471-5.343a2.994 2.994 0 0 0-2.99 2.99 2.993 2.993 0 0 0 2.99 2.99 2.994 2.994 0 0 0 2.99-2.99 2.994 2.994 0 0 0-2.99-2.99m0 5.343A2.355 2.355 0 0 1 11.552 12a2.355 2.355 0 0 1 2.352-2.353A2.356 2.356 0 0 1 16.257 12a2.356 2.356 0 0 1-2.353 2.353m-11.61-3.55a2.1 2.1 0 0 0-1.597.423V9.641h2.687c.093 0 .16-.017.16-.292 0-.269-.108-.28-.18-.28H.39c-.174 0-.265.14-.265.294v2.602c0 .136.087.183.247.214.141.028.223.012.285-.057l.006-.01c.283-.408.9-.804 1.486-.732.699.086 1.262.644 1.34 1.327a1.512 1.512 0 0 1-1.5 1.685c-.636 0-1.19-.408-1.422-1.001-.035-.088-.092-.152-.343-.062-.229.083-.243.18-.212.268a2.11 2.11 0 0 0 1.976 1.386 2.102 2.102 0 0 0 .305-4.18M18.938 9.04c-.805.062-1.434.77-1.434 1.61v2.66c0 .155.117.187.293.187s.293-.031.293-.186v-2.668c0-.524.382-.974.868-1.024a.972.972 0 0 1 .758.247.984.984 0 0 1 .322.73c0 .08-.039.34-.217.58-.135.182-.39.399-.844.399h-.009c-.115 0-.215.005-.234.28-.013.186-.012.269.148.29.286.04.576-.016.865-.166.492-.256.822-.741.861-1.267a1.562 1.562 0 0 0-.452-1.222 1.56 1.56 0 0 0-1.218-.45m3.919 1.56l1.085-1.086c.04-.039.132-.132-.055-.324-.08-.083-.153-.125-.217-.125h-.001a.163.163 0 0 0-.121.058L22.46 10.21l-1.086-1.093c-.088-.088-.19-.067-.322.065-.135.136-.157.24-.069.328l1.086 1.092-1.064 1.064-.007.007c-.026.025-.065.063-.065.125-.001.063.042.139.126.223.07.071.138.107.2.107.069 0 .114-.045.139-.07l1.068-1.067 1.09 1.092a.162.162 0 0 0 .115.045h.002c.069 0 .142-.04.217-.118.122-.129.143-.236.06-.319z" />';
break;
case 'apple_podcasts':
$svg_data['name'] = __( 'Apple Podcasts', 'marianne' );
$svg_data['shapes'] = '<path d="M5.34 0A5.328 5.328 0 000 5.34v13.32A5.328 5.328 0 005.34 24h13.32A5.328 5.328 0 0024 18.66V5.34A5.328 5.328 0 0018.66 0zm6.525 2.568c2.336 0 4.448.902 6.056 2.587 1.224 1.272 1.912 2.619 2.264 4.392.12.59.12 2.2.007 2.864a8.506 8.506 0 01-3.24 5.296c-.608.46-2.096 1.261-2.336 1.261-.088 0-.096-.091-.056-.46.072-.592.144-.715.48-.856.536-.224 1.448-.874 2.008-1.435a7.644 7.644 0 002.008-3.536c.208-.824.184-2.656-.048-3.504-.728-2.696-2.928-4.792-5.624-5.352-.784-.16-2.208-.16-3 0-2.728.56-4.984 2.76-5.672 5.528-.184.752-.184 2.584 0 3.336.456 1.832 1.64 3.512 3.192 4.512.304.2.672.408.824.472.336.144.408.264.472.856.04.36.03.464-.056.464-.056 0-.464-.176-.896-.384l-.04-.03c-2.472-1.216-4.056-3.274-4.632-6.012-.144-.706-.168-2.392-.03-3.04.36-1.74 1.048-3.1 2.192-4.304 1.648-1.737 3.768-2.656 6.128-2.656zm.134 2.81c.409.004.803.04 1.106.106 2.784.62 4.76 3.408 4.376 6.174-.152 1.114-.536 2.03-1.216 2.88-.336.43-1.152 1.15-1.296 1.15-.023 0-.048-.272-.048-.603v-.605l.416-.496c1.568-1.878 1.456-4.502-.256-6.224-.664-.67-1.432-1.064-2.424-1.246-.64-.118-.776-.118-1.448-.008-1.02.167-1.81.562-2.512 1.256-1.72 1.704-1.832 4.342-.264 6.222l.413.496v.608c0 .336-.027.608-.06.608-.03 0-.264-.16-.512-.36l-.034-.011c-.832-.664-1.568-1.842-1.872-2.997-.184-.698-.184-2.024.008-2.72.504-1.878 1.888-3.335 3.808-4.019.41-.145 1.133-.22 1.814-.211zm-.13 2.99c.31 0 .62.06.844.178.488.253.888.745 1.04 1.259.464 1.578-1.208 2.96-2.72 2.254h-.015c-.712-.331-1.096-.956-1.104-1.77 0-.733.408-1.371 1.112-1.745.224-.117.534-.176.844-.176zm-.011 4.728c.988-.004 1.706.349 1.97.97.198.464.124 1.932-.218 4.302-.232 1.656-.36 2.074-.68 2.356-.44.39-1.064.498-1.656.288h-.003c-.716-.257-.87-.605-1.164-2.644-.341-2.37-.416-3.838-.218-4.302.262-.616.974-.966 1.97-.97z"/>';
break;
case 'chevron-up':
$svg_data['name'] = 'chevron-up';
$svg_data['shapes'] = '<polyline points="18 15 12 9 6 15"/>';
break;
case 'chevron-down':
$svg_data['name'] = 'chevron-down';
$svg_data['shapes'] = '<polyline points="6 9 12 15 18 9"/>';
break;
case 'diaspora':
$svg_data['name'] = __( 'Diaspora', 'marianne' );
$svg_data['shapes'] = '<path d="M15.257 21.928l-2.33-3.255c-.622-.87-1.128-1.549-1.155-1.55-.027 0-1.007 1.317-2.317 3.115-1.248 1.713-2.28 3.115-2.292 3.115-.035 0-4.5-3.145-4.51-3.178-.006-.016 1.003-1.497 2.242-3.292 1.239-1.794 2.252-3.29 2.252-3.325 0-.056-.401-.197-3.55-1.247a1604.93 1604.93 0 0 1-3.593-1.2c-.033-.013.153-.635.79-2.648.46-1.446.845-2.642.857-2.656.013-.015 1.71.528 3.772 1.207 2.062.678 3.766 1.233 3.787 1.233.021 0 .045-.032.053-.07.008-.039.026-1.794.04-3.902.013-2.107.036-3.848.05-3.87.02-.03.599-.038 2.725-.038 1.485 0 2.716.01 2.735.023.023.016.064 1.175.132 3.776.112 4.273.115 4.33.183 4.33.026 0 1.66-.547 3.631-1.216 1.97-.668 3.593-1.204 3.605-1.191.04.045 1.656 5.307 1.636 5.327-.011.01-1.656.574-3.655 1.252-2.75.932-3.638 1.244-3.645 1.284-.006.029.94 1.442 2.143 3.202 1.184 1.733 2.148 3.164 2.143 3.18-.012.036-4.442 3.299-4.48 3.299-.015 0-.577-.767-1.249-1.705z"/>';
break;
case 'email':
$svg_data['name'] = __( 'Email', 'marianne' );
$svg_data['shapes'] = '<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"></path><polyline points="22,6 12,13 2,6"></polyline>';
@ -280,22 +322,27 @@ if ( ! function_exists( 'marianne_svg_feather_icons' ) ) {
case 'facebook':
$svg_data['name'] = __( 'Facebook', 'marianne' );
$svg_data['shapes'] = '<path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path>';
$svg_data['shapes'] = '<path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/>';
break;
case 'flickr':
$svg_data['name'] = __( 'Flickr', 'marianne' );
$svg_data['shapes'] = '<path d="M5.334 6.666C2.3884 6.666 0 9.055 0 12c0 2.9456 2.3884 5.334 5.334 5.334 2.9456 0 5.332-2.3884 5.332-5.334 0-2.945-2.3864-5.334-5.332-5.334zm13.332 0c-2.9456 0-5.332 2.389-5.332 5.334 0 2.9456 2.3864 5.334 5.332 5.334C21.6116 17.334 24 14.9456 24 12c0-2.945-2.3884-5.334-5.334-5.334Z"/>';
break;
case 'github':
$svg_data['name'] = __( 'GitHub', 'marianne' );
$svg_data['shapes'] = '<path d="M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22"></path>';
$svg_data['shapes'] = '<path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/>';
break;
case 'gitlab':
$svg_data['name'] = __( 'GitLab', 'marianne' );
$svg_data['shapes'] = '<path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z"></path>';
$svg_data['shapes'] = '<path d="M4.845.904c-.435 0-.82.28-.955.692C2.639 5.449 1.246 9.728.07 13.335a1.437 1.437 0 00.522 1.607l11.071 8.045c.2.145.472.144.67-.004l11.073-8.04a1.436 1.436 0 00.522-1.61c-1.285-3.942-2.683-8.256-3.817-11.746a1.004 1.004 0 00-.957-.684.987.987 0 00-.949.69l-2.405 7.408H8.203l-2.41-7.408a.987.987 0 00-.942-.69h-.006zm-.006 1.42l2.173 6.678H2.675zm14.326 0l2.168 6.678h-4.341zm-10.593 7.81h6.862c-1.142 3.52-2.288 7.04-3.434 10.559L8.572 10.135zm-5.514.005h4.321l3.086 9.5zm13.567 0h4.325c-2.467 3.17-4.95 6.328-7.411 9.502 1.028-3.167 2.059-6.334 3.086-9.502zM2.1 10.762l6.977 8.947-7.817-5.682a.305.305 0 01-.112-.341zm19.798 0l.952 2.922a.305.305 0 01-.11.341v.002l-7.82 5.68.026-.035z"/>';
break;
case 'instagram':
$svg_data['name'] = __( 'Instagram', 'marianne' );
$svg_data['shapes'] = '<rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line>';
$svg_data['shapes'] = '<path d="M12 0C8.74 0 8.333.015 7.053.072 5.775.132 4.905.333 4.14.63c-.789.306-1.459.717-2.126 1.384S.935 3.35.63 4.14C.333 4.905.131 5.775.072 7.053.012 8.333 0 8.74 0 12s.015 3.667.072 4.947c.06 1.277.261 2.148.558 2.913.306.788.717 1.459 1.384 2.126.667.666 1.336 1.079 2.126 1.384.766.296 1.636.499 2.913.558C8.333 23.988 8.74 24 12 24s3.667-.015 4.947-.072c1.277-.06 2.148-.262 2.913-.558.788-.306 1.459-.718 2.126-1.384.666-.667 1.079-1.335 1.384-2.126.296-.765.499-1.636.558-2.913.06-1.28.072-1.687.072-4.947s-.015-3.667-.072-4.947c-.06-1.277-.262-2.149-.558-2.913-.306-.789-.718-1.459-1.384-2.126C21.319 1.347 20.651.935 19.86.63c-.765-.297-1.636-.499-2.913-.558C15.667.012 15.26 0 12 0zm0 2.16c3.203 0 3.585.016 4.85.071 1.17.055 1.805.249 2.227.415.562.217.96.477 1.382.896.419.42.679.819.896 1.381.164.422.36 1.057.413 2.227.057 1.266.07 1.646.07 4.85s-.015 3.585-.074 4.85c-.061 1.17-.256 1.805-.421 2.227-.224.562-.479.96-.899 1.382-.419.419-.824.679-1.38.896-.42.164-1.065.36-2.235.413-1.274.057-1.649.07-4.859.07-3.211 0-3.586-.015-4.859-.074-1.171-.061-1.816-.256-2.236-.421-.569-.224-.96-.479-1.379-.899-.421-.419-.69-.824-.9-1.38-.165-.42-.359-1.065-.42-2.235-.045-1.26-.061-1.649-.061-4.844 0-3.196.016-3.586.061-4.861.061-1.17.255-1.814.42-2.234.21-.57.479-.96.9-1.381.419-.419.81-.689 1.379-.898.42-.166 1.051-.361 2.221-.421 1.275-.045 1.65-.06 4.859-.06l.045.03zm0 3.678c-3.405 0-6.162 2.76-6.162 6.162 0 3.405 2.76 6.162 6.162 6.162 3.405 0 6.162-2.76 6.162-6.162 0-3.405-2.76-6.162-6.162-6.162zM12 16c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4zm7.846-10.405c0 .795-.646 1.44-1.44 1.44-.795 0-1.44-.646-1.44-1.44 0-.794.646-1.439 1.44-1.439.793-.001 1.44.645 1.44 1.439z"/>';
break;
case 'link':
@ -305,7 +352,17 @@ if ( ! function_exists( 'marianne_svg_feather_icons' ) ) {
case 'linkedin':
$svg_data['name'] = __( 'LinkedIn', 'marianne' );
$svg_data['shapes'] = '<path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle>';
$svg_data['shapes'] = '<path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/>';
break;
case 'mastodon':
$svg_data['name'] = __( 'Mastodon', 'marianne' );
$svg_data['shapes'] = '<path d="M23.193 7.88c0-5.207-3.411-6.733-3.411-6.733C18.062.357 15.108.025 12.041 0h-.076c-3.069.025-6.02.357-7.74 1.147 0 0-3.412 1.526-3.412 6.732 0 1.193-.023 2.619.015 4.13.124 5.092.934 10.11 5.641 11.355 2.17.574 4.034.695 5.536.612 2.722-.15 4.25-.972 4.25-.972l-.09-1.975s-1.945.613-4.13.54c-2.165-.075-4.449-.234-4.799-2.892a5.5 5.5 0 0 1-.048-.745s2.125.52 4.818.643c1.646.075 3.19-.097 4.758-.283 3.007-.359 5.625-2.212 5.954-3.905.517-2.665.475-6.508.475-6.508zm-4.024 6.709h-2.497v-6.12c0-1.29-.543-1.944-1.628-1.944-1.2 0-1.802.776-1.802 2.313v3.349h-2.484v-3.35c0-1.537-.602-2.313-1.802-2.313-1.085 0-1.628.655-1.628 1.945v6.119H4.831V8.285c0-1.29.328-2.314.987-3.07.68-.759 1.57-1.147 2.674-1.147 1.278 0 2.246.491 2.886 1.474L12 6.585l.622-1.043c.64-.983 1.608-1.474 2.886-1.474 1.104 0 1.994.388 2.674 1.146.658.757.986 1.781.986 3.07v6.305z"></path>';
break;
case 'medium':
$svg_data['name'] = __( 'Medium', 'marianne' );
$svg_data['shapes'] = '<path d="M13.54 12a6.8 6.8 0 01-6.77 6.82A6.8 6.8 0 010 12a6.8 6.8 0 016.77-6.82A6.8 6.8 0 0113.54 12zM20.96 12c0 3.54-1.51 6.42-3.38 6.42-1.87 0-3.39-2.88-3.39-6.42s1.52-6.42 3.39-6.42 3.38 2.88 3.38 6.42M24 12c0 3.17-.53 5.75-1.19 5.75-.66 0-1.19-2.58-1.19-5.75s.53-5.75 1.19-5.75C23.47 6.25 24 8.83 24 12z" />';
break;
case 'phone':
@ -313,24 +370,69 @@ if ( ! function_exists( 'marianne_svg_feather_icons' ) ) {
$svg_data['shapes'] = '<rect x="5" y="2" width="14" height="20" rx="2" ry="2"></rect><line x1="12" y1="18" x2="12.01" y2="18"></line>';
break;
case 'rss':
$svg_data['name'] = __( 'RSS Feed', 'marianne' );
$svg_data['shapes'] = '<path d="M4 11a9 9 0 0 1 9 9"></path><path d="M4 4a16 16 0 0 1 16 16"></path><circle cx="5" cy="19" r="1"></circle>';
case 'reddit':
$svg_data['name'] = __( 'Reddit', 'marianne' );
$svg_data['shapes'] = '<path d="M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm5.01 4.744c.688 0 1.25.561 1.25 1.249a1.25 1.25 0 0 1-2.498.056l-2.597-.547-.8 3.747c1.824.07 3.48.632 4.674 1.488.308-.309.73-.491 1.207-.491.968 0 1.754.786 1.754 1.754 0 .716-.435 1.333-1.01 1.614a3.111 3.111 0 0 1 .042.52c0 2.694-3.13 4.87-7.004 4.87-3.874 0-7.004-2.176-7.004-4.87 0-.183.015-.366.043-.534A1.748 1.748 0 0 1 4.028 12c0-.968.786-1.754 1.754-1.754.463 0 .898.196 1.207.49 1.207-.883 2.878-1.43 4.744-1.487l.885-4.182a.342.342 0 0 1 .14-.197.35.35 0 0 1 .238-.042l2.906.617a1.214 1.214 0 0 1 1.108-.701zM9.25 12C8.561 12 8 12.562 8 13.25c0 .687.561 1.248 1.25 1.248.687 0 1.248-.561 1.248-1.249 0-.688-.561-1.249-1.249-1.249zm5.5 0c-.687 0-1.248.561-1.248 1.25 0 .687.561 1.248 1.249 1.248.688 0 1.249-.561 1.249-1.249 0-.687-.562-1.249-1.25-1.249zm-5.466 3.99a.327.327 0 0 0-.231.094.33.33 0 0 0 0 .463c.842.842 2.484.913 2.961.913.477 0 2.105-.056 2.961-.913a.361.361 0 0 0 .029-.463.33.33 0 0 0-.464 0c-.547.533-1.684.73-2.512.73-.828 0-1.979-.196-2.512-.73a.326.326 0 0 0-.232-.095z"/>';
break;
case 'youtube':
$svg_data['name'] = __( 'YouTube', 'marianne' );
$svg_data['shapes'] = '<path d="M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z"></path><polygon points="9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02"></polygon>';
case 'rss':
$svg_data['name'] = __( 'RSS Feed', 'marianne' );
$svg_data['shapes'] = '<path d="M19.199 24C19.199 13.467 10.533 4.8 0 4.8V0c13.165 0 24 10.835 24 24h-4.801zM3.291 17.415c1.814 0 3.293 1.479 3.293 3.295 0 1.813-1.485 3.29-3.301 3.29C1.47 24 0 22.526 0 20.71s1.475-3.294 3.291-3.295zM15.909 24h-4.665c0-6.169-5.075-11.245-11.244-11.245V8.09c8.727 0 15.909 7.184 15.909 15.91z"/>';
break;
case 'signal':
$svg_data['name'] = __( 'Signal', 'marianne' );
$svg_data['shapes'] = '<path d="M12.012 2.598c-5.22 0-9.452 3.9-9.452 8.709 0 3.016 1.219 5.301 3.155 6.774H5.71l.234 3.042v.004c0 .017 0 .031.004.046v.006c.024.144.15.255.301.255.053 0 .1-.015.144-.035l.011-.008L9.3 19.717c.854.196 1.767.299 2.71.299 5.22 0 9.452-3.899 9.452-8.71 0-4.81-4.233-8.709-9.454-8.709l.004.001zM10.39.72c.525-.065 1.061-.104 1.605-.104.38 0 .75.02 1.119.052l.057-.614C12.781.019 12.392 0 11.997 0c-.57 0-1.135.036-1.691.109l.083.612.001-.001zm3.797.094c.915.165 1.785.436 2.61.795l.252-.567c-.132-.056-.263-.112-.397-.165-.762-.3-1.551-.524-2.355-.671l-.11.608zm9.169 10.556c-.015.915-.155 1.806-.405 2.655l.59.175c.267-.903.416-1.854.431-2.831l-.616.001zM6.745 1.814c.811-.389 1.678-.698 2.586-.902L9.196.308c-.631.141-1.251.329-1.853.569-.297.117-.586.245-.867.381l.269.556zm13.65 1.399c-.706-.649-1.485-1.207-2.329-1.673l-.311.541c.811.445 1.561.981 2.224 1.596l.416-.462v-.002zm-5.244 18.838c.945-.24 1.845-.591 2.686-1.03l-.315-.533c-.786.413-1.631.738-2.521.967l.15.596zM3.677 4.005c.63-.638 1.347-1.2 2.13-1.675l-.327-.529c-.698.422-1.35.914-1.945 1.473-.102.094-.2.191-.3.289l.439.441.003.001zm19.48 11.28l-.568-.236c-.349.833-.803 1.614-1.354 2.332l.495.369c.577-.758 1.061-1.586 1.424-2.465h.003zM20.726 4.433c.606.675 1.122 1.425 1.534 2.228l.555-.275c-.435-.852-.979-1.645-1.627-2.366l-.465.413h.003zm2.554 3.003l-.568.244c.313.828.521 1.703.604 2.61l.615-.061c-.088-.956-.305-1.892-.651-2.793zM6.386 22.849l-.969.425-.332-1.025-.585.19.438 1.347c.029.083.09.151.167.188.041.017.083.026.126.026s.084-.009.123-.026l1.283-.563-.251-.562zm3.823-1.193c-.078-.016-.157-.027-.237-.041l-.465-.079c-.061-.009-.12 0-.172.023l-1.951.853.271.554 1.845-.803c.125.021.25.041.371.059.068.017.139.026.209.038l.129-.604zm3.728.02c-.633.104-1.281.156-1.942.156-.273 0-.525-.015-.772-.038l-.019.615c.251.024.511.04.791.04.698 0 1.383-.058 2.048-.166l-.104-.606-.002-.001zM1.517 7.116c.37-.825.852-1.598 1.425-2.302l-.47-.407c-.61.745-1.116 1.557-1.508 2.427l-.01.021.563.261zM20.532 18.21c-.612.651-1.31 1.229-2.07 1.728l.339.515c.806-.524 1.541-1.14 2.19-1.829l-.459-.414zM.97 14.551c-.188-.796-.293-1.676-.323-2.671H.031c.03 1.071.145 2.005.345 2.843l.594-.172zM.538 7.925c-.297.91-.468 1.853-.51 2.813l.615.03c.042-.923.209-1.816.487-2.662l-.592-.181zm4.199 13.26l-.59-1.815c-.02-.06-.056-.109-.105-.147-.232-.182-.449-.366-.66-.558l-.422.446c.194.184.408.362.629.541l.561 1.717.587-.184zm-2.105-3.292c-.591-.691-1.037-1.449-1.355-2.315l-.573.229c.041.107.083.216.126.322.33.796.771 1.509 1.342 2.175l.46-.411z"/>';
break;
case 'soundcloud':
$svg_data['name'] = __( 'SoundCloud', 'marianne' );
$svg_data['shapes'] = '<path d="M1.175 12.225c-.051 0-.094.046-.101.1l-.233 2.154.233 2.105c.007.058.05.098.101.098.05 0 .09-.04.099-.098l.255-2.105-.27-2.154c0-.057-.045-.1-.09-.1m-.899.828c-.06 0-.091.037-.104.094L0 14.479l.165 1.308c0 .055.045.094.09.094s.089-.045.104-.104l.21-1.319-.21-1.334c0-.061-.044-.09-.09-.09m1.83-1.229c-.061 0-.12.045-.12.104l-.21 2.563.225 2.458c0 .06.045.12.119.12.061 0 .105-.061.121-.12l.254-2.474-.254-2.548c-.016-.06-.061-.12-.121-.12m.945-.089c-.075 0-.135.06-.15.135l-.193 2.64.21 2.544c.016.077.075.138.149.138.075 0 .135-.061.15-.15l.24-2.532-.24-2.623c0-.075-.06-.135-.135-.135l-.031-.017zm1.155.36c-.005-.09-.075-.149-.159-.149-.09 0-.158.06-.164.149l-.217 2.43.2 2.563c0 .09.075.157.159.157.074 0 .148-.068.148-.158l.227-2.563-.227-2.444.033.015zm.809-1.709c-.101 0-.18.09-.18.181l-.21 3.957.187 2.563c0 .09.08.164.18.164.094 0 .174-.09.18-.18l.209-2.563-.209-3.972c-.008-.104-.088-.18-.18-.18m.959-.914c-.105 0-.195.09-.203.194l-.18 4.872.165 2.548c0 .12.09.209.195.209.104 0 .194-.089.21-.209l.193-2.548-.192-4.856c-.016-.12-.105-.21-.21-.21m.989-.449c-.121 0-.211.089-.225.209l-.165 5.275.165 2.52c.014.119.104.225.225.225.119 0 .225-.105.225-.225l.195-2.52-.196-5.275c0-.12-.105-.225-.225-.225m1.245.045c0-.135-.105-.24-.24-.24-.119 0-.24.105-.24.24l-.149 5.441.149 2.503c.016.135.121.24.256.24s.24-.105.24-.24l.164-2.503-.164-5.456-.016.015zm.749-.134c-.135 0-.255.119-.255.254l-.15 5.322.15 2.473c0 .15.12.255.255.255s.255-.12.255-.27l.15-2.474-.165-5.307c0-.148-.12-.27-.271-.27m1.005.166c-.164 0-.284.135-.284.285l-.103 5.143.135 2.474c0 .149.119.277.284.277.149 0 .271-.12.284-.285l.121-2.443-.135-5.112c-.012-.164-.135-.285-.285-.285m1.184-.945c-.045-.029-.105-.044-.165-.044s-.119.015-.165.044c-.09.054-.149.15-.149.255v.061l-.104 6.048.115 2.449v.008c.008.06.03.135.074.18.058.061.142.104.234.104.08 0 .158-.044.209-.09.058-.06.091-.135.091-.225l.015-.24.117-2.203-.135-6.086c0-.104-.061-.193-.135-.239l-.002-.022zm1.006-.547c-.045-.045-.09-.061-.15-.061-.074 0-.149.016-.209.061-.075.061-.119.15-.119.24v.029l-.137 6.609.076 1.215.061 1.185c0 .164.148.314.328.314.181 0 .33-.15.33-.329l.15-2.414-.15-6.637c0-.12-.074-.221-.165-.277m8.934 3.777c-.405 0-.795.086-1.139.232-.24-2.654-2.46-4.736-5.188-4.736-.659 0-1.305.135-1.889.359-.225.09-.27.18-.285.359v9.368c.016.18.15.33.33.345h8.185C22.681 17.218 24 15.914 24 14.28s-1.319-2.952-2.938-2.952"/>';
break;
case 'spotify':
$svg_data['name'] = __( 'Spotify', 'marianne' );
$svg_data['shapes'] = '<path d="M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z"></path>';
break;
case 'tiktok':
$svg_data['name'] = __( 'TikTok', 'marianne' );
$svg_data['shapes'] = '<path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"/>';
break;
case 'telegram':
$svg_data['name'] = __( 'Telegram', 'marianne' );
$svg_data['shapes'] = '<path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/>';
break;
case 'twitch':
$svg_data['name'] = __( 'Twitch', 'marianne' );
$svg_data['shapes'] = '<path d="M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7"></path>';
$svg_data['shapes'] = '<path d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"/>';
break;
case 'twitter':
$svg_data['name'] = __( 'Twitter', 'marianne' );
$svg_data['shapes'] = '<path d="M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"></path>';
$svg_data['shapes'] = '<path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/>';
break;
case 'vimeo':
$svg_data['name'] = __( 'Vimeo', 'marianne' );
$svg_data['shapes'] = '<path d="M23.9765 6.4168c-.105 2.338-1.739 5.5429-4.894 9.6088-3.2679 4.247-6.0258 6.3699-8.2898 6.3699-1.409 0-2.578-1.294-3.553-3.881l-1.9179-7.1138c-.719-2.584-1.488-3.878-2.312-3.878-.179 0-.806.378-1.8809 1.132l-1.129-1.457a315.06 315.06 0 003.501-3.1279c1.579-1.368 2.765-2.085 3.5539-2.159 1.867-.18 3.016 1.1 3.447 3.838.465 2.953.789 4.789.971 5.5069.5389 2.45 1.1309 3.674 1.7759 3.674.502 0 1.256-.796 2.265-2.385 1.004-1.589 1.54-2.797 1.612-3.628.144-1.371-.395-2.061-1.614-2.061-.574 0-1.167.121-1.777.391 1.186-3.8679 3.434-5.7568 6.7619-5.6368 2.4729.06 3.6279 1.664 3.4929 4.7969z"/>';
break;
case 'vk':
$svg_data['name'] = __( 'VK', 'marianne' );
$svg_data['shapes'] = '<path d="M15.684 0H8.316C1.592 0 0 1.592 0 8.316v7.368C0 22.408 1.592 24 8.316 24h7.368C22.408 24 24 22.408 24 15.684V8.316C24 1.592 22.391 0 15.684 0zm3.692 17.123h-1.744c-.66 0-.864-.525-2.05-1.727-1.033-1-1.49-1.135-1.744-1.135-.356 0-.458.102-.458.593v1.575c0 .424-.135.678-1.253.678-1.846 0-3.896-1.118-5.335-3.202C4.624 10.857 4.03 8.57 4.03 8.096c0-.254.102-.491.593-.491h1.744c.44 0 .61.203.78.677.863 2.49 2.303 4.675 2.896 4.675.22 0 .322-.102.322-.66V9.721c-.068-1.186-.695-1.287-.695-1.71 0-.204.17-.407.44-.407h2.744c.373 0 .508.203.508.643v3.473c0 .372.17.508.271.508.22 0 .407-.136.813-.542 1.254-1.406 2.151-3.574 2.151-3.574.119-.254.322-.491.763-.491h1.744c.525 0 .644.27.525.643-.22 1.017-2.354 4.031-2.354 4.031-.186.305-.254.44 0 .78.186.254.796.779 1.203 1.253.745.847 1.32 1.558 1.473 2.05.17.49-.085.744-.576.744z"/>';
break;
case 'whatsapp':
$svg_data['name'] = __( 'WhatsApp', 'marianne' );
$svg_data['shapes'] = '<path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"/>';
break;
case 'youtube':
$svg_data['name'] = __( 'YouTube', 'marianne' );
$svg_data['shapes'] = '<path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/>';
break;
}
@ -346,15 +448,25 @@ if ( ! function_exists( 'marianne_esc_svg' ) ) {
*
* @link https://www.w3.org/TR/SVG2/shapes.html
*
* @param string $shapes Path to escape.
* @param bool $echo Echo or return the value.
* @param string $input SVG HTML to escape.
*
* @return string $shapes Escaped path.
* @return string $output Escaped SVG.
*
* @since Marianne 1.3
*/
function marianne_esc_svg( $shapes = '', $echo = true ) {
$allowed_path = array(
function marianne_esc_svg( $input = '' ) {
$allowed_html = array(
'svg' => array(
'xmlns' => array(),
'role' => array(),
'class' => array(),
'id' => array(),
'viewbox' => array(),
'width' => array(),
'height' => array(),
'aria-label' => array(),
),
'title' => array(),
'circle' => array(
'cx' => array(),
'cy' => array(),
@ -386,11 +498,9 @@ if ( ! function_exists( 'marianne_esc_svg' ) ) {
),
);
if ( true === $echo ) {
echo wp_kses( $shapes, $allowed_path );
} else {
return wp_kses( $shapes, $allowed_path );
}
$output = wp_kses( $input, $allowed_html );
return $output;
}
}
@ -398,31 +508,52 @@ if ( ! function_exists( 'marianne_svg' ) ) {
/**
* Converts a Twitter username into a Twitter URL.
*
* @param string $shapes SVG shapes to displays.
* @param string $class The class of the container.
* To set multiple classes,
* separate them with a space.
* Example: $class = "class-1 class-2".
* @param array $size The size of the image (width, height).
* @param string $viewbox The viewBox attribute to add to the image.
* @param string $shapes SVG shapes to displays.
* @param array $args Parameters to set.
* $args = array(
* 'class' => 'string' The class of the SVG image.
* Default: 'simple-icons'.
* 'size' => (array) The size of the image (width, height).
* Default: array( 18, 18 ).
* 'viewbox' => (string) The viewBox attribute to add to the image.
* Default: '0 0 24 24'.
* 'echo' => (bool) Whether to return or echo the SVG image.
* Default: true.
* 'aria_label' => (string) Label the image.
* Default: ''.
*
* @return void
* @return string|void $svg The SVG HTML.
*
* @since Marianne 1.3
*/
function marianne_svg( $shapes = '', $class = 'feather', $size = array( 18, 18 ), $viewbox = '0 0 24 24' ) {
?>
<svg xmlns="http://www.w3.org/2000/svg" width="<?php echo esc_attr( absint( $size[0] ) ); ?>" height="<?php echo esc_attr( absint( $size[1] ) ); ?>" <?php marianne_add_class( $class, false ); ?> viewBox="<?php echo esc_attr( $viewbox ); ?>">
<?php marianne_esc_svg( $shapes ); ?>
</svg>
<?php
function marianne_svg( $shapes = '', $args = array() ) {
if ( is_array( $args ) && ! empty( $args ) ) {
$class = isset( $args['class'] ) ? $args['class'] : 'simple-icons';
$size = isset( $args['size'] ) ? $args['size'] : array( 18, 18 );
$viewbox = isset( $args['viewbox'] ) ? $args['viewbox'] : '0 0 24 24';
if ( isset( $args['echo'] ) && is_bool( $args['echo'] ) ) {
$echo = $args['echo'];
} else {
$echo = true;
}
$aria_label = isset( $args['aria-label'] ) ? $args['aria-label'] : '';
}
$svg = '<svg xmlns="http://www.w3.org/2000/svg" role="img" aria-label="' . esc_attr( $aria_label ) . '" width="' . esc_attr( absint( $size[0] ) ) . '" height="' . esc_attr( absint( $size[1] ) ) . '" class="' . esc_attr( $class ) . '" viewBox="' . esc_attr( $viewbox ) . '">';
$svg .= $shapes;
$svg .= '</svg>';
return $svg;
}
}
// Loads required files.
require get_template_directory() . '/inc/template-tags.php';
require get_template_directory() . '/inc/customizer.php';
require get_template_directory() . '/inc/custom-styles.php';
require get_template_directory() . '/inc/marianne-theme-page.php';
require get_template_directory() . '/inc/classes/class-marianne-customizer-control-slider.php';
require get_template_directory() . '/inc/classes/class-marianne-customizer-control-radio-image.php';
require get_template_directory() . '/inc/classes/class-marianne-customizer-section-about.php';

View file

@ -20,15 +20,8 @@
</head>
<?php
$marianne_body_class = 'font-family-' . esc_attr( marianne_get_theme_mod( 'marianne_global_font_family' ) );
$marianne_body_class .= ' font-size-' . esc_attr( marianne_get_theme_mod( 'marianne_global_font_size' ) );
$marianne_body_class .= ' color-scheme-' . esc_attr( marianne_get_theme_mod( 'colors_scheme' ) );
$marianne_body_class = ' color-scheme-' . esc_attr( marianne_get_theme_mod( 'colors_scheme' ) );
$marianne_body_class .= ' link-hover-' . esc_attr( marianne_get_theme_mod( 'colors_link_hover' ) );
$marianne_body_class .= ' site-layout-' . esc_attr( marianne_get_theme_mod( 'marianne_global_layout' ) );
if ( 'sidebar-none' !== marianne_get_theme_mod( 'marianne_global_layout' ) ) {
$marianne_body_class .= ' sidebar-width-' . marianne_get_theme_mod( 'marianne_global_sidebar_width' );
}
if ( true === marianne_get_theme_mod( 'marianne_global_font_smooth' ) ) {
$marianne_body_class .= ' font-smooth';
@ -38,6 +31,7 @@
$marianne_body_class .= ' text-shadow';
}
?>
<body <?php body_class( $marianne_body_class ); ?>>
<?php
if ( function_exists( 'wp_body_open' ) ) {
@ -47,19 +41,12 @@
<a class="skip-link screen-reader-text" href="#content"><?php esc_html_e( 'Skip to content', 'marianne' ); ?></a>
<?php
$marianne_page_class = 'site';
$marianne_page_class .= ' page-width-' . esc_attr( marianne_get_theme_mod( 'marianne_global_page_width' ) );
// TEST
$marianne_page_class .= ' site-grid-hl-sl';
?>
<div id="page" <?php marianne_add_class( $marianne_page_class, false ); ?>>
<div id="page" class="site">
<?php
$marianne_header_class = 'site-header';
$marianne_header_class .= ' site-header-align-' . esc_attr( marianne_get_theme_mod( 'marianne_header_align' ) );
?>
<header id="header" <?php marianne_add_class( $marianne_header_class, false ); ?> role="banner">
<?php
$marianne_logo_class = 'site-logo';

View file

@ -1,58 +0,0 @@
<?php
/**
* Custom Radio Image Class.
*
* This class is in charge of customization with radio images via the Customizer.
*
* Based on the work of Anthony Hortin.
*
* @link https://github.com/maddisondesigns
*
* @package Marianne
* @since Marianne 1.3
*/
if ( class_exists( 'WP_Customize_Control' ) ) {
/**
* Instantiate the object.
*/
class Marianne_Customizer_Control_Radio_Image extends WP_Customize_Control {
/**
* The control type.
*
* @access public
* @var string
*/
public $type = 'marianne_radio_image';
/**
* Renders the control content.
*
* This simply prints the notice we need.
*
* @access public
* @return void
*/
public function render_content() {
?>
<div class="image_radio_button_control">
<?php if ( ! empty( $this->label ) ) { ?>
<span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
<?php } ?>
<?php if ( !empty( $this->description ) ) { ?>
<span class="customize-control-description"><?php echo esc_html( $this->description ); ?></span>
<?php } ?>
<?php foreach ( $this->choices as $key => $value ) { ?>
<label class="radio-button-label">
<input type="radio" id="<?php echo esc_attr( $this->id . '_' . $key ); ?>" name="<?php echo esc_attr( $this->id ); ?>" value="<?php echo esc_attr( $key ); ?>" <?php $this->link(); ?> <?php checked( esc_attr( $key ), $this->value() ); ?>/>
<img src="<?php echo esc_attr( $value['image'] ); ?>" alt="<?php echo esc_attr( $value['name'] ); ?>" title="<?php echo esc_attr( $value['name'] ); ?>" />
</label>
<?php } ?>
</div>
<?php
}
}
}

275
inc/custom-styles.php Normal file
View file

@ -0,0 +1,275 @@
<?php
/**
* Custom Styles.
*
* The purpose of this file is to customize the theme styles
* according to the customization choices.
*
* @package Marianne
* @since Marianne 1.4
*/
if ( ! function_exists( 'marianne_array_to_css' ) ) {
/**
* Generates a CSS string from a multidimensional array of CSS rules.
*
* Based on the work of Matthew Grasmick.
*
* @link http://matthewgrasmick.com/article/convert-nested-php-array-css-string
*
* @param array $rules An array of CSS rules in the following format:
* array( 'selector' => array( 'property' => 'value' ) ).
* @param string $rule_type Add an at-rule (optional)
* default: 'standard'. Also supports other at-rules.
* Example: $rule_type = '@font-face'.
*
* @return string A CSS string of rules not wrapped in <style> tags.
*/
function marianne_array_to_css( $rules, $rule_type = '' ) {
$css = '';
if ( $rules ) {
if ( ! $rule_type ) {
foreach ( $rules as $key => $value ) {
if ( is_array( $value ) ) {
$selector = $key;
$properties = $value;
$css .= "$selector{";
$css .= marianne_array_to_css( $properties );
$css .= '}';
} else {
$property = $key;
$css .= "$property:$value;";
}
}
} elseif ( '@font-face' === $rule_type ) {
foreach ( $rules as $value ) {
$selector = $rule_type;
$properties = $value;
$css .= "$selector{";
$css .= marianne_array_to_css( $properties );
$css .= '}';
}
} else {
$css .= "$rule_type {";
foreach ( $rules as $property => $value ) {
$css .= "$property{";
$css .= marianne_array_to_css( $value );
$css .= '}';
}
$css .= '}';
}
}
return $css;
}
}
if ( ! function_exists( 'marianne_color_palette' ) ) {
/**
* An array of colors used in the theme and to be reused.
*
* @param string $name The name of the color to return.
* @param string $scheme The color scheme associated with the color.
*
* @return string The hex color.
*/
function marianne_color_palette( $name, $scheme ) {
$colors = array(
'blue' => array(
'light' => '#0057B7',
'dark' => '#529ff5',
),
'red' => array(
'light' => '#de0000',
'dark' => '#f14646',
),
'green' => array(
'light' => '#006400',
'dark' => '#18af18',
),
'orange' => array(
'light' => '#ff8c00',
'dark' => '#ffab2e',
),
'purple' => array(
'light' => '#800080',
'dark' => '#9a389a',
),
);
if ( true === array_key_exists( $name, $colors ) ) {
return $colors[ $name ];
} else {
return $colors['contrast'];
}
}
}
if ( ! function_exists( 'marianne_custom_css' ) ) {
/**
* Inlines custom styles.
*
* Gets the custom styles from the Theme Customizer
* and inlines them in the head element of pages.
*/
function marianne_custom_css() {
// Set variables.
$marianne_page_width = marianne_get_theme_mod( 'marianne_global_page_width' );
$marianne_font_family = marianne_get_theme_mod( 'marianne_global_font_family' );
$marianne_layout = marianne_get_theme_mod( 'marianne_global_layout' );
$marianne_sidebar_width = marianne_get_theme_mod( 'marianne_global_sidebar_width' );
$marianne_sidebar_margin = marianne_get_theme_mod( 'marianne_global_sidebar_margin' );
// Set styles.
$css[':root']['--font-size'] = ( 12 * absint( marianne_get_theme_mod( 'marianne_global_font_size' ) ) / 100 ) . 'pt';
$marianne_font = marianne_font();
if ( isset( $marianne_font['css'] ) ) {
$marianne_font_value = $marianne_font['css'];
$css['body']['font-family'] = $marianne_font_value;
}
if ( 'one-column' === $marianne_layout ) {
$css['.site']['max-width'] = absint( $marianne_page_width ) . 'px';
$css['.site-header']['margin-top'] = '4em';
$css['.site-header']['margin-bottom'] = '4em';
$css['.site-content']['margin-top'] = '4em';
} elseif ( 'two-column-left-sidebar' === $marianne_layout ) {
$css['.site']['max-width'] = absint( $marianne_page_width ) . 'px';
$css['.site-header']['width'] = absint( $marianne_sidebar_width ) . 'px';
$css['.site-header']['float'] = 'left';
$css['.site-header']['margin-left'] = '-' . absint( $marianne_sidebar_width + $marianne_sidebar_margin ) . 'px';
$css['#menu-primary > .menu-item']['border-right'] = '0';
$css['#menu-primary > .menu-item']['border-left'] = '1px solid var(--color-border)';
$css['#menu-primary > .menu-item']['display'] = 'block';
$css['#menu-primary > .menu-item']['margin'] = '.5rem 0';
$css['#menu-primary > .menu-item']['padding-right'] = '0';
$css['#menu-primary > .menu-item']['padding-left'] = '.5rem';
$css['.site-content']['float'] = 'right';
$css['.site-content']['position'] = 'relative';
$css['.site-content']['margin-bottom'] = '4em';
$css['.site-secondary']['width'] = absint( $marianne_sidebar_width ) . 'px';
$css['.site-secondary']['float'] = 'left';
$css['.site-secondary']['margin-left'] = '-' . absint( $marianne_sidebar_width + $marianne_sidebar_margin ) . 'px';
$css['.site-secondary']['clear'] = 'left';
$css['.site-secondary .separator']['margin'] = '2em 0';
}
$css['.entry-thumbnail-wide .wp-post-image']['width'] = absint( $marianne_page_width ) . 'px';
$css['.alignwide']['margin-right'] = 'calc(-75vw / 2 + ' . absint( $marianne_page_width ) . 'px / 2)';
$css['.alignwide']['margin-left'] = 'calc(-75vw / 2 + ' . absint( $marianne_page_width ) . 'px / 2)';
$css['.alignfull']['margin-left'] = 'calc(-100vw / 2 + ' . absint( $marianne_page_width ) . 'px / 2)';
$css['.alignfull']['margin-left'] = 'calc(-100vw / 2 + ' . absint( $marianne_page_width ) . 'px / 2)';
wp_add_inline_style( 'marianne-stylesheet', marianne_array_to_css( $css ) );
/**
* Support responsive design.
*/
// Responsive layout with left sidebar.
if ( 'two-column-left-sidebar' === $marianne_layout ) {
$marianne_sidebar_width = marianne_get_theme_mod( 'marianne_global_sidebar_width' );
$marianne_sidebar_margin = marianne_get_theme_mod( 'marianne_global_sidebar_margin' );
$media_rule = '@media all and (max-width: ' . absint( $marianne_page_width + ( ( $marianne_sidebar_width + $marianne_sidebar_margin ) * 2 ) + 100 ) . 'px)';
$media = array();
$media['.site-header']['width'] = 'auto';
$media['.site-header']['float'] = 'none';
$media['.site-header']['margin-left'] = '0';
$media['.site-header']['margin-top'] = '2em';
$media['.site-header']['margin-bottom'] = '4em';
$media['#menu-primary > .menu-item']['border-right'] = '1px solid var(--color-border)';
$media['#menu-primary > .menu-item']['border-left'] = '0';
$media['#menu-primary > .menu-item']['display'] = 'inline-block';
$media['#menu-primary > .menu-item']['margin-right'] = '.5rem';
$media['#menu-primary > .menu-item']['padding-right'] = '.5rem';
$media['#menu-primary > .menu-item']['padding-left'] = '0';
$media['#menu-primary > .menu-item:last-child']['border-right'] = '0';
$media['.site-content ']['float'] = 'none';
$media['.site-secondary']['width'] = 'auto';
$media['.site-secondary']['float'] = 'none';
$media['.site-secondary']['margin-left'] = '0';
wp_add_inline_style( 'marianne-stylesheet', marianne_array_to_css( $media, $media_rule ) );
} elseif ( $marianne_page_width > absint( 480 + ( 480 * 0.1 ) ) ) {
// Responsive layout without sidebar, for screen width greater than 480px.
$media_rule = '@media all and (max-width: ' . absint( $marianne_page_width + ( $marianne_page_width * 0.1 ) ) . 'px)';
$media = array();
$media['.site']['width'] = '80%';
wp_add_inline_style( 'marianne-stylesheet', marianne_array_to_css( $media, $media_rule ) );
}
// Responsive layout for small screens.
$media_rule = '@media all and (max-width: ' . absint( 480 + ( 480 * 0.1 ) ) . 'px)';
$media = array();
$media['.site']['width'] = '90%';
$media['.site-content']['margin'] = '2em auto';
$media['.site-header']['margin-bottom'] = '1em';
$media['.entry-loop.sticky']['margin-right'] = '-.5rem';
$media['.entry-loop.sticky']['margin-left'] = '-.5rem';
$media['.entry-loop.sticky']['padding'] = '.5rem';
$media['.entry-loop.sticky figure']['margin-right'] = '-.5rem';
$media['.entry-loop.sticky figure']['margin-left'] = '-.5rem';
$media['.nav-links']['display'] = 'block';
$media['.nav-links']['justify-content'] = 'unset';
$media['.nav-links .nav-link-previous,.nav-links .nav-link-next']['max-width'] = 'unset';
$media['.nav-links .nav-link-previous']['padding-right'] = '0';
$media['.nav-links .nav-link-next']['padding-top'] = '.5em';
$media['.nav-links .nav-link-next']['padding-left'] = '0';
$media['.nav-links .nav-link-next']['text-align'] = 'right';
$media['.nav-links-one .nav-link-next']['text-align'] = 'right';
$media['.comment-list .parent .comment']['padding'] = '.5em 0 0 .5em';
$media['.wp-block-media-text']['display'] = 'block';
$media['.alignfull']['margin-right'] = '-1em';
$media['.alignfull']['margin-left'] = '-1em';
wp_add_inline_style( 'marianne-stylesheet', marianne_array_to_css( $media, $media_rule ) );
}
add_action( 'wp_enqueue_scripts', 'marianne_custom_css' );
}

View file

@ -33,6 +33,27 @@ if ( ! function_exists( 'marianne_customizer_scripts_styles' ) ) {
add_action( 'customize_controls_enqueue_scripts', 'marianne_customizer_scripts_styles' );
}
if ( ! function_exists( 'marianne_head_fonts' ) ) {
/**
* Adds meta in head for Google Fonts.
*
* @return void
*
* @since Marianne 1.8
*/
function marianne_head_fonts() {
$marianne_font = marianne_font();
if ( $marianne_font['url'] && 'none' !== $marianne_font['url'] ) {
?>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<?php
}
}
add_action( 'wp_head', 'marianne_head_fonts', 1 );
}
if ( ! function_exists( 'marianne_customizer_script_live' ) ) {
/**
* Enqueues Theme Customizer live preview script.
@ -46,11 +67,161 @@ if ( ! function_exists( 'marianne_customizer_script_live' ) ) {
$min = marianne_minify();
wp_enqueue_script( 'marianne-customizer-live', get_template_directory_uri() . "/assets/js/customizer-live-preview$min.js", array( 'jquery', 'customize-preview' ), $theme_version, true );
$marianne_localize_script = array(
'default_search_text' => esc_html_x( 'Search', 'The search button text.', 'marianne' ),
);
wp_localize_script( 'marianne-customizer-live', 'marianne_live', $marianne_localize_script );
}
add_action( 'customize_preview_init', 'marianne_customizer_script_live' );
}
if ( ! function_exists( 'marianne_fonts' ) ) {
/**
* An array of all fonts supported by Marianne.
*
* @return array Supported fonts.
*
* @since Marianne 1.8
*/
function marianne_fonts() {
$fonts = array();
$fonts['sans-serif'] = array(
'lato' => array(
'name' => _x( 'Lato', 'A font name', 'marianne' ),
'css' => '"Lato", sans-serif',
'url' => 'https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,400;0,700;0,900;1,100;1,400;1,700;1,900',
),
'noto-sans' => array(
'name' => _x( 'Noto Sans', 'A font name', 'marianne' ),
'css' => '"Noto Sans", sans-serif',
'url' => 'https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,400;0,700;1,400;1,700',
),
'open-sans' => array(
'name' => _x( 'Open Sans', 'A font name', 'marianne' ),
'css' => '"Open Sans", sans-serif',
'url' => 'https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,700;0,800;1,300;1,400;1,700;1,800',
),
'pt-sans' => array(
'name' => _x( 'PT Sans', 'A font name', 'marianne' ),
'css' => '"PT Sans", sans-serif',
'url' => 'https://fonts.googleapis.com/css2?family=PT+Sans:ital,wght@0,400;0,700;1,400;1,700',
),
'roboto' => array(
'name' => _x( 'Roboto', 'A font name', 'marianne' ),
'css' => '"Roboto", sans-serif',
'url' => 'https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,400;0,700;0,900;1,100;1,400;1,700;1,900',
),
'source-sans-pro' => array(
'name' => _x( 'Source Sans Pro', 'A font name', 'marianne' ),
'css' => '"Source Sans Pro", sans-serif',
'url' => 'https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,200;0,400;0,700;0,900;1,200;1,400;1,700;1,900',
),
'system' => array(
'name' => _x( 'Sans Serif (system)', 'A font name', 'marianne' ),
'css' => '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif',
'url' => 'none',
),
);
$fonts['serif'] = array(
'lora' => array(
'name' => _x( 'Lora', 'A font name', 'marianne' ),
'css' => '"Lora", serif',
'url' => 'https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,700;1,400;1,700',
),
'merriweather' => array(
'name' => _x( 'Merriweather', 'A font name', 'marianne' ),
'css' => '"Merriweather", serif',
'url' => 'https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900',
),
'noto-serif' => array(
'name' => _x( 'Noto Serif', 'A font name', 'marianne' ),
'css' => '"Noto Serif", serif',
'url' => 'https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,400;0,700;1,400;1,700',
),
'pt-serif' => array(
'name' => _x( 'PT Serif', 'A font name', 'marianne' ),
'css' => '"PT Serif", serif',
'url' => 'https://fonts.googleapis.com/css2?family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700',
),
'roboto-slab' => array(
'name' => _x( 'Roboto Slab', 'A font name', 'marianne' ),
'css' => '"Roboto Slab", serif',
'url' => 'https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@100;200;400;700;900',
),
'source-serif-pro' => array(
'name' => _x( 'Source Serif Pro', 'A font name', 'marianne' ),
'css' => '"Source Serif Pro", serif',
'url' => 'https://fonts.googleapis.com/css2?family=Source+Serif+Pro:ital,wght@0,200;0,400;0,700;0,900;1,200;1,400;1,700;1,900',
),
'system' => array(
'name' => _x( 'Serif (system)', 'A font name', 'marianne' ),
'css' => '"Iowan Old Style", "Apple Garamond", Baskerville, "Times New Roman", "Droid Serif", Times, "Source Serif Pro", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
'url' => 'none',
),
);
$fonts['monospace'] = array(
'pt-mono' => array(
'name' => _x( 'PT Mono', 'A font name', 'marianne' ),
'css' => '"PT Mono", monospace',
'url' => 'https://fonts.googleapis.com/css2?family=PT+Mono',
),
'roboto-mono' => array(
'name' => _x( 'Roboto Mono', 'A font name', 'marianne' ),
'css' => '"Roboto Mono", monospace',
'url' => 'https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100;0,400;0,700;1,100;1,400;1,700',
),
'source-code-pro' => array(
'name' => _x( 'Source Code Pro', 'A font name', 'marianne' ),
'css' => '"Source Code Pro", monospace',
'url' => 'https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200;0,400;0,700;0,900;1,200;1,400;1,700;1,900',
),
'system' => array(
'name' => _x( 'Monospace (system)', 'A font name', 'marianne' ),
'css' => 'Menlo, Consolas, Monaco, "Liberation Mono", "Lucida Console", monospace',
'url' => 'none',
),
);
return $fonts;
}
}
if ( ! function_exists( 'marianne_font' ) ) {
/**
* Retrieves font data from fonts supported by Marianne.
*
* @return array The font data in an array.
*
* @since Marianne 1.8
*/
function marianne_font() {
$font_family = marianne_get_theme_mod( 'marianne_global_font_family' );
if ( 'sans-serif' === $font_family ) {
$font_name = marianne_get_theme_mod( 'marianne_global_fonts_sans_serif' );
} elseif ( 'serif' === $font_family ) {
$font_name = marianne_get_theme_mod( 'marianne_global_fonts_serif' );
} elseif ( 'monospace' === $font_family ) {
$font_name = marianne_get_theme_mod( 'marianne_global_fonts_monospace' );
} else {
$font_name = '';
}
if ( $font_name ) {
$marianne_fonts = marianne_fonts();
if ( isset( $marianne_fonts[ $font_family ][ $font_name ] ) ) {
return $marianne_fonts[ $font_family ][ $font_name ];
}
}
}
}
if ( ! function_exists( 'marianne_customize_register' ) ) {
/**
* Adds various options to the theme.
@ -89,6 +260,13 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
)
);
$wp_customize->add_section(
'marianne_loop',
array(
'title' => __( 'Post List Settings', 'marianne' ),
)
);
$wp_customize->add_section(
'marianne_post',
array(
@ -198,23 +376,55 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'live' => true,
);
// Static Front Page.
$marianne_customizer_options[] = array(
'section' => 'static_front_page',
'id' => 'title',
'title' => __( 'Display the title of the front page.', 'marianne' ),
'description' => __( 'Default: unchecked.', 'marianne' ),
'type' => 'checkbox',
);
// Global.
$marianne_customizer_options[] = array(
'section' => 'marianne_global',
'id' => 'layout',
'title' => __( 'Layout', 'marianne' ),
'description' => __( 'You can choose to display your site in one or two columns, with a left sidebar. Default: one column.', 'marianne' ),
'type' => 'marianne_radio_image',
'description' => __( 'You can choose to display your site in one or two columns, with a left sidebar. The sidebar will show up only if the screen is wide enough. Default: one column.', 'marianne' ),
'type' => 'radio',
'value' => array(
'sidebar-none' => array(
'image' => esc_url( get_template_directory_uri() . '/assets/img/sidebar-none.png' ),
'name' => __( 'One column', 'marianne' ),
),
'sidebar-left' => array(
'image' => esc_url( get_template_directory_uri() . '/assets/img/sidebar-left.png' ),
'name' => __( 'Two columns with a left sidebar', 'marianne' ),
),
'one-column' => __( 'One column', 'marianne' ),
'two-column-left-sidebar' => __( 'Two columns with a left sidebar', 'marianne' ),
),
'live' => false,
);
$marianne_customizer_options[] = array(
'section' => 'marianne_global',
'id' => 'sidebar_width',
'title' => __( 'Sidebar Width', 'marianne' ),
'description' => __( 'Default: 250px.', 'marianne' ),
'type' => 'marianne_slider',
'input_attrs' => array(
'min' => 180,
'max' => 320,
'step' => 10,
),
'live' => false,
);
$marianne_customizer_options[] = array(
'section' => 'marianne_global',
'id' => 'sidebar_margin',
'title' => __( 'Sidebar Margin Width', 'marianne' ),
'description' => __( 'Default: 100px.', 'marianne' ),
'type' => 'marianne_slider',
'input_attrs' => array(
'min' => 50,
'max' => 200,
'step' => 10,
),
'live' => false,
);
$marianne_customizer_options[] = array(
@ -222,13 +432,13 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'id' => 'page_width',
'title' => __( 'Page Width', 'marianne' ),
'description' => __( 'If you increase the width of the page, your featured images may become too small. In this case, you should regenerate their thumbnails with a plugins (recommended). Or you can enable the next option. Default: 480px.', 'marianne' ),
'type' => 'radio',
'value' => array(
'480' => _x( '480px', 'A width in pixels', 'marianne' ),
'600' => _x( '600px', 'A width in pixels', 'marianne' ),
'720' => _x( '720px', 'A width in pixels', 'marianne' ),
'type' => 'marianne_slider',
'input_attrs' => array(
'min' => 480,
'max' => 1080,
'step' => 10,
),
'live' => true,
'live' => false,
);
$marianne_customizer_options[] = array(
@ -237,35 +447,66 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'title' => __( 'Expand featured images that are not wide enough.', 'marianne' ),
'description' => __( 'This can make the images a bit blurry. This is less efficient than regenerating the images. Default: unchecked.', 'marianne' ),
'type' => 'checkbox',
'live' => true,
);
$marianne_customizer_options[] = array(
'section' => 'marianne_global',
'id' => 'sidebar_width',
'title' => __( 'Sidebar Width', 'marianne' ),
'description' => __( 'Default: 250px.', 'marianne' ),
'type' => 'radio',
'value' => array(
'200' => __( '200px', 'marianne' ),
'250' => __( '250px', 'marianne' ),
'300' => __( '300px', 'marianne' ),
),
'live' => true,
);
$marianne_customizer_options[] = array(
'section' => 'marianne_global',
'id' => 'font_family',
'title' => __( 'Font Family', 'marianne' ),
'description' => __( "Choose the font family you want to apply to your site. Your readers' device will render the pages with its own system font. Please note that the rendering may vary from device to device. Default: Sans serif.", 'marianne' ),
'type' => 'select',
'description' => __( 'Default: Sans serif.', 'marianne' ),
'type' => 'radio',
'value' => array(
'sans-serif' => __( 'Sans serif', 'marianne' ),
'serif' => __( 'Serif', 'marianne' ),
'monospace' => __( 'Monospaced', 'marianne' ),
),
'live' => true,
);
$marianne_fonts = marianne_fonts();
$marianne_fonts_sans_serif = $marianne_fonts['sans-serif'];
$marianne_fonts_serif = $marianne_fonts['serif'];
$marianne_fonts_monospace = $marianne_fonts['monospace'];
$option_value_sans_serif = array();
foreach ( $marianne_fonts_sans_serif as $sanitized_name => $font_data ) {
$option_value_sans_serif[ $sanitized_name ] = $font_data['name'];
}
$marianne_customizer_options[] = array(
'section' => 'marianne_global',
'id' => 'fonts_sans_serif',
'title' => __( 'Sans Serif Fonts', 'marianne' ),
'description' => __( 'System fonts are faster to load, but their rendering may vary from one device to another. Other fonts are retrieved from the Google Fonts service. Default: System.', 'marianne' ),
'type' => 'select',
'value' => $option_value_sans_serif,
);
$option_value_serif = array();
foreach ( $marianne_fonts_serif as $sanitized_name => $font_data ) {
$option_value_serif[ $sanitized_name ] = $font_data['name'];
}
$marianne_customizer_options[] = array(
'section' => 'marianne_global',
'id' => 'fonts_serif',
'title' => __( 'Serif Fonts', 'marianne' ),
'description' => __( 'System fonts are faster to load, but their rendering may vary from one device to another. Other fonts are retrieved from the Google Fonts service. Default: System.', 'marianne' ),
'type' => 'select',
'value' => $option_value_serif,
);
$option_value_monospace = array();
foreach ( $marianne_fonts_monospace as $sanitized_name => $font_data ) {
$option_value_monospace[ $sanitized_name ] = $font_data['name'];
}
$marianne_customizer_options[] = array(
'section' => 'marianne_global',
'id' => 'fonts_monospace',
'title' => __( 'Monospace Fonts', 'marianne' ),
'description' => __( 'System fonts are faster to load, but their rendering may vary from one device to another. Other fonts are retrieved from the Google Fonts service. Default: System.', 'marianne' ),
'type' => 'select',
'value' => $option_value_monospace,
);
$marianne_customizer_options[] = array(
@ -326,7 +567,7 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'section' => 'marianne_header',
'id' => 'title_weight',
'title' => __( 'Font weight of the site title', 'marianne' ),
'description' => __( 'Default: bolder.', 'marianne' ),
'description' => __( "Some fonts do not support 'bolder'. Default: bolder.", 'marianne' ),
'type' => 'select',
'value' => array(
'normal' => __( 'Normal', 'marianne' ),
@ -340,7 +581,7 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'section' => 'marianne_header',
'id' => 'desc_weight',
'title' => __( 'Font weight of the site description', 'marianne' ),
'description' => __( 'Default: normal.', 'marianne' ),
'description' => __( "Some fonts do not support 'Thin'. Default: normal.", 'marianne' ),
'type' => 'select',
'value' => array(
'thin' => __( 'Thin', 'marianne' ),
@ -370,6 +611,15 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'type' => 'checkbox',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_header',
'id' => 'menu_search_text',
'title' => __( 'Search button text', 'marianne' ),
'description' => __( 'You can customize the button text. Leave blank to use the default text (Search).', 'marianne' ),
'type' => 'text',
'live' => true,
);
// Content Formatting.
$marianne_customizer_options[] = array(
'section' => 'marianne_content',
@ -395,12 +645,121 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'live' => true,
);
// Post List Settings.
$marianne_customizer_options[] = array(
'section' => 'marianne_loop',
'id' => 'author_name',
'title' => __( "Display the author's name.", 'marianne' ),
'description' => __( 'Default: unchecked.', 'marianne' ),
'type' => 'checkbox',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_loop',
'id' => 'author_name_prefix',
'title' => __( "Add a prefix to the author's name.", 'marianne' ),
'description' => __( 'By John Doe. Default: unchecked.', 'marianne' ),
'type' => 'checkbox',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_loop',
'id' => 'author_avatar',
'title' => __( "Display the author's avatar.", 'marianne' ),
'description' => __( 'Make sure avatars are enabled in Settings > Discussion. Default: unchecked.', 'marianne' ),
'type' => 'checkbox',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_loop',
'id' => 'post_time',
'title' => __( 'Display the post published time after the date.', 'marianne' ),
'description' => __( 'Default: unchecked.', 'marianne' ),
'type' => 'checkbox',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_loop',
'id' => 'content',
'title' => __( 'Display of the post content', 'marianne' ),
'type' => 'radio',
'value' => array(
'excerpt' => __( 'The excerpt only (default)', 'marianne' ),
'full' => __( 'The full content', 'marianne' ),
),
);
$marianne_customizer_options[] = array(
'section' => 'marianne_loop',
'id' => 'comment_link_text',
'title' => __( 'Text of the comment link when there are no comments yet', 'marianne' ),
'description' => __( 'For example, "No comments" or "Write a comment". Default: empty.', 'marianne' ),
'type' => 'text',
);
// Post Settings.
$marianne_customizer_options[] = array(
'section' => 'marianne_post',
'id' => 'post_time',
'title' => __( 'Display the post published time after the date.', 'marianne' ),
'description' => __( 'Default: unchecked.', 'marianne' ),
'type' => 'checkbox',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_post',
'id' => 'author_position',
'title' => __( "Position of the author's identity", 'marianne' ),
'value' => array(
'none' => __( 'Not displayed (default)', 'marianne' ),
'top' => __( 'Post header', 'marianne' ),
'bottom' => __( 'Bottom of the post', 'marianne' ),
),
'type' => 'radio',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_post',
'id' => 'author_info',
'title' => __( "Author's info to display", 'marianne' ),
'description' => __( 'Before displaying avatars, make sure that they are enabled in Settings > Discussion.', 'marianne' ),
'value' => array(
'name' => __( 'Name', 'marianne' ),
'avatar' => __( 'Avatar', 'marianne' ),
'name_avatar' => __( 'Name & avatar', 'marianne' ),
),
'type' => 'radio',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_post',
'id' => 'author_avatar',
'title' => __( "Display the author's avatar.", 'marianne' ),
'description' => __( 'Default: checked.', 'marianne' ),
'type' => 'checkbox',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_post',
'id' => 'author_name_prefix',
'title' => __( "Add a prefix to the author's name.", 'marianne' ),
'description' => __( 'Default: unchecked.', 'marianne' ),
'type' => 'checkbox',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_post',
'id' => 'author_bio',
'title' => __( "Display the author's biographical info.", 'marianne' ),
'description' => __( 'Only if this info is set on the profile of the author. Default: checked.', 'marianne' ),
'type' => 'checkbox',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_post',
'id' => 'nav',
'title' => __( 'Display a link to the next and the previous post.', 'marianne' ),
'description' => __( 'Default: hidden.', 'marianne' ),
'description' => __( 'Default: unchecked.', 'marianne' ),
'type' => 'checkbox',
);
@ -436,6 +795,13 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'type' => 'checkbox',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_footer',
'id' => 'go_top',
'title' => __( 'Add a button to go back to the top of the page.', 'marianne' ),
'type' => 'checkbox',
);
// Social Links.
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
@ -478,6 +844,14 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'type' => 'text',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'mastodon',
'title' => __( 'Mastodon', 'marianne' ),
'description' => __( 'Your Mastodon profile URL.', 'marianne' ),
'type' => 'text',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'facebook',
@ -486,6 +860,22 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'diaspora',
'title' => __( 'Diaspora', 'marianne' ),
'description' => __( 'Your Diaspora profile URL.', 'marianne' ),
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'vk',
'title' => __( 'VK', 'marianne' ),
'description' => __( 'Your VK profile URL.', 'marianne' ),
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'instagram',
@ -494,6 +884,22 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'flickr',
'title' => __( 'Flickr', 'marianne' ),
'description' => __( 'Your Flickr page URL.', 'marianne' ),
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => '500px',
'title' => _x( '500px', 'The name of the photography site.', 'marianne' ),
'description' => __( 'Your 500px page URL.', 'marianne' ),
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'youtube',
@ -502,6 +908,46 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'vimeo',
'title' => __( 'Vimeo', 'marianne' ),
'description' => __( 'Your Vimeo page URL.', 'marianne' ),
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'tiktok',
'title' => __( 'TikTok', 'marianne' ),
'description' => __( 'Your TikTok account URL.', 'marianne' ),
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'apple_podcasts',
'title' => __( 'Apple Podcasts', 'marianne' ),
'description' => __( 'An Apple Podcast URL.', 'marianne' ),
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'spotify',
'title' => __( 'Spotify', 'marianne' ),
'description' => __( 'The URL of the Spotify page you want to share.', 'marianne' ),
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'soundcloud',
'title' => __( 'SoundCloud', 'marianne' ),
'description' => __( 'Your SoundCloud profile URL.', 'marianne' ),
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'linkedin',
@ -510,6 +956,14 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'medium',
'title' => __( 'Medium', 'marianne' ),
'description' => __( 'Your Medium profile URL.', 'marianne' ),
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'github',
@ -534,6 +988,14 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'reddit',
'title' => __( 'Reddit', 'marianne' ),
'description' => __( 'Your Reddit profile URL.', 'marianne' ),
'type' => 'url',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'email',
@ -542,11 +1004,35 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'type' => 'email',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'signal',
'title' => __( 'Signal', 'marianne' ),
'description' => __( 'The phone number (without spaces, country code required) you registered to use Signal. Only works with the latest versions of Signal.', 'marianne' ),
'type' => 'text',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'telegram',
'title' => __( 'Telegram', 'marianne' ),
'description' => __( 'Your Telegram username.', 'marianne' ),
'type' => 'text',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'whatsapp',
'title' => __( 'WhatsApp', 'marianne' ),
'description' => __( 'The phone number (without spaces, country code required) you registered to use WhatsApp.', 'marianne' ),
'type' => 'text',
);
$marianne_customizer_options[] = array(
'section' => 'marianne_social',
'id' => 'phone',
'title' => __( 'Phone', 'marianne' ),
'description' => __( 'Your phone number (without spaces).', 'marianne' ),
'description' => __( 'Your phone number (without spaces, country code required).', 'marianne' ),
'type' => 'text',
);
@ -557,9 +1043,8 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
'description' => __( "This will automatically open the right application on your readers' phone when they will click on it.", 'marianne' ),
'type' => 'select',
'value' => array(
'classic' => __( 'Classic', 'marianne' ),
'sms' => __( 'SMS', 'marianne' ),
'whatsapp' => __( 'WhatsApp', 'marianne' ),
'call' => __( 'Call', 'marianne' ),
'sms' => __( 'SMS', 'marianne' ),
),
);
@ -657,7 +1142,7 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
$option_default = $options_default[ $option_name ];
// Calls the right sanitization function depending on the type of the option.
if ( 'marianne_social_twitter' !== $option_name && 'marianne_social_email' !== $option_name && 'marianne_social_phone' !== $option_name ) {
if ( 'marianne_social_twitter' !== $option_name && 'marianne_social_email' !== $option_name && 'marianne_social_phone' !== $option_name && 'marianne_social_signal' !== $option_name && 'marianne_social_telegram' !== $option_name && 'marianne_social_whatsapp' !== $option_name ) {
switch ( $type ) {
case 'radio':
case 'select':
@ -692,9 +1177,10 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
$sanitize_callback = 'marianne_sanitize_twitter';
} elseif ( 'marianne_social_email' === $option_name ) {
$sanitize_callback = 'sanitize_email';
} elseif ( 'marianne_social_phone' === $option_name ) {
} elseif ( 'marianne_social_signal' === $option_name || 'marianne_social_whatsapp' === $option_name || 'marianne_social_phone' === $option_name ) {
$sanitize_callback = 'marianne_sanitize_phone';
} elseif ( 'marianne_social_telegram' === $option_name ) {
$sanitize_callback = 'marianne_sanitize_telegram';
}
// Creates the setting.
@ -715,7 +1201,7 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
}
// Creates the control.
$others_controles = array( 'marianne_slider', 'marianne_radio_image' );
$others_controles = array( 'marianne_slider' );
if ( ! in_array( $type, $others_controles, true ) ) {
$wp_customize->add_control(
@ -744,19 +1230,6 @@ if ( ! function_exists( 'marianne_customize_register' ) ) {
)
)
);
} elseif ( 'marianne_radio_image' === $type ) {
$wp_customize->add_control(
new Marianne_Customizer_Control_Radio_Image(
$wp_customize,
esc_html( $option_name ),
array(
'label' => esc_html( $title ),
'description' => esc_html( $description ),
'section' => esc_html( $section ),
'choices' => $value,
)
)
);
}
}
}
@ -785,53 +1258,91 @@ if ( ! function_exists( 'marianne_options_default' ) ) {
'colors_scheme' => 'light',
'colors_link_hover' => 'blue',
// Static Front Page.
'static_front_page_title' => false,
// Global.
'marianne_global_layout' => 'sidebar-none',
'marianne_global_page_width' => '480',
'marianne_global_images_expand' => false,
'marianne_global_sidebar_width' => '250',
'marianne_global_font_family' => 'sans-serif',
'marianne_global_font_size' => 100,
'marianne_global_font_smooth' => false,
'marianne_global_text_shadow' => false,
'marianne_global_layout' => 'one-column',
'marianne_global_sidebar_width' => 250,
'marianne_global_sidebar_margin' => 100,
'marianne_global_page_width' => 480,
'marianne_global_images_expand' => false,
'marianne_global_font_family' => 'sans-serif',
'marianne_global_fonts_sans_serif' => 'system',
'marianne_global_fonts_serif' => 'system',
'marianne_global_fonts_monospace' => 'system',
'marianne_global_font_size' => 100,
'marianne_global_font_smooth' => false,
'marianne_global_text_shadow' => false,
// Header Settings.
'marianne_header_align' => 'left',
'marianne_header_title_weight' => 'bolder',
'marianne_header_desc_weight' => 'normal',
'marianne_header_desc_style' => 'normal',
'marianne_header_logo_round' => false,
'marianne_header_menu_search' => false,
'marianne_header_align' => 'left',
'marianne_header_title_weight' => 'bolder',
'marianne_header_desc_weight' => 'normal',
'marianne_header_desc_style' => 'normal',
'marianne_header_logo_round' => false,
'marianne_header_menu_search' => false,
'marianne_header_menu_search_text' => '',
// Content Formatting.
'marianne_content_text_align' => 'left',
'marianne_content_hyphens' => false,
// Post List Settings.
'marianne_loop_author_name' => false,
'marianne_loop_author_name_prefix' => false,
'marianne_loop_author_avatar' => false,
'marianne_loop_post_time' => false,
'marianne_loop_content' => 'excerpt',
'marianne_loop_comment_link_text' => '',
// Post Settings.
'marianne_post_nav' => false,
'marianne_post_post_time' => false,
'marianne_post_author_position' => 'none',
'marianne_post_author_info' => 'name',
'marianne_post_author_avatar' => true,
'marianne_post_author_name_prefix' => false,
'marianne_post_author_bio' => true,
'marianne_post_nav' => false,
// Footer Settings.
'marianne_footer_align' => 'left',
'marianne_footer_mention' => true,
'marianne_footer_text' => '',
'marianne_footer_go_top' => false,
// Social Links.
'marianne_social_location' => 'footer',
'marianne_social_style' => 'square',
'marianne_social_target_blank' => false,
'marianne_social_twitter' => '',
'marianne_social_facebook' => '',
'marianne_social_instagram' => '',
'marianne_social_linkedin' => '',
'marianne_social_youtube' => '',
'marianne_social_email' => '',
'marianne_social_github' => '',
'marianne_social_gitlab' => '',
'marianne_social_link' => '',
'marianne_social_phone' => '',
'marianne_social_phone_type' => 'classic',
'marianne_social_rss' => false,
'marianne_social_twitch' => '',
'marianne_social_location' => 'footer',
'marianne_social_style' => 'square',
'marianne_social_target_blank' => false,
'marianne_social_twitter' => '',
'marianne_social_mastodon' => '',
'marianne_social_facebook' => '',
'marianne_social_diaspora' => '',
'marianne_social_instagram' => '',
'marianne_social_linkedin' => '',
'marianne_social_medium' => '',
'marianne_social_500px' => '',
'marianne_social_flickr' => '',
'marianne_social_youtube' => '',
'marianne_social_vimeo' => '',
'marianne_social_tiktok' => '',
'marianne_social_spotify' => '',
'marianne_social_apple_podcasts' => '',
'marianne_social_soundcloud' => '',
'marianne_social_email' => '',
'marianne_social_github' => '',
'marianne_social_gitlab' => '',
'marianne_social_link' => '',
'marianne_social_signal' => '',
'marianne_social_telegram' => '',
'marianne_social_whatsapp' => '',
'marianne_social_phone' => '',
'marianne_social_phone_type' => 'call',
'marianne_social_rss' => false,
'marianne_social_twitch' => '',
'marianne_social_reddit' => '',
'marianne_social_vk' => '',
// Print Settings.
'marianne_print_comments_hide' => true,
@ -869,7 +1380,7 @@ if ( ! function_exists( 'marianne_get_theme_mod' ) ) {
if ( $id && array_key_exists( $id, $options_default ) ) {
$default = $options_default[ $id ];
$output = get_theme_mod( $id, $default );
$output = get_theme_mod( $id, $default );
}
return $output;
@ -1013,8 +1524,31 @@ if ( ! function_exists( 'marianne_sanitize_phone' ) ) {
function marianne_sanitize_phone( $input ) {
$output = '';
if ( preg_match( '/\+?[0-9]+/', $input ) ) {
$output = $input;
if ( preg_match( '/\+[0-9]+/', $input, $match ) ) {
$output = $match[0];
}
return $output;
}
}
if ( ! function_exists( 'marianne_sanitize_telegram' ) ) {
/**
* Telegram username sanitization.
*
* @param string $input The desired username.
*
* @return string The username, if it matches the regular expression.
*
* @since Marianne 1.6.1
*/
function marianne_sanitize_telegram( $input ) {
$output = '';
if ( $input ) {
if ( preg_match( '/^[A-Za-z0-9_]{5,50}$/', $input ) ) {
$output = $input;
}
}
return $output;

View file

@ -64,7 +64,7 @@ function marianne_theme_page() {
$gh_link_translate = 'https://github.com/te2dy/marianne/tree/main/languages';
$bitcoin_address = '1BTUsDokaDRsqn4dsyAY6bc2rCLes4Vssb';
$bitcoin_href = 'bitcoin:' . $bitcoin_address;
$btc_qr = ' data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASIAAAEiCAYAAABdvt+2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGEUlEQVR4nO3dQZLaQBAAQXD4/1/GL7DHjvGoWiLzviABWzGHjtb78/l8XgChH/UFAAgRkBMiICdEQE6IgJwQATkhAnJCBOSECMgJEZATIiAnREBOiICcEAE5IQJyQgTkhAjICRGQEyIgJ0RAToiAnBABOSECckIE5IQIyAkRkPt55Zu93+8r3+5y9dO7dz/f3euvv9/Tn399f6eVv18nIiAnREBOiICcEAE5IQJyQgTkhAjIXTpHtFLP4aycniO5+xzQ6v3N4bQmf/5OREBOiICcEAE5IQJyQgTkhAjICRGQGzVHtHJ6DqKeA5m+T2d3Tqi+v/r7ffrvd4cTEZATIiAnREBOiICcEAE5IQJyQgTkbjVHdHfT51x237/eRzR9zonfcyICckIE5IQIyAkRkBMiICdEQE6IgJw5okFOz7nU+4BW6uey0XEiAnJCBOSECMgJEZATIiAnREBOiIDcreaI7r4v5ulzPLuvP/36d02/vpITEZATIiAnREBOiICcEAE5IQJyQgTkRs0RPX2fzO6+odN/v/Lt17/7+vyeExGQEyIgJ0RAToiAnBABOSECckIE5C6dI/r2fSz1PqL6/U87/f7f/vs9yYkIyAkRkBMiICdEQE6IgJwQATkhAnKXzhFNf25VPYdS7+tZqT//u+8Lmv77LzkRATkhAnJCBOSECMgJEZATIiAnREDu/blwOKGe41iZPqdSX9/p96/vb6We4zqtnFNyIgJyQgTkhAjICRGQEyIgJ0RAToiA3Kjnmp3ex1PPqdRzOLuf3+n7n/76u+rf72ROREBOiICcEAE5IQJyQgTkhAjICRGQu3Qf0bebPoe0+/71HNfdX3/lyf+qTkRAToiAnBABOSECckIE5IQIyAkRkLt0H9FK/VyqlXqfzcrTr+/0HM3pOal6DmjyviMnIiAnREBOiICcEAE5IQJyQgTkhAjIXTpHNHmO4W9M33cz/fNb8dy72b+vk5yIgJwQATkhAnJCBOSECMgJEZATIiBnH9E/mD6HsqueM6nvf1f9/dff3w4nIiAnREBOiICcEAE5IQJyQgTkhAjIjZojWnn6nMbuPp3d1689/fruPid1khMRkBMiICdEQE6IgJwQATkhAnJCBOQunSOq50R253ROz/GYMzmrfm7ayvR9WSc5EQE5IQJyQgTkhAjICRGQEyIgJ0RA7v25cLjg7s8FO/1RmVPa8/T7nzwHtMuJCMgJEZATIiAnREBOiICcEAE5IQJyo55rVu9zWZm+r6beR3P686nvv55Dmv757HAiAnJCBOSECMgJEZATIiAnREBOiIDcqDmi088d252TOD1nUc/ZrNz9/nfV+46mfz47nIiAnBABOSECckIE5IQIyAkRkBMiIDdqjmjXt8/h7Dp9//U+pumefn9/4kQE5IQIyAkRkBMiICdEQE6IgJwQAbn3Z/pwy4PcfQ6pvv5638+ueo6q/v38iRMRkBMiICdEQE6IgJwQATkhAnJCBOQu3Uf05H0qr9f556bVczTTr+/0+9dzOk/+/3EiAnJCBOSECMgJEZATIiAnREBOiIDcqOeaTd6X8nrNn1M5Pedy+rlm07//+vpOf3/l/TkRATkhAnJCBOSECMgJEZATIiAnREBu1BzRSr3v5vTrr+5v+pzQSj2Hs3L3fT93vn4nIiAnREBOiICcEAE5IQJyQgTkhAjI3WqO6Onu/lysel/SafU+oNN/X3IiAnJCBOSECMgJEZATIiAnREBOiICcOaIb2Z0jOT1nUs+5nJ7zqZ9rt/v3k+e0nIiAnBABOSECckIE5IQIyAkRkBMiIHerOaLJcxB/o94HU+8jOv33d56j+R/uvA/KiQjICRGQEyIgJ0RAToiAnBABOSECcqPmiOo5m+lOz3nszqE8/fur55zqfU0nOREBOSECckIE5IQIyAkRkBMiICdEQO79mTxcAHwFJyIgJ0RAToiAnBABOSECckIE5IQIyAkRkBMiICdEQE6IgJwQATkhAnJCBOSECMgJEZATIiAnREBOiICcEAE5IQJyQgTkhAjICRGQEyIgJ0RAToiAnBABOSECckIE5H4BBWAhU9cs+JgAAAAASUVORK5CYII=';
$btc_qr = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASIAAAEiCAYAAABdvt+2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGEUlEQVR4nO3dQZLaQBAAQXD4/1/GL7DHjvGoWiLzviABWzGHjtb78/l8XgChH/UFAAgRkBMiICdEQE6IgJwQATkhAnJCBOSECMgJEZATIiAnREBOiICcEAE5IQJyQgTkhAjICRGQEyIgJ0RAToiAnBABOSECckIE5IQIyAkRkPt55Zu93+8r3+5y9dO7dz/f3euvv9/Tn399f6eVv18nIiAnREBOiICcEAE5IQJyQgTkhAjIXTpHtFLP4aycniO5+xzQ6v3N4bQmf/5OREBOiICcEAE5IQJyQgTkhAjICRGQGzVHtHJ6DqKeA5m+T2d3Tqi+v/r7ffrvd4cTEZATIiAnREBOiICcEAE5IQJyQgTkbjVHdHfT51x237/eRzR9zonfcyICckIE5IQIyAkRkBMiICdEQE6IgJw5okFOz7nU+4BW6uey0XEiAnJCBOSECMgJEZATIiAnREBOiIDcreaI7r4v5ulzPLuvP/36d02/vpITEZATIiAnREBOiICcEAE5IQJyQgTkRs0RPX2fzO6+odN/v/Lt17/7+vyeExGQEyIgJ0RAToiAnBABOSECckIE5C6dI/r2fSz1PqL6/U87/f7f/vs9yYkIyAkRkBMiICdEQE6IgJwQATkhAnKXzhFNf25VPYdS7+tZqT//u+8Lmv77LzkRATkhAnJCBOSECMgJEZATIiAnREDu/blwOKGe41iZPqdSX9/p96/vb6We4zqtnFNyIgJyQgTkhAjICRGQEyIgJ0RAToiA3Kjnmp3ex1PPqdRzOLuf3+n7n/76u+rf72ROREBOiICcEAE5IQJyQgTkhAjICRGQu3Qf0bebPoe0+/71HNfdX3/lyf+qTkRAToiAnBABOSECckIE5IQIyAkRkLt0H9FK/VyqlXqfzcrTr+/0HM3pOal6DmjyviMnIiAnREBOiICcEAE5IQJyQgTkhAjIXTpHNHmO4W9M33cz/fNb8dy72b+vk5yIgJwQATkhAnJCBOSECMgJEZATIiBnH9E/mD6HsqueM6nvf1f9/dff3w4nIiAnREBOiICcEAE5IQJyQgTkhAjIjZojWnn6nMbuPp3d1689/fruPid1khMRkBMiICdEQE6IgJwQATkhAnJCBOQunSOq50R253ROz/GYMzmrfm7ayvR9WSc5EQE5IQJyQgTkhAjICRGQEyIgJ0RA7v25cLjg7s8FO/1RmVPa8/T7nzwHtMuJCMgJEZATIiAnREBOiICcEAE5IQJyo55rVu9zWZm+r6beR3P686nvv55Dmv757HAiAnJCBOSECMgJEZATIiAnREBOiIDcqDmi088d252TOD1nUc/ZrNz9/nfV+46mfz47nIiAnBABOSECckIE5IQIyAkRkBMiIDdqjmjXt8/h7Dp9//U+pumefn9/4kQE5IQIyAkRkBMiICdEQE6IgJwQAbn3Z/pwy4PcfQ6pvv5638+ueo6q/v38iRMRkBMiICdEQE6IgJwQATkhAnJCBOQu3Uf05H0qr9f556bVczTTr+/0+9dzOk/+/3EiAnJCBOSECMgJEZATIiAnREBOiIDcqOeaTd6X8nrNn1M5Pedy+rlm07//+vpOf3/l/TkRATkhAnJCBOSECMgJEZATIiAnREBu1BzRSr3v5vTrr+5v+pzQSj2Hs3L3fT93vn4nIiAnREBOiICcEAE5IQJyQgTkhAjI3WqO6Onu/lysel/SafU+oNN/X3IiAnJCBOSECMgJEZATIiAnREBOiICcOaIb2Z0jOT1nUs+5nJ7zqZ9rt/v3k+e0nIiAnBABOSECckIE5IQIyAkRkBMiIHerOaLJcxB/o94HU+8jOv33d56j+R/uvA/KiQjICRGQEyIgJ0RAToiAnBABOSECcqPmiOo5m+lOz3nszqE8/fur55zqfU0nOREBOSECckIE5IQIyAkRkBMiICdEQO79mTxcAHwFJyIgJ0RAToiAnBABOSECckIE5IQIyAkRkBMiICdEQE6IgJwQATkhAnJCBOSECMgJEZATIiAnREBOiICcEAE5IQJyQgTkhAjICRGQEyIgJ0RAToiAnBABOSECckIE5H4BBWAhU9cs+JgAAAAASUVORK5CYII=';
/**
* Allows some html elements in paragraphs.
@ -83,9 +83,30 @@ function marianne_theme_page() {
<div class="wrap marianne-admin">
<div class="marianne-admin-block">
<h1 class="marianne-admin-header marianne-admin-title">
<?php echo esc_html_x( 'Marianne', 'The title of the theme page.', 'marianne' ); ?>
<?php echo esc_html_x( 'About Marianne', 'The title of the theme page.', 'marianne' ); ?>
</h1>
<p>
<blockquote>
<?php esc_html_e( "Thank you for using Marianne, a minimalist theme like they don't make anymore.", 'marianne' ); ?>
<br>
<cite>
<?php
printf(
wp_kses(
/* translators: %1$s: The name of theme author. %2$s: Bitcoin address. */
__( '— %1$s, the author of Marianne', 'marianne' ),
$kses_allowed_html
),
'<a href="https://chezteddy.fr/" rel="external" target="_blank">' . esc_html__( 'Teddy', 'marianne' ) . '</a>'
);
?>
</cite>
</blockquote>
</p>
<p>
<strong>
<?php
@ -259,7 +280,7 @@ function marianne_theme_page() {
printf(
wp_kses(
/* translators: %1$s: The URL of the GitHub Issues page of the Marianne repository. %2$s: The URL of the support forum of the theme on WordPress.org */
__( 'Please report issues or make feature requests on <a href="%1$s" target="_blank">GitHub</a> or, if you do not have an account, on the <a href="%2$s" target="_blank">support forum</a>.', 'marianne' ),
__( 'Please report issues or make feature requests on <a href="%1$s" rel="external" target="_blank">GitHub</a> or, if you do not have an account, on the <a href="%2$s" target="_blank">support forum</a>.', 'marianne' ),
$kses_allowed_html
),
esc_url( $gh_link_issues ),
@ -275,7 +296,7 @@ function marianne_theme_page() {
printf(
wp_kses(
/* translators: %s: The URL of the language repository on GitHub. */
__( 'You want to use Marianne in your language? You can help me to translate it on <a href="%1$s" target="_blank">GitHub</a> where a .pot file is available.', 'marianne' ),
__( 'You want to use Marianne in your language? You can help me to translate it on <a href="%1$s" rel="external" target="_blank">GitHub</a> where a .pot file is available.', 'marianne' ),
$kses_allowed_html
),
esc_url( $gh_link_translate )
@ -299,7 +320,7 @@ function marianne_theme_page() {
printf(
wp_kses(
/* translators: %s: The URL of the Marianne repository on GitHub. */
__( 'There are probably many technical improvements to be made to this theme. You can help me by <a href="%s" target="_blank">contributing on GitHub</a>.', 'marianne' ),
__( 'There are probably many technical improvements to be made to this theme. You can help me by <a href="%s" rel="external" target="_blank">contributing on GitHub</a>.', 'marianne' ),
$kses_allowed_html
),
esc_url( $gh_link )
@ -308,6 +329,33 @@ function marianne_theme_page() {
</p>
</div>
<div class="marianne-admin-block">
<h2 class="marianne-admin-header"><?php echo esc_html__( 'Acknowledgements', 'marianne' ); ?></h2>
<p>
<?php esc_html_e( 'I would like to thank the following people for their contribution:', 'marianne' ); ?>
</p>
<ul class="marianne-admin-list">
<li>
<?php
echo wp_kses(
__( '<a href="https://www.knotenpunkte.net/" rel="external" target="_blank">Dr. Matthias Kampmann</a>, whose suggestions allowed me to improve some customization features of the theme.', 'marianne' ),
$kses_allowed_html
);
?>
</li>
<li>
<?php
echo wp_kses(
__( '<a href="https://www.peterpellenaars.nl/" rel="external" target="_blank">Peter Pellenaars</a>, who has been a great help in reporting bugs, improving the text strings, and for its translation into Dutch.', 'marianne' ),
$kses_allowed_html
);
?>
</li>
</ul>
</div>
<footer class="marianne-admin-footer">
<div class="marianne-mif">

View file

@ -122,7 +122,13 @@ if ( ! function_exists( 'marianne_menu_primary' ) ) {
if ( ! is_search() && true === marianne_get_theme_mod( 'marianne_header_menu_search' ) ) {
$items_wrap .= '<li id="menu-item-search" class="menu-item">';
$items_wrap .= '<button id="header-search-button" class="button-inline button-expand" aria-haspopup="true" aria-expanded="false">';
$items_wrap .= esc_html_x( 'Search', 'The search button in the header.', 'marianne' );
if ( ! marianne_get_theme_mod( 'marianne_header_menu_search_text' ) ) {
$items_wrap .= esc_html_x( 'Search', 'The search button in the header.', 'marianne' );
} else {
$items_wrap .= esc_html( marianne_get_theme_mod( 'marianne_header_menu_search_text' ) );
}
$items_wrap .= '<span class="screen-reader-text">';
$items_wrap .= esc_html__( 'Open the search form', 'marianne' );
$items_wrap .= '</span>';
@ -150,7 +156,13 @@ if ( ! function_exists( 'marianne_menu_primary' ) ) {
?>
<div id="menu-primary-container" aria-label="<?php echo esc_attr__( 'Open the search form', 'marianne' ); ?>">
<button id="header-search-button" class="button-inline button-expand" aria-haspopup="true" aria-expanded="false">
<?php echo esc_html_x( 'Search', 'The search button in the header.', 'marianne' ); ?>
<?php
if ( ! marianne_get_theme_mod( 'marianne_header_menu_search_text' ) ) {
echo esc_html_x( 'Search', 'The search button in the header.', 'marianne' );
} else {
echo esc_html( marianne_get_theme_mod( 'marianne_header_menu_search_text' ) );
}
?>
<span class="screen-reader-text">
<?php esc_html_e( 'Open the search form', 'marianne' ); ?>
@ -163,11 +175,11 @@ if ( ! function_exists( 'marianne_menu_primary' ) ) {
<?php if ( true === marianne_get_theme_mod( 'marianne_header_menu_search' ) ) : ?>
<?php
if ( has_nav_menu( 'primary' ) ) {
$marianne_search_id = 'header-search-with-menu';
} else {
$marianne_search_id = 'header-search-without-menu';
}
if ( has_nav_menu( 'primary' ) ) {
$marianne_search_id = 'header-search-with-menu';
} else {
$marianne_search_id = 'header-search-without-menu';
}
?>
<div id="<?php echo esc_attr( $marianne_search_id ); ?>" class="header-search-box">
@ -195,15 +207,207 @@ if ( ! function_exists( 'marianne_the_date' ) ) {
* separate them with a space.
* Example: $class = "class-1 class-2".
*
* @param string $args Items to display.
* - 'date' adds the published date.
* - 'time' adds the published time after the date.
*
* @return void
*/
function marianne_the_date( $class = 'entry-date' ) {
function marianne_the_date( $class = 'entry-date', $args = array() ) {
if ( isset( $args['date'] ) && false === $args['date'] ) {
$args['date'] = false;
} else {
$args['date'] = true;
}
if ( isset( $args['time'] ) && true === $args['time'] ) {
$args['time'] = true;
} else {
$args['time'] = false;
}
?>
<time<?php marianne_add_class( $class ); ?> datetime="<?php echo esc_attr( get_the_date( 'c' ) ); ?>"><?php the_date(); ?></time>
<time<?php marianne_add_class( $class ); ?> datetime="<?php echo esc_attr( get_the_date( 'c' ) ); ?>">
<?php
if ( true === $args['date'] && false === $args['time'] ) {
echo esc_html( get_the_date() );
} elseif ( true === $args['date'] && true === $args['time'] ) {
printf(
/* translators: %1$s: The date. %2$s: The time. */
esc_html_x( '%1$s at %2$s', 'The post date and time', 'marianne' ),
esc_html( get_the_date() ),
esc_html( get_the_time() )
);
} elseif ( false === $args['date'] && true === $args['time'] ) {
echo esc_html( get_the_time() );
}
?>
</time>
<?php
}
}
if ( ! function_exists( 'marianne_post_info' ) ) {
/**
* The post meta.
*
* Displays the post date and, if enabled, the author's name and avatar.
*
* @param string $class The class of the container.
* To set multiple classes,
* separate them with a space.
* Example: $class = "class-1 class-2".
*
* @param string $args Options to activate:
* - 'time' adds the time of publish after the date.
* - 'author_name' displays the author's name.
* - 'author_prefix' displays 'By' before the author's name.
* - 'avatar' displays the author's avatar.
*
* @return void
*
* @since Marianne 1.5
*/
function marianne_post_info( $class = '', $args = array() ) {
$class .= ' entry-info';
// Date formatting options.
$the_date_args = array(
'date' => true,
'time' => false,
);
if ( in_array( 'time', $args, true ) ) {
$the_date_args['time'] = true;
}
?>
<div<?php marianne_add_class( $class ); ?>>
<?php if ( ! in_array( 'author_name', $args, true ) && ! in_array( 'author_avatar', $args, true ) ) : ?>
<?php if ( ! is_singular() ) : ?>
<a href="<?php the_permalink(); ?>">
<?php marianne_the_date( 'entry-date', $the_date_args ); ?>
</a>
<?php else : ?>
<?php marianne_the_date( 'entry-date', $the_date_args ); ?>
<?php endif; ?>
<?php else : ?>
<?php if ( in_array( 'author_avatar', $args, true ) ) : ?>
<div class="entry-info-avatar">
<?php if ( ! is_author() ) : ?>
<a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author">
<?php echo get_avatar( get_the_author_meta( 'ID' ), 32 ); ?>
</a>
<?php else : ?>
<?php echo get_avatar( get_the_author_meta( 'ID' ), 32 ); ?>
<?php endif; ?>
</div>
<?php endif; ?>
<?php if ( in_array( 'author_name', $args, true ) ) : ?>
<div class="entry-info-author">
<?php if ( ! is_author() ) : ?>
<a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author">
<?php
if ( ! in_array( 'author_prefix', $args, true ) ) {
echo esc_html( get_the_author_meta( 'display_name' ) );
} else {
printf(
/* translators: %s: The author's name. */
esc_html__( 'By %s', 'marianne' ),
esc_html( get_the_author_meta( 'display_name' ) )
);
}
?>
</a>
<?php else : ?>
<?php
if ( ! in_array( 'author_prefix', $args, true ) ) {
echo esc_html( get_the_author_meta( 'display_name' ) );
} else {
printf(
/* translators: %s: The author's name. */
esc_html__( 'By %s', 'marianne' ),
esc_html( get_the_author_meta( 'display_name' ) )
);
}
?>
<?php endif; ?>
</div>
<div class="entry-info-separator">
&middot;
</div>
<?php endif; ?>
<div class="entry-info-date">
<?php if ( ! is_singular() ) : ?>
<a href="<?php the_permalink(); ?>">
<?php marianne_the_date( 'entry-date', $the_date_args ); ?>
</a>
<?php else : ?>
<?php marianne_the_date( 'entry-date', $the_date_args ); ?>
<?php endif; ?>
</div>
<?php endif; ?>
</div>
<?php
}
}
if ( ! function_exists( 'marianne_post_signature' ) ) {
/**
* The post signature.
*
* @param string $class The class of the container.
* To set multiple classes,
* separate them with a space.
* Example: $class = "class-1 class-2".
*
* @return void
*
* @since Marianne 1.5
*/
function marianne_post_signature( $class = '' ) {
if ( 'bottom' === marianne_get_theme_mod( 'marianne_post_author_position' ) ) {
if ( get_the_author_meta( 'description' ) && false !== marianne_get_theme_mod( 'marianne_post_author_bio' ) ) {
$class .= ' post-signature-align-top';
} else {
$class .= ' post-signature-align-center';
}
?>
<div<?php marianne_add_class( $class ); ?>>
<?php if ( false !== marianne_get_theme_mod( 'marianne_post_author_avatar' ) ) : ?>
<div class="post-signature-avatar">
<a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author">
<?php echo get_avatar( get_the_author_meta( 'ID' ), 56 ); ?>
</a>
</div>
<?php endif; ?>
<div class="post-signature-content">
<h4 class="post-signature-author-name">
<a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ); ?>" rel="author">
<cite>
<?php echo esc_html( get_the_author_meta( 'display_name' ) ); ?>
</cite>
</a>
</h4>
<?php if ( get_the_author_meta( 'description' ) && false !== marianne_get_theme_mod( 'marianne_post_author_bio' ) ) : ?>
<div class="post-signature-author-description text-secondary">
<?php echo wp_kses_post( wpautop( get_the_author_meta( 'description' ) ) ); ?>
</div>
<?php endif; ?>
</div>
</div>
<?php
}
}
}
if ( ! function_exists( 'marianne_loop_comments' ) ) {
/**
* The link to comments.
@ -217,20 +421,24 @@ if ( ! function_exists( 'marianne_loop_comments' ) ) {
*/
function marianne_loop_comments( $class = '' ) {
$comments_number = get_comments_number();
// Displays the comment link it there is at least one comment.
if ( $comments_number && 0 < absint( $comments_number ) ) :
if ( comments_open() && ( 0 < absint( $comments_number ) || marianne_get_theme_mod( 'marianne_loop_comment_link_text' ) ) ) :
?>
<footer<?php marianne_add_class( $class ); ?>>
<a href="<?php echo esc_url( get_comments_link() ); ?>">
<?php
printf(
/* translators: %d: Comment count number. */
esc_html( _n( '%d comment', '%d comments', absint( $comments_number ), 'marianne' ) ),
esc_html( $comments_number )
);
?>
</a>
<?php if ( 0 < absint( $comments_number ) ) : ?>
<a href="<?php echo esc_url( get_comments_link() ); ?>">
<?php
printf(
/* translators: %d: Comment count number. */
esc_html( _n( '%d comment', '%d comments', absint( $comments_number ), 'marianne' ) ),
esc_html( $comments_number )
);
?>
</a>
<?php elseif ( marianne_get_theme_mod( 'marianne_loop_comment_link_text' ) ) : ?>
<a href="<?php echo esc_url( get_comments_link() ); ?>" class="loop-comment-link-none">
<?php echo esc_html( marianne_get_theme_mod( 'marianne_loop_comment_link_text' ) ); ?>
</a>
<?php endif; ?>
<footer>
<?php
endif;
@ -254,7 +462,9 @@ if ( ! function_exists( 'marianne_loop_navigation' ) ) {
if ( $nav_prev || $nav_next ) {
?>
<div<?php marianne_add_class( $class ); ?>>
<nav<?php marianne_add_class( $class ); ?> role="navigation" aria-label="<?php esc_attr_e( 'Posts', 'marianne' ); ?>">
<h3 class="screen-reader-text"><?php esc_html_e( 'Posts navigation', 'marianne' ); ?></h3>
<?php if ( $nav_prev ) { ?>
<a href="<?php echo esc_url( get_previous_posts_page_link() ); ?>" rel="prev">
<?php esc_html_e( '&lsaquo; Previous page', 'marianne' ); ?>
@ -266,7 +476,7 @@ if ( ! function_exists( 'marianne_loop_navigation' ) ) {
<?php esc_html_e( 'Next page &rsaquo;', 'marianne' ); ?>
</a>
<?php } ?>
</div>
</nav>
<?php
}
}
@ -296,14 +506,6 @@ if ( ! function_exists( 'marianne_the_categories' ) ) {
<?php foreach ( $categories as $category ) : ?>
<li>
<a href="<?php echo esc_url( get_category_link( $category->cat_ID ) ); ?>"><?php echo esc_html( $category->cat_name ); ?></a>
<?php
$i++;
if ( $i !== $cat_count ) {
echo '&middot;';
}
?>
</li>
<?php endforeach; ?>
</ul>
@ -368,86 +570,28 @@ if ( ! function_exists( 'marianne_social_link' ) ) {
$container_class .= ' site-social-' . marianne_get_theme_mod( 'marianne_social_style' );
$option_twitter = marianne_get_theme_mod( 'marianne_social_twitter' );
$option_facebook = marianne_get_theme_mod( 'marianne_social_facebook' );
$option_instagram = marianne_get_theme_mod( 'marianne_social_instagram' );
$option_youtube = marianne_get_theme_mod( 'marianne_social_youtube' );
$option_linkedin = marianne_get_theme_mod( 'marianne_social_linkedin' );
$option_github = marianne_get_theme_mod( 'marianne_social_github' );
$option_gitlab = marianne_get_theme_mod( 'marianne_social_gitlab' );
$option_twitch = marianne_get_theme_mod( 'marianne_social_twitch' );
$option_email = marianne_get_theme_mod( 'marianne_social_email' );
$option_phone = marianne_get_theme_mod( 'marianne_social_phone' );
$option_link = marianne_get_theme_mod( 'marianne_social_link' );
$option_rss = marianne_get_theme_mod( 'marianne_social_rss' );
$social_supported = array( 'twitter', 'mastodon', 'facebook', 'diaspora', 'vk', 'instagram', 'flickr', '500px', 'youtube', 'vimeo', 'tiktok', 'apple_podcasts', 'spotify', 'soundcloud', 'linkedin', 'medium', 'github', 'gitlab', 'twitch', 'reddit', 'email', 'signal', 'telegram', 'whatsapp', 'phone', 'link', 'rss' );
if ( $option_twitter || $option_facebook || $option_instagram || $option_youtube || $option_linkedin || $option_github || $option_gitlab || $option_twitch || $option_email || $option_phone || $option_link || $option_rss ) {
$no_links = false;
} else {
$no_links = true;
// Puts set social links in an array.
$social_links = array();
foreach ( $social_supported as $social ) {
if ( marianne_get_theme_mod( sanitize_key( 'marianne_social_' . $social ) ) ) {
$social_links[ $social ] = marianne_get_theme_mod( sanitize_key( 'marianne_social_' . $social ) );
}
}
if ( false === $no_links ) :
$social_links = array();
if ( $option_twitter ) {
$social_links['twitter'] = $option_twitter;
}
if ( $option_facebook ) {
$social_links['facebook'] = $option_facebook;
}
if ( $option_instagram ) {
$social_links['instagram'] = $option_instagram;
}
if ( $option_youtube ) {
$social_links['youtube'] = $option_youtube;
}
if ( $option_linkedin ) {
$social_links['linkedin'] = $option_linkedin;
}
if ( $option_github ) {
$social_links['github'] = $option_github;
}
if ( $option_gitlab ) {
$social_links['gitlab'] = $option_gitlab;
}
if ( $option_twitch ) {
$social_links['twitch'] = $option_twitch;
}
if ( $option_email ) {
$social_links['email'] = $option_email;
}
if ( $option_phone ) {
$social_links['phone'] = $option_phone;
}
if ( $option_link ) {
$social_links['link'] = $option_link;
}
if ( $option_rss ) {
$social_links['rss'] = $option_rss;
}
if ( ! empty( $social_links ) ) :
?>
<div<?php marianne_add_class( $container_class ); ?>>
<ul class="social-links list-inline">
<?php
foreach ( $social_links as $site => $link ) {
$svg_icons = marianne_svg_feather_icons( $site );
$svg_name = $svg_icons['name'];
$svg_shapes = $svg_icons['shapes'];
if ( ! empty( $social_links ) ) :
?>
<div<?php marianne_add_class( $container_class ); ?>>
<ul class="social-links list-inline">
<?php
foreach ( $social_links as $site => $link ) {
$svg_icons = marianne_svg_icons( $site );
$svg_name = $svg_icons['name'];
$svg_shapes = $svg_icons['shapes'];
if ( $link ) {
switch ( $site ) {
case 'twitter':
$link = 'https://twitter.com/' . str_replace( '@', '', $link );
@ -459,6 +603,30 @@ if ( ! function_exists( 'marianne_social_link' ) ) {
}
break;
case 'signal':
if ( $link ) {
$phone_number = marianne_get_theme_mod( 'marianne_social_signal' );
$link = 'https://signal.me/#p/' . $phone_number;
}
break;
case 'telegram':
if ( $link ) {
$telegram_username = marianne_get_theme_mod( 'marianne_social_telegram' );
$link = 'https://t.me/' . $telegram_username;
}
break;
case 'whatsapp':
if ( $link ) {
$phone_number = marianne_get_theme_mod( 'marianne_social_whatsapp' );
$link = 'whatsapp:' . $phone_number;
}
break;
case 'phone':
if ( $link ) {
$phone_type = marianne_get_theme_mod( 'marianne_social_phone_type' );
@ -466,8 +634,6 @@ if ( ! function_exists( 'marianne_social_link' ) ) {
if ( 'sms' === $phone_type ) {
$phone_prefix = 'sms:';
} elseif ( 'whatsapp' === $phone_type ) {
$phone_prefix = 'whatsapp:';
}
$link = $phone_prefix . $link;
@ -482,30 +648,78 @@ if ( ! function_exists( 'marianne_social_link' ) ) {
}
break;
}
if ( $link ) {
if ( false === marianne_get_theme_mod( 'marianne_social_target_blank' ) ) {
$target = '_self';
} else {
$target = '_blank';
}
?>
<li>
<a href="<?php echo esc_attr( $link ); ?>" target="<?php echo esc_attr( $target ); ?>" title="<?php echo esc_attr( $svg_name ); ?>" aria-label="<?php echo esc_attr( $svg_name ); ?>">
<div class="social-icon-container">
<?php marianne_svg( $svg_shapes, 'feather feather-' . $site ); ?>
</div>
</a>
</li>
<?php
}
}
?>
</ul>
</div>
<?php
endif;
if ( $link ) {
// Sets a target value for links.
if ( false === marianne_get_theme_mod( 'marianne_social_target_blank' ) ) {
$target = '_self';
} else {
$target = '_blank';
}
?>
<li>
<?php
$specific_icons = array( 'phone', 'link', 'rss' );
if ( ! in_array( $site, $specific_icons, true ) ) {
$link_aria_label = sprintf(
/* translators: %s. The name of the social site. */
_x( 'Link to %s', 'Label for links to social sites.', 'marianne' ),
ucfirst( $site )
);
$svg_args = array(
'aria-label' => sprintf(
/* translators: %s. The name of the social site. */
_x( '%s icon', 'Alternative text for social icon images', 'marianne' ),
ucfirst( $site )
),
'class' => 'simple-icons icon-' . $site,
'size' => array( 16, 16 ),
);
} elseif ( 'phone' === $site ) {
$link_aria_label = __( 'Link to the phone number', 'marianne' );
$svg_args = array(
'aria-label' => __( 'Phone icon', 'marianne' ),
'class' => 'feather-icons icon-' . $site,
'size' => array( 16, 16 ),
);
} elseif ( 'link' === $site ) {
$link_aria_label = __( 'Link to a custom URL', 'marianne' );
$svg_args = array(
'aria-label' => __( 'Link icon', 'marianne' ),
'class' => 'feather-icons icon-' . $site,
'size' => array( 16, 16 ),
);
} elseif ( 'rss' === $site ) {
$link_aria_label = __( 'Link to the RSS feed', 'marianne' );
$svg_args = array(
'aria-label' => __( 'RSS icon', 'marianne' ),
'class' => 'simple-icons icon-' . $site,
'size' => array( 16, 16 ),
);
}
?>
<a href="<?php echo esc_attr( $link ); ?>" target="<?php echo esc_attr( $target ); ?>" aria-label="<?php echo esc_attr( $link_aria_label ); ?>">
<div class="social-icon-container">
<?php echo marianne_esc_svg( marianne_svg( $svg_shapes, $svg_args ) ); ?>
</div>
</a>
</li>
<?php
}
}
?>
</ul>
</div>
<?php
endif;
}
}
@ -524,8 +738,8 @@ if ( ! function_exists( 'marianne_print_info' ) ) {
* @since Marianne 1.3
*/
function marianne_print_info( $class = 'text-secondary' ) {
$today_date = current_time( get_option( 'date_format' ) );
$today_time = current_time( get_option( 'time_format' ) );
$today_date = date_i18n( get_option( 'date_format' ) );
$today_time = date_i18n( get_option( 'time_format' ) );
?>
<div id="print-info"<?php marianne_add_class( $class ); ?>>
<p>
@ -585,7 +799,9 @@ if ( ! function_exists( 'marianne_post_links' ) ) {
if ( $marianne_newer_post || $marianne_older_post ) {
?>
<div<?php marianne_add_class( $class ); ?>>
<nav class="post-navigation">
<nav class="post-navigation" role="navigation" aria-label="<?php esc_attr_e( 'Post', 'marianne' ); ?>">
<h3 class="screen-reader-text"><?php esc_html_e( 'Post navigation', 'marianne' ); ?></h3>
<?php
if ( $marianne_newer_post && $marianne_older_post ) {
$nav_links_class = 'nav-links';

Binary file not shown.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

BIN
languages/nl_NL.mo Normal file

Binary file not shown.

1163
languages/nl_NL.po Normal file

File diff suppressed because it is too large Load diff

View file

@ -2,32 +2,120 @@
Contributors: Teddy
Requires at least: 5.3
Tested up to: 5.7
Tested up to: 5.8.1
Requires PHP: 5.2
License: GPLv3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
A minimalist theme ideal for writers, journalists and all bloggers who want to share their texts.
Are you looking for a simple theme to highlight your writings?
Marianne is a rare minimalistic theme in an ocean of maximalism.
It gives a touch of old school blogging to your site, refreshed,
with customization options that make it flexible. If you believe
that less graphism complexity means less distraction and more readability,
this theme is made for you. Whether you are a simple blogger,
a writer, a journalist or an intellectual, Marianne will delight you…
and your readers.
== Description ==
Marianne is a minimalist WordPress theme.
It is mainly designed to make your content very readable
and to minimize energy consumption of your visitors' device.
The design of Marianne is sober and modern, without frills.
The small width of its pages and the absence of visual pollution
(excess of colors and icons) facilitate the reading and emphasize
the essential, your contents, for the greatest pleasure of your readers.
Marianne uses system fonts and requires few resources.
It uses minimal functionalities to focus on your texts.
It is the perfect theme for writers, journalists
and intellectuals who want to present their work.
Marianne uses the system fonts. In concrete terms, it does not load
new files to display your texts and thus gains in speed. In addition,
the use of such fonts brings an appreciable graphic continuity
to your digital ecosystem.
This is a customizable theme. You can add a logo, switch from a light
to a dark color scheme, change the font, add links to your social accounts
and more… Its up to you!
Finally, Marianne theme adapts to all formats. It keeps its characteristics
on tablet and mobile, and it has been designed to give a good print results.
== Changelog ==
=== 1.3.4.2 April 3nd, 2021 ===
=== 1.8 September 18th, 2021 ===
- Added: custom fonts from Google Fonts.
=== 1.7.1 September 17th, 2021 ===
Fixed: "Back to top" button bug in the Theme Customizer.
=== 1.7 September 16th, 2021 ===
Added: option to display the excerpt or the full content of posts in the loop.
Added: button in the footer to go to the top of the page.
Added: option to display/hide the title of the front page.
Fixed: text of the search button bug.
Updated: "tested up to" version number (5.8 to 5.8.1).
Updated: translation files.
=== 1.6.1 July 30th, 2021 ===
Added: social link to Signal and Telegram.
Added: one contributor in About Marianne page.
Updated: "tested up to" version number (5.7.2 to 5.8).
Updated: translation files.
=== 1.6 June 19th, 2021 ===
Added: option to display the theme with a left sidebar.
Added: new social links.
Fixed: phone number sanitization.
Updated: translation files.
=== 1.5.1 May 28th, 2021 ===
- Added: descriptions to some options.
- Fixed: Feather Icons display.
=== 1.5 May 27th, 2021 ===
- Added: the ability to display the author's name in the post list and inside posts.
- Added: 500px and Diaspora support.
- Fixed: social icon margins.
- Updated: Feather Icons mostly replaced by Simple Icons.
- Updated: translation files.
=== 1.4.1 May 24th, 2021 ===
- Fixed: .zip error.
=== 1.4 May 24th, 2021 ===
- Added: inline CSS system for future improvements.
- Added: new social icons.
- Added: Dutch translation.
- Added: a list of contributors in the About page.
- Updated: French translation.
- Updated: 'Tested up to' version number (5.7.1 to 5.7.2).
- Removed: unwanted white space in the footer menu.
=== 1.3.6 May 8th, 2021 ===
- Fixed: bug on the primary menu on Android.
- Updated: 'Tested up to' version number (5.7 to 5.7.1).
=== 1.3.5.2 April 24th, 2021 ===
- Fixed: post navigation bug.
=== 1.3.5.1 April 23th, 2021 ===
- Fixed: footer menu margins when footer align is set to right.
=== 1.3.5 April 8th, 2021 ===
- Added: option to add a custom text for comment link when there are no comments yet.
- Added: ARIA labels for SVG icons (accessibility).
- Fixed: featured images were always expanded to full site's width.
- Fixed: retrieved date for printing was not localized.
- Fixed: the category separator vas inside the list item.
- Fixed: mobile menu button alignment when the header alignment is not set to left.
- Updated: theme description.
- Updated: toggle menu button.
- Updated: primary menu background color on mobile.
- Updated: SVG functions.
- Updated: translation files.
- Updated: styles.
=== 1.3.4.2 April 3rd, 2021 ===
- Fixed: critical error. Sorry for the inconvenience.
=== 1.3.4.1 April 3nd, 2021 ===
=== 1.3.4.1 April 3rd, 2021 ===
- Fixed: warning about non escaped strings.
=== 1.3.4 April 3nd, 2021 ===
=== 1.3.4 April 3rd, 2021 ===
- Added: translation of the Theme Description.
- Fixed: various bugs in the Theme Customizer.
- Fixed: wrong styles on comments.
@ -200,17 +288,63 @@ Source: https://www.flickr.com/photos/137643065@N06/23699397893
License: CC0 1.0 Public Domain Dedication
License URI: https://creativecommons.org/publicdomain/zero/1.0/
SVG Icons: Feather Icons, Copyright (c) 2013-2017 Cole Bemis
Source: https://icons.getbootstrap.com/
License: MIT
License URI: https://opensource.org/licenses/mit-license.php
SVG Icons:
- Feather Icons, Copyright (c) 2013-2017 Cole Bemis
Source: https://icons.getbootstrap.com/
License: MIT
License URI: https://opensource.org/licenses/mit-license.php
- Simple Icons
Source: https://simpleicons.org/
License: CC0
License URI: https://github.com/simple-icons/simple-icons/blob/develop/LICENSE.md
Admin icons: Dashicons, Copyright Wordpress
License: GPLv2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
sidebar-none.png and sidebar-left.png
Author: Anthony Hortin
Author URI: https://maddisondesigns.com
License: GPLv2
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Fonts:
- Lato, Copyright (c) 2010-2011 by tyPoland Lukasz Dziedzic (team@latofonts.com)
License: SIL Open Font License, Version 1.1
License URI: http://scripts.sil.org/OFL
- Lora, The Lora Project Authors (https://github.com/cyrealtype/Lora-Cyrillic), with Reserved Font Name "Lora".
License: SIL Open Font License, Version 1.1
License URI: http://scripts.sil.org/OFL
- Merriweather, Copyright 2016 The Merriweather Project Authors (https://github.com/EbenSorkin/Merriweather), with Reserved Font Name "Merriweather".
License: SIL Open Font License, Version 1.1
License URI: http://scripts.sil.org/OFL
- Noto Sans, Copyright 2012 Google Inc. All Rights Reserved.
License: SIL Open Font License, Version 1.1
License URI: http://scripts.sil.org/OFL
- Noto Serif, Copyright 2012 Google Inc. All Rights Reserved.
License: SIL Open Font License, Version 1.1
License URI: http://scripts.sil.org/OFL
- Open Sans, Digitized data copyright 2010-2011, Google Corporation.
License: Apache License, version 2.0
License URI: http://www.apache.org/licenses/LICENSE-2.0.html
- PT Mono, Copyright © 2010 ParaType Inc., ParaType Ltd. All rights reserved.
License: SIL Open Font License, Version 1.1
License URI: http://scripts.sil.org/OFL
- PT Sans, Copyright © 2009 ParaType Ltd. All rights reserved.
License: SIL Open Font License, Version 1.1
License URI: http://scripts.sil.org/OFL
- PT Serif, Copyright © 2010 ParaType Ltd. All rights reserved.
License: SIL Open Font License, Version 1.1
License URI: http://scripts.sil.org/OFL
- Roboto, Copyright 2011 Google Inc. All Rights Reserved.
License: Apache License, version 2.0
License URI: http://www.apache.org/licenses/LICENSE-2.0.html
- Roboto Mono, Copyright 2015 The Roboto Mono Project Authors (https://github.com/googlefonts/robotomono)
License: Apache License, version 2.0
License URI: http://www.apache.org/licenses/LICENSE-2.0.html
- Roboto Slab, Copyright 2018 The Roboto Slab Project Authors (https://github.com/googlefonts/robotoslab)
License: Apache License, version 2.0
License URI: http://www.apache.org/licenses/LICENSE-2.0.html
- Source Code Pro, Copyright 2010, 2012 Adobe Systems Incorporated. All Rights Reserved.
License: SIL Open Font License, Version 1.1
License URI: http://scripts.sil.org/OFL
- Source Sans Pro, Copyright 2010, 2012, 2014 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name Source.
License: SIL Open Font License, Version 1.1
License URI: http://scripts.sil.org/OFL
- Source Serif Pro, Copyright 2014, 2015, 2016 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'.
License: SIL Open Font License, Version 1.1
License URI: http://scripts.sil.org/OFL

View file

@ -11,8 +11,6 @@
if ( is_active_sidebar( 'widgets' ) ) {
?>
<?php
$marianne_widgets_class = 'site-secondary';
@ -21,6 +19,10 @@ if ( is_active_sidebar( 'widgets' ) ) {
}
?>
<aside id="secondary"<?php marianne_add_class( $marianne_widgets_class ); ?> role="complementary">
<?php if ( 'two-column-left-sidebar' !== marianne_get_theme_mod( 'marianne_global_layout' ) ) : ?>
<hr class="separator">
<?php endif; ?>
<?php dynamic_sidebar( 'widgets' ); ?>
</aside>
<?php

438
style.css
View file

@ -3,11 +3,11 @@ Theme Name: Marianne
Theme URI: https://github.com/te2dy/marianne
Author: Teddy
Author URI: https://chezteddy.fr/
Description: A minimalist theme ideal for writers, journalists and all bloggers who want to share their texts.
Tags: blog, one-column, custom-logo, custom-menu, featured-images, sticky-post, theme-options, threaded-comments, translation-ready, wide-blocks
Version: 1.3.4.2
Description: Are you looking for a simple theme to highlight your writings? Marianne is a rare minimalistic theme in an ocean of maximalism. It gives a touch of old school blogging to your site, refreshed, with customization options that make it flexible. If you believe that less graphism complexity means less distraction and more readability, this theme is made for you. Whether you are a simple blogger, a writer, a journalist or an intellectual, Marianne will delight you and your readers.
Tags: blog, one-column, two-columns, left-sidebar, custom-logo, custom-menu, featured-images, sticky-post, theme-options, threaded-comments, translation-ready, wide-blocks
Version: 1.8
Requires at least: 5.3
Tested up to: 5.7
Tested up to: 5.8.1
Requires PHP: 5.2
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
@ -18,8 +18,6 @@ Text Domain: marianne
* Variables
*/
:root {
--font-size: 12pt;
--color-light-blue: #0057B7;
--color-dark-blue: #529ff5;
@ -145,30 +143,6 @@ Text Domain: marianne
}
/* Fonts */
.font-family-sans-serif {
--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}
.font-family-serif {
--font-family: "Iowan Old Style", "Apple Garamond", Baskerville, "Times New Roman", "Droid Serif", Times, "Source Serif Pro", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.font-family-monospace {
--font-family: Menlo, Consolas, Monaco, "Liberation Mono", "Lucida Console", monospace;
}
.font-size-120 {
--font-size-calc: calc(var(--font-size) * 1.2);
}
.font-size-110 {
--font-size-calc: calc(var(--font-size) * 1.1);
}
.font-size-100 {
--font-size-calc: calc(var(--font-size));
}
.font-size-90 {
--font-size-calc: calc(var(--font-size) * 0.9);
}
.font-size-80 {
--font-size-calc: calc(var(--font-size) * 0.8);
}
.font-smooth {
--font-smooth-moz: grayscale;
--font-smooth-webkit: antialiased;
@ -180,27 +154,6 @@ Text Domain: marianne
--text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
}
/* Site */
.page-width-480 {
--page-width: 480px;
}
.page-width-600 {
--page-width: 600px;
}
.page-width-720 {
--page-width: 720px;
}
.sidebar-width-200 {
--sidebar-width: 200px;
}
.sidebar-width-250 {
--sidebar-width: 250px;
}
.sidebar-width-300 {
--sidebar-width: 300px;
}
/* Header */
.site-header-align-left {
--site-header-align: left;
@ -276,8 +229,7 @@ html {
body {
background-color: var(--color-body-background);
color: var(--color-body-text-primary);
font-family: var(--font-family);
font-size: var(--font-size-calc);
font-size: var(--font-size);
-moz-osx-font-smoothing: var(--font-smooth-moz, auto);
-webkit-font-smoothing: var(--font-smooth-webkit, auto);
font-smooth: var(--font-smooth, auto);
@ -288,54 +240,12 @@ body {
margin: 0 auto;
word-wrap: break-word;
}
.site-layout-sidebar-none .site {
max-width: var(--page-width);
}
.site-layout-sidebar-none .site-header {
margin: 2em 0 4em;
.site-header {
text-align: var(--site-header-align);
}
.sidebar-width-250 .site-header {
text-align: var(--site-header-align);
width: var(--sidebar-width);
}
.site-layout-sidebar-none .site-content {
margin: 4em 0;
}
.site-layout-sidebar-none .site-primary {
.site-primary {
margin-bottom: 4em;
}
.site-layout-sidebar-left .site {
display: grid;
grid-template-areas:
"header content"
"sidebar content"
"sidebar footer";
margin-top: 4em;
max-width: calc( var(--page-width) + var(--sidebar-width) + 2em * 2 );
}
.site-layout-sidebar-left .site-header {
grid-area: header;
margin-top: 0;
margin-right: 2em;
padding-right: 2em;
}
.site-layout-sidebar-left .site-content {
grid-area: content;
width: var(--page-width);
}
.site-layout-sidebar-left .site-secondary {
grid-area: sidebar;
margin-top: 0;
margin-right: 2em;
padding-right: 2em;
}
.site-layout-sidebar-left .site-footer {
grid-area: footer;
width: var(--page-width);
}
article,
aside,
div,
@ -495,11 +405,14 @@ kbd {
}
code,
kbd {
background-color: #dadada;
background-color: var(--color-input-background);
display: inline-block;
padding: .1em;
text-indent: 0;
}
.wp-block-code code {
padding: 1em;
}
dt {
font-variant: small-caps;
}
@ -516,35 +429,46 @@ dd {
margin-top: 1em;
margin-bottom: 1em;
}
.aligncenter {
height: auto;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.alignleft {
float: left;
margin-bottom: 1em !important;
margin-right: 1em !important;
text-align: left;
}
.alignright {
float: right;
margin-bottom: 1em !important;
margin-left: 1em !important;
text-align: right;
}
.alignnone {
height: auto;
margin: 0 0 1em;
}
.alignwide {
width: 75vw;
margin-top: 2em;
margin-right: calc(-75vw / 2 + var(--page-width) / 2);
margin-bottom: 2em;
margin-left: calc(-75vw / 2 + var(--page-width) / 2);
}
.alignfull {
width: 100vw;
margin-top: 2em;
margin-right: calc(-100vw / 2 + var(--page-width) / 2);
margin-bottom: 2em;
margin-left: calc(-100vw / 2 + var(--page-width) / 2);
}
@media all and (max-width: 500px) {
.alignwide,
.alignfull {
width: 100%;
margin: 2em 0;
}
.wp-block-media-text {
display: block;
}
}
.blocks-gallery-grid figcaption,
.wp-block-gallery figcaption {
padding-right: 1em;
padding-left: 1em;
}
.alignfull .wp-block-media-text__content {
padding: 1em;
}
/* Lists */
.list-no-disc {
@ -569,6 +493,7 @@ table {
border-collapse: collapse;
}
th {
background-color: var(--color-input-background);
border-style: solid;
border-width: 1px;
padding: .4em;
@ -597,11 +522,8 @@ hr {
width: 50%;
}
/* Feather Icons for Social Links */
.site-social {
margin: 1em auto;
}
.site-social .feather {
/* Icons */
.feather-icons {
border: 0;
fill: transparent;
stroke: var(--color-body-text-secondary);
@ -610,17 +532,26 @@ hr {
stroke-linejoin: round;
transition: all .2s ease-in-out;
}
.site-social .feather-rss {
.simple-icons {
border: 0;
fill: var(--color-body-text-secondary);
stroke: transparent;
stroke-width: 0;
stroke-linecap: round;
stroke-linejoin: butt;
}
.social-links li a:hover .feather,
.social-links li a:focus .feather {
stroke: var(--color-body-background);
stroke-linejoin: round;
transition: all .2s ease-in-out;
}
.social-links li {
margin: 0 .25em;
.site-social {
margin: 1em auto;
}
.site-header-align-left .social-links li {
margin: .25em .25em .25em 0;
}
.site-header-align-center .social-links li {
margin: .25em .125em;
}
.site-header-align-right .social-links li {
margin: .25em 0 .25em .25em;
}
.social-links li:first-child {
margin-left: 0;
@ -628,6 +559,28 @@ hr {
.social-links li:last-child {
margin-right: 0;
}
.site-social .icon-email,
.site-social .icon-phone,
.site-social .icon-link {
fill: transparent;
stroke: var(--color-body-text-secondary);
stroke-width: 2;
}
.social-links li a:hover .simple-icons,
.social-links li a:focus .simple-icons {
fill: var(--color-body-background);
transition: all .2s ease-in-out;
}
.social-links li a:hover .icon-email,
.social-links li a:focus .icon-email,
.social-links li a:hover .icon-phone,
.social-links li a:focus .icon-phone,
.social-links li a:hover .icon-link,
.social-links li a:focus .icon-link {
fill: transparent;
stroke: var(--color-body-background);
transition: all .2s ease-in-out;
}
.social-icon-container {
display: flex;
align-items: center;
@ -666,33 +619,14 @@ img {
.img-caption,
.wp-block-image figcaption,
.wp-caption-text {
color: var(--color-body-text-secondary);
display: block;
font-size: .9em;
margin: .5em 0 0;
text-align: center;
}
.gallery-caption {
display: block;
}
.aligncenter {
height: auto;
margin-left: auto;
margin-right: auto;
}
.alignleft {
float: left;
margin-bottom: 1em !important;
margin-right: 1em !important;
}
.alignright {
float: right;
margin-bottom: 1em !important;
margin-left: 1em !important;
}
.alignnone {
height: auto;
margin: 0 0 1em;
}
/* Forms */
button,
@ -776,7 +710,8 @@ iframe {
}
.navigation-menu .menu-item:last-child {
border-right: 0;
margin-bottom: 0;
margin-right: 0;
padding-right: 0;
}
/**
@ -816,14 +751,6 @@ iframe {
#menu-primary > .menu-item {
margin-bottom: .5em;
}
.site-layout-sidebar-left #menu-primary > .menu-item {
border-left: 1px solid var(--color-border);
border-right: 0;
display: block;
margin-right: 0;
padding-left: .5rem;
padding-right: 0;
}
#menu-primary > .menu-item:last-child {
margin-right: 0;
padding-right: 0;
@ -840,6 +767,15 @@ iframe {
display: inline-block;
margin: 0 0 0 .25rem;
padding: 0;
vertical-align: middle;
}
#menu-primary .menu-item-has-children .sub-menu-toggle[aria-expanded="true"] .feather-icons {
stroke: var(--color-link-hover);
}
#menu-primary .sub-menu-toggle-icon {
fill: transparent;
stroke-width: 3;
stroke: var(--color-body-text-secondary);
}
#menu-primary .sub-menu {
clip: rect(1px, 1px, 1px, 1px);
@ -859,16 +795,22 @@ iframe {
clip-path: none;
display: block;
height: auto;
left: 0;
top: 100%;
margin: 0;
padding: 0;
text-decoration: none;
top: 100%;
width: auto;
z-index: 100000;
}
.site-layout-sidebar-left #menu-primary .menu-item-has-children .sub-menu-toggle[aria-expanded="true"] ~ .sub-menu {
margin-left: .5em;
.site-header-align-left #menu-primary .menu-item-has-children .sub-menu-toggle[aria-expanded="true"] ~ .sub-menu {
left: 0;
}
.site-header-align-center #menu-primary .menu-item-has-children .sub-menu-toggle[aria-expanded="true"] ~ .sub-menu {
left: 50%;
transform: translateX(-50%);
}
.site-header-align-right #menu-primary .menu-item-has-children .sub-menu-toggle[aria-expanded="true"] ~ .sub-menu {
right: 0;
}
#menu-primary .sub-menu > .menu-item {
display: block;
@ -885,6 +827,14 @@ iframe {
#menu-mobile-button {
display: none;
}
.site-header-align-center #menu-mobile-button {
margin-right: auto;
margin-left: auto;
}
.site-header-align-right #menu-mobile-button {
margin-right: 0;
margin-left: auto;
}
#menu-primary-container #header-search-button {
border-bottom: 1px solid var(--color-border);
padding-bottom: .1em;
@ -905,7 +855,7 @@ iframe {
margin: 0;
}
@media (hover: none), (max-width: 500px) {
@media (hover: none), (max-width: 532px) {
.navigation-menu .menu-item {
margin-bottom: 0;
}
@ -920,7 +870,10 @@ iframe {
color: var(--color-link-hover);
}
#menu-mobile-button ~ #menu-primary {
background-color: var(--color-input-background);
display: none;
padding: 1em;
text-align: left;
}
#menu-mobile-button[aria-expanded="true"] ~ #menu-primary {
display: block;
@ -987,13 +940,22 @@ iframe {
color: var(--color-link-hover);
}
#header-search-with-menu {
background-color: var(--color-input-background);
border-left: 1px solid var(--color-border);
margin-top: -2em;
padding: .5em;
padding: 0 1em 1em;
}
.search #header-search-with-menu {
margin-top: -1em;
padding-top: 1em;
}
#header-search-without-menu {
margin-top: -1em;
}
.header-search-box .search-field,
.header-search-box .search-submit {
background-color: var(--color-body-background);
}
}
/**
@ -1045,10 +1007,12 @@ iframe {
*/
.entry-meta {
font-size: .9em;
margin: .5em 0;
}
.site-layout-sidebar-left .hentry:first-of-type .entry-meta:first-of-type {
margin-top: 0;
.entry-header .entry-meta {
margin-bottom: .5em;
}
.entry-footer .entry-meta {
margin-top: .5em;
}
.entry-sticky {
border-left: 4px solid var(--color-border);
@ -1056,20 +1020,24 @@ iframe {
padding-left: .25em;
margin: 1em 0 .5em;
}
.post-title {
.entry-categories li + li:before {
content: "\00B7";
}
.post-title,
.page-title {
font-size: 1.5em;
margin: 1em 0;
}
.site-layout-sidebar-none .page-title {
font-size: 1.5em;
margin: 1em 0;
.entry-info {
display: flex;
align-items: center;
}
.site-layout-sidebar-left .page-title {
font-size: 1.5em;
margin: 0 0 1em;
.entry-info-avatar .avatar {
border-radius: 50%;
margin-right: .5em;
}
.entry-thumbnail-wide .wp-post-image {
width: var(--page-width);
.entry-info-separator {
margin: 0 .2em;
}
.post-content p,
.page-content p {
@ -1138,9 +1106,36 @@ iframe {
.post-footer {
margin-top: 2em;
}
.post-signature {
display: flex;
margin: 2em 0;
}
.post-signature-align-top {
align-items: flex-start;
}
.post-signature-align-center {
align-items: center;
}
.post-signature-avatar .avatar {
border-radius: 50%;
margin-right: 1em;
}
.post-signature-author-name {
font-size: 1em;
margin: 0;
}
.post-signature-author-name cite {
font-style: normal;
}
.post-signature-author-description {
margin-top: .5em;
}
.post-signature-author-description p {
margin: .25em 0 0;
}
.post-page-numbers {
border: 1px solid var(--color-border);
padding: .25em;
padding: .25em .5em;
}
.post-content .post-page-numbers,
.page-content .post-page-numbers {
@ -1154,7 +1149,10 @@ iframe {
}
.post-page-numbers:hover {
border-color: var(--color-links-hover);
border-color: var(--color-link-hover);
}
.post-page-numbers.current:hover {
border-color: var(--color-border);
}
.post-navigation {
margin: 2em 0;
@ -1210,6 +1208,10 @@ iframe {
font-size: .9em;
margin-top: .25em;
}
#cancel-comment-reply-link {
color: var(--color-body-text-secondary);
font-weight: normal;
}
#cancel-comment-reply-link::before {
content: " ";
}
@ -1240,6 +1242,33 @@ iframe {
.site-footer-block {
margin-top: 1em;
}
.site-footer-align-right .navigation-menu .menu-item {
border-right: 0;
border-left: 1px solid var(--color-border);
margin-right: 0;
margin-left: .5rem;
padding-right: 0;
padding-left: .5rem;
}
.site-footer-align-right .navigation-menu .menu-item:first-child {
border-left: 0;
margin-left: 0;
padding-left: 0;
}
#back-to-top {
border: 0;
color: var(--color-body-text-secondary);
display: inline;
padding: 0;
}
#back-to-top:hover,
#back-to-top:focus {
color: var(--color-link-hover);
}
#back-to-top:hover .feather-icons,
#back-to-top:focus .feather-icons {
stroke: var(--color-link-hover);
}
/**
* Search form
@ -1358,67 +1387,6 @@ iframe {
z-index: 100000;
}
/**
* On small screens
*/
@media all and (max-width: 848px) {
.page-width-720 {
margin-right: 4em;
margin-left: 4em;
}
}
@media all and (max-width: 664px) {
.page-width-600 {
margin-right: 2em;
margin-left: 2em;
}
}
@media all and (max-width: 532px) {
.site {
margin-right: 1em;
margin-left: 1em;
}
.site-content {
margin: 2em auto;
}
.site-header {
margin-bottom: 1em;
}
.entry-loop.sticky {
margin-right: -.5rem;
margin-left: -.5rem;
padding: .5rem;
}
.entry-loop.sticky figure {
margin-right: -.5rem;
margin-left: -.5rem;
}
.nav-links {
display: block;
justify-content: unset;
}
.nav-links .nav-link-previous,
.nav-links .nav-link-next {
max-width: unset;
}
.nav-links .nav-link-previous {
padding-right: 0;
}
.nav-links .nav-link-next {
padding-top: .5em;
padding-left: 0;
text-align: right;
}
.nav-links-one .nav-link-next {
text-align: right;
}
.comment-list .parent .comment {
padding: .5em 0 0 .5em;
}
}
/**
* On print
*/

2
style.min.css vendored

File diff suppressed because one or more lines are too long

View file

@ -18,11 +18,29 @@
</div>
<?php endif; ?>
<div class="entry-meta text-secondary">
<a href="<?php the_permalink(); ?>"><?php marianne_the_date(); ?></a>
</div>
<?php
$marianne_post_info_args = array();
<?php marianne_the_categories( 'entry-meta text-secondary' ); ?>
if ( true === marianne_get_theme_mod( 'marianne_loop_author_name' ) ) {
$marianne_post_info_args[] = 'author_name';
if ( true === marianne_get_theme_mod( 'marianne_loop_author_name_prefix' ) ) {
$marianne_post_info_args[] = 'author_prefix';
}
}
if ( true === marianne_get_theme_mod( 'marianne_loop_author_avatar' ) ) {
$marianne_post_info_args[] = 'author_avatar';
}
if ( true === marianne_get_theme_mod( 'marianne_loop_post_time' ) ) {
$marianne_post_info_args[] = 'time';
}
marianne_post_info( 'entry-meta text-secondary', $marianne_post_info_args );
?>
<?php marianne_the_categories( 'entry-meta entry-categories text-secondary' ); ?>
<h3 class="entry-title loop-title">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
@ -41,6 +59,15 @@
<?php
$marianne_single_classes = 'entry-content loop-content';
$marianne_loop_content = marianne_get_theme_mod( 'marianne_loop_content' );
if ( 'full' !== $marianne_loop_content ) {
$marianne_single_classes = 'entry-content loop-content';
} else {
$marianne_single_classes = 'entry-content post-content';
}
$marianne_single_classes .= ' text-align-' . marianne_get_theme_mod( 'marianne_content_text_align' );
if ( true === marianne_get_theme_mod( 'marianne_content_hyphens' ) ) {
@ -48,9 +75,13 @@
}
?>
<section <?php marianne_add_class( $marianne_single_classes, false ); ?>>
<a href="<?php the_permalink(); ?>">
<?php the_excerpt(); ?>
</a>
<?php if ( 'full' !== $marianne_loop_content ) : ?>
<a href="<?php the_permalink(); ?>">
<?php the_excerpt(); ?>
</a>
<?php else : ?>
<?php the_content(); ?>
<?php endif; ?>
</section>
<?php marianne_loop_comments( 'entry-footer loop-footer text-secondary' ); ?>

View file

@ -15,6 +15,10 @@
<header class="entry-header">
<?php the_title( '<h1 class="entry-title page-title">', '</h1>' ); ?>
</header>
<?php elseif ( is_front_page() && true === marianne_get_theme_mod( 'static_front_page_title' ) ) : ?>
<header class="entry-header">
<?php the_title( '<h1 class="entry-title page-title">', '</h1>' ); ?>
</header>
<?php endif; ?>
<?php

View file

@ -19,15 +19,47 @@
<?php endif; ?>
<?php
marianne_the_date( 'entry-meta entry-date post-date text-secondary' );
if ( 'top' === marianne_get_theme_mod( 'marianne_post_author_position' ) ) {
$marianne_post_info_args = array();
marianne_the_categories( 'entry-meta text-secondary' );
if ( 'name' === marianne_get_theme_mod( 'marianne_post_author_info' ) ) {
$marianne_post_info_args[] = 'author_name';
} elseif ( 'avatar' === marianne_get_theme_mod( 'marianne_post_author_info' ) ) {
$marianne_post_info_args[] = 'author_avatar';
} else {
$marianne_post_info_args[] = 'author_name';
$marianne_post_info_args[] = 'author_avatar';
}
if ( true === marianne_get_theme_mod( 'marianne_post_author_name_prefix' ) ) {
$marianne_post_info_args[] = 'author_prefix';
}
if ( true === marianne_get_theme_mod( 'marianne_post_post_time' ) ) {
$marianne_post_info_args[] = 'time';
}
marianne_post_info( 'entry-meta text-secondary', $marianne_post_info_args );
} else {
$marianne_date_args = array(
'date' => true,
'time' => false,
);
if ( true === marianne_get_theme_mod( 'marianne_post_post_time' ) ) {
$marianne_date_args['time'] = true;
}
marianne_the_date( 'entry-meta entry-date post-date text-secondary', $marianne_date_args );
}
marianne_the_categories( 'entry-meta entry-categories text-secondary' );
the_title( '<h1 class="entry-title post-title">', '</h1>' );
$marianne_thumbnail_class = 'entry-thumbnail post-thumbnail';
if ( false === marianne_get_theme_mod( 'marianne_global_images_expand' ) ) {
if ( true === marianne_get_theme_mod( 'marianne_global_images_expand' ) ) {
$marianne_thumbnail_class .= ' entry-thumbnail-wide';
}
@ -55,8 +87,10 @@
?>
</section>
<?php if ( has_tag() || true === marianne_get_theme_mod( 'marianne_post_nav' ) || true === marianne_get_theme_mod( 'marianne_print_info' ) ) : ?>
<?php if ( has_tag() || 'bottom' === marianne_get_theme_mod( 'marianne_post_author_position' ) || true === marianne_get_theme_mod( 'marianne_post_nav' ) || true === marianne_get_theme_mod( 'marianne_print_info' ) ) : ?>
<footer class="entry-footer post-footer">
<?php marianne_post_signature( 'post-signature' ); ?>
<div class="entry-tags post-tags text-secondary">
<?php the_tags(); ?>
</div>