From 942a4c151f2374a3ec02cac5b2bc47a2feabf0c2 Mon Sep 17 00:00:00 2001 From: Frank419 Date: Tue, 20 Aug 2024 07:44:34 +0800 Subject: [PATCH] Initial commit. --- 404.php | 19 + README.md | 51 + archive.php | 21 + author.php | 63 + comments.php | 58 + css/autoh2label.css | 31 + css/color-palette.css | 41 + css/editor.css | 53 + css/mobile.css | 20 + css/multi-image.css | 58 + defaults/1.png | Bin 0 -> 108819 bytes defaults/2.png | Bin 0 -> 82121 bytes defaults/3.png | Bin 0 -> 20603 bytes defaults/4.png | Bin 0 -> 48324 bytes defaults/5.png | Bin 0 -> 39476 bytes defaults/6.png | Bin 0 -> 428376 bytes defaults/header.png | Bin 0 -> 18617 bytes defaults/header2.png | Bin 0 -> 11659 bytes defaults/palette.png | Bin 0 -> 2065 bytes defaults/palette2.png | Bin 0 -> 1329 bytes defaults/palette3.png | Bin 0 -> 2494 bytes defaults/palette4.png | Bin 0 -> 2567 bytes footer.php | 90 ++ functions.php | 170 +++ header.php | 123 ++ includes/class-color-palette-control.php | 44 + includes/class-multi-image-control.php | 61 + includes/color-definitions.php | 67 + includes/colors.php | 43 + includes/customizer.php | 838 +++++++++++ includes/languages.php | 15 + includes/sanitize-callbacks.php | 29 + index.php | 16 + js/color-palette.js | 90 ++ js/menu.js | 10 + js/multi-image.js | 76 + languages/crystal.pot | 1067 ++++++++++++++ languages/zh_CN.mo | Bin 0 -> 22836 bytes languages/zh_CN.po | 1156 +++++++++++++++ languages/zh_CN.po~ | 1157 +++++++++++++++ page.php | 36 + readme.txt | 51 + screenshot.jpg | Bin 0 -> 130743 bytes search.php | 63 + sidebar-above-content.php | 18 + sidebar-below-content.php | 18 + sidebar-footer-2.php | 18 + sidebar-footer-3.php | 18 + sidebar-footer.php | 18 + sidebar-menu-2.php | 18 + sidebar-menu.php | 22 + sidebar.php | 41 + singular.php | 59 + style.css | 1667 ++++++++++++++++++++++ templates/author.php | 18 + templates/empty.php | 5 + templates/index.php | 4 + templates/loop.php | 110 ++ templates/metadata.php | 38 + templates/publisher.php | 32 + theme.json | 60 + 61 files changed, 7781 insertions(+) create mode 100644 404.php create mode 100644 README.md create mode 100644 archive.php create mode 100644 author.php create mode 100644 comments.php create mode 100644 css/autoh2label.css create mode 100644 css/color-palette.css create mode 100644 css/editor.css create mode 100644 css/mobile.css create mode 100644 css/multi-image.css create mode 100644 defaults/1.png create mode 100644 defaults/2.png create mode 100644 defaults/3.png create mode 100644 defaults/4.png create mode 100644 defaults/5.png create mode 100644 defaults/6.png create mode 100644 defaults/header.png create mode 100644 defaults/header2.png create mode 100644 defaults/palette.png create mode 100644 defaults/palette2.png create mode 100644 defaults/palette3.png create mode 100644 defaults/palette4.png create mode 100644 footer.php create mode 100644 functions.php create mode 100644 header.php create mode 100644 includes/class-color-palette-control.php create mode 100644 includes/class-multi-image-control.php create mode 100644 includes/color-definitions.php create mode 100644 includes/colors.php create mode 100644 includes/customizer.php create mode 100644 includes/languages.php create mode 100644 includes/sanitize-callbacks.php create mode 100644 index.php create mode 100644 js/color-palette.js create mode 100644 js/menu.js create mode 100644 js/multi-image.js create mode 100644 languages/crystal.pot create mode 100644 languages/zh_CN.mo create mode 100644 languages/zh_CN.po create mode 100644 languages/zh_CN.po~ create mode 100644 page.php create mode 100644 readme.txt create mode 100644 screenshot.jpg create mode 100644 search.php create mode 100644 sidebar-above-content.php create mode 100644 sidebar-below-content.php create mode 100644 sidebar-footer-2.php create mode 100644 sidebar-footer-3.php create mode 100644 sidebar-footer.php create mode 100644 sidebar-menu-2.php create mode 100644 sidebar-menu.php create mode 100644 sidebar.php create mode 100644 singular.php create mode 100644 style.css create mode 100644 templates/author.php create mode 100644 templates/empty.php create mode 100644 templates/index.php create mode 100644 templates/loop.php create mode 100644 templates/metadata.php create mode 100644 templates/publisher.php create mode 100644 theme.json diff --git a/404.php b/404.php new file mode 100644 index 0000000..375f78a --- /dev/null +++ b/404.php @@ -0,0 +1,19 @@ + + + + +
+
+

+

+

+ +

+
+
+ + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..9f541db --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +=== MinimalistFlex === +Stable tag: 1.0.0 +Contributors: frank419 +Tags: two-columns ,left-sidebar, right-sidebar, custom-colors, custom-logo, custom-menu, editor-style, featured-images, flexible-header, footer-widgets, sticky-post, theme-options, translation-ready, blog +Tested up to: 6.6 +Requires at least: 4.9 +License: GNU General Public License v3.0 or later +License URI: https://www.gnu.org/licenses/gpl-3.0.html + +MinimalistFlex is an elegant, easy to use theme that aims to +provide a smooth user experience. + +== Description == +MinimalistFlex is a well designed theme that provides as +many options as possible while not being overwhelming. + +MinimalistFlex supports all the features you love: flexible header +images, multiple widget areas, custom layout & colors, and +some exclusive features like setting default featured images. + +MinimalistFlex is tested against many WordPress and PHP versions, +including the latest version as well as older versions +up to WordPress 4.9 and PHP 5.6. + +MinimalistFlex put all kinds of visitors in its heart. MinimalistFlex is +fully responsive, and looks good on very small screens. +We also tried our best to make the theme as accessible as +possible. + +== Frequently Asked Quesions == + += How do I set default featured images? = + +The theme provides a new section, called "Default Featured +Images", located in the customizer, just below "Colors". + +This new section provided some new controls, including some +images from us in case you don't have any good images right +now. + += To what extent can I customize the colors? = + +Almost everything you see on your site can have its color +changed. + +As a bonus, we have 4 pre-built color palettes for you. + +== Changelog == + += 1.0.0 = +* Initial release. \ No newline at end of file diff --git a/archive.php b/archive.php new file mode 100644 index 0000000..b9a3f6c --- /dev/null +++ b/archive.php @@ -0,0 +1,21 @@ + + + + + +
+ +

+ +

+ + +
+ + + + diff --git a/author.php b/author.php new file mode 100644 index 0000000..d476020 --- /dev/null +++ b/author.php @@ -0,0 +1,63 @@ + + + + + +
+ +

+ + + + +

+
+ + + + +
+

+ +
+ + + +
+

+ +

+ +
+ + + + diff --git a/comments.php b/comments.php new file mode 100644 index 0000000..7d293e9 --- /dev/null +++ b/comments.php @@ -0,0 +1,58 @@ + + + + +
+ +

+ ' . get_the_title() . '' + ); + ?> +

+ + + + 1 && get_option( 'page_comments' ) ) : ?> + + + + +

+ + + + + + +
diff --git a/css/autoh2label.css b/css/autoh2label.css new file mode 100644 index 0000000..ec0ee09 --- /dev/null +++ b/css/autoh2label.css @@ -0,0 +1,31 @@ +:root { + counter-reset: headings; +} + +.singular-main h2 { + position: relative; + counter-increment: headings; +} + +.singular-main h2::before { + content: counter(headings); + display: inline-flex; + justify-content: center; + align-items: center; + width: 2em; + height: 2em; + background-color: var(--minimalistflex-tint); + color: var(--minimalistflex-contrast); + margin-right: 12px; +} + +.singular-main h2::after { + content: ""; + display: block; + position: absolute; + bottom: 0; + right: 0; + width: calc(100% - 2em); + height: 4px; + background: linear-gradient(90deg, var(--minimalistflex-tint), var(--minimalistflex-tint-alt)); +} \ No newline at end of file diff --git a/css/color-palette.css b/css/color-palette.css new file mode 100644 index 0000000..fd70a97 --- /dev/null +++ b/css/color-palette.css @@ -0,0 +1,41 @@ +.palettes { + padding: 0; + margin: 0; + list-style-type: none; + display: flex; + flex-direction: column; + align-items: center; +} + +.palette { + width: 100%; + position: relative; + text-align: center; + cursor: default; + border: solid 1px #c3c4c7; + box-sizing: border-box; + background-size: cover; + background-position: center center; +} + +.palette > button { + display: block; + width: 100%; + box-sizing: content-box; + border: none; + border-radius: 0; + background-color: transparent; + color: inherit; + padding: 9px 0; + line-height: 1.6; +} + +.palette > button:hover { + background-color: #ffffff3f; +} + +#minimalistflex-palette-galatic, +#minimalistflex-palette-dark { + color: #fff; +} + diff --git a/css/editor.css b/css/editor.css new file mode 100644 index 0000000..b5d1bb2 --- /dev/null +++ b/css/editor.css @@ -0,0 +1,53 @@ +/* + * This file is used to style the editor. + */ + +:root :where(body) { + line-height: 2em; + margin: 0 10%; +} + +tt, +kbd, +code, +pre { + font-family: Hack, 'Courier New', Courier, monospace; + background-color: #111 !important; + color: #fff !important; + border-radius: 2px; + padding: 5px 10px; + overflow-x: auto; +} + +code:has(br) { + display: inline-block; +} + +blockquote, +address { + border-left: solid 3px #ffd900; + padding-left: 1em; +} + +dt { + font-weight: bold; +} + +table { + border: none; + border-collapse: collapse; +} + +table thead, +table tbody tr:not(:last-child) { + border-bottom: solid 1px #000; +} + +table thead, +table tbody tr:nth-child(2n) { + background-color: color-mix( + in srgb, + #f0f0f0, + transparent 25% + ) +} \ No newline at end of file diff --git a/css/mobile.css b/css/mobile.css new file mode 100644 index 0000000..670d672 --- /dev/null +++ b/css/mobile.css @@ -0,0 +1,20 @@ +@media screen and (max-width: 782px) { + .minimalistflex-content { + width: 67%; + } + + .minimalistflex-sidebar { + width: 33%; + } +} + +@media screen and (max-width: 600px) { + .minimalistflex-content, + .minimalistflex-sidebar { + width: 100%; + } + + .minimalistflex-master { + flex-wrap: wrap; + } +} \ No newline at end of file diff --git a/css/multi-image.css b/css/multi-image.css new file mode 100644 index 0000000..0c7ba94 --- /dev/null +++ b/css/multi-image.css @@ -0,0 +1,58 @@ +.placeholder { + width: 100%; + position: relative; + text-align: center; + cursor: default; + border: 1px dashed #c3c4c7; + box-sizing: border-box; + padding: 9px 0; + line-height: 1.6; +} + +.images:has(.image-item) + .placeholder { + display: none; +} + +.suggested-image-item, +.image-item { + width: 100%; + height: 150px; + background-position: center; + background-size: cover; + background-repeat: no-repeat; + -webkit-box-shadow: inset 0 0 15px rgba(0,0,0,.1), inset 0 0 0 1px rgba(0,0,0,.05); + box-shadow: inset 0 0 15px rgba(0,0,0,.1), inset 0 0 0 1px rgba(0,0,0,.05); + background: #eee; + cursor: pointer; + vertical-align: middle; + display: flex; + justify-content: center; + align-items: center; + overflow: hidden; + position: relative; +} + +.suggested-image-item::before, +.image-item::before { + content: ''; + position: absolute; + display: none; + top: 0px; + right: 0px; + left: 0px; + bottom: 0px; + box-shadow: 0 0 0 5px #2271b1 inset; +} + +.image-item::before { + box-shadow: 0 0 0 5px #b12222 inset; +} + +.suggested-image-item:hover::before, +.image-item:hover::before { + display: block; +} + +.actions { + padding: 1em 0; +} \ No newline at end of file diff --git a/defaults/1.png b/defaults/1.png new file mode 100644 index 0000000000000000000000000000000000000000..6509c554b49841149312fac452b0adb29079be27 GIT binary patch literal 108819 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