├── LICENSE ├── README.md ├── blocks ├── tm-button │ ├── block.php │ └── preview.php ├── tm-panel │ ├── block.php │ └── preview.php └── tm-todo-selection │ ├── block.php │ └── preview.php ├── comments.php ├── css ├── comments.css ├── mdui.css ├── mdui.min.css └── mdui.min.css.map ├── favicon.ico ├── fonts ├── fontawesome │ ├── css │ │ ├── all.css │ │ ├── all.min.css │ │ ├── brands.css │ │ ├── brands.min.css │ │ ├── fontawesome.css │ │ ├── fontawesome.min.css │ │ ├── regular.css │ │ ├── regular.min.css │ │ ├── solid.css │ │ ├── solid.min.css │ │ ├── svg-with-js.css │ │ ├── svg-with-js.min.css │ │ ├── v4-shims.css │ │ └── v4-shims.min.css │ └── webfonts │ │ ├── fa-brands-400.eot │ │ ├── fa-brands-400.svg │ │ ├── fa-brands-400.ttf │ │ ├── fa-brands-400.woff │ │ ├── fa-brands-400.woff2 │ │ ├── fa-regular-400.eot │ │ ├── fa-regular-400.svg │ │ ├── fa-regular-400.ttf │ │ ├── fa-regular-400.woff │ │ ├── fa-regular-400.woff2 │ │ ├── fa-solid-900.eot │ │ ├── fa-solid-900.svg │ │ ├── fa-solid-900.ttf │ │ ├── fa-solid-900.woff │ │ └── fa-solid-900.woff2 └── roboto │ ├── LICENSE.txt │ ├── Roboto-Black.woff │ ├── Roboto-Black.woff2 │ ├── Roboto-BlackItalic.woff │ ├── Roboto-BlackItalic.woff2 │ ├── Roboto-Bold.woff │ ├── Roboto-Bold.woff2 │ ├── Roboto-BoldItalic.woff │ ├── Roboto-BoldItalic.woff2 │ ├── Roboto-Light.woff │ ├── Roboto-Light.woff2 │ ├── Roboto-LightItalic.woff │ ├── Roboto-LightItalic.woff2 │ ├── Roboto-Medium.woff │ ├── Roboto-Medium.woff2 │ ├── Roboto-MediumItalic.woff │ ├── Roboto-MediumItalic.woff2 │ ├── Roboto-Regular.woff │ ├── Roboto-Regular.woff2 │ ├── Roboto-RegularItalic.woff │ ├── Roboto-RegularItalic.woff2 │ ├── Roboto-Thin.woff │ ├── Roboto-Thin.woff2 │ ├── Roboto-ThinItalic.woff │ └── Roboto-ThinItalic.woff2 ├── footer.php ├── functions.php ├── header.php ├── icons └── material-icons │ ├── LICENSE.txt │ ├── MaterialIcons-Regular.ijmap │ ├── MaterialIcons-Regular.woff │ └── MaterialIcons-Regular.woff2 ├── images ├── 1col.png ├── 2cl.png ├── 2cr.png ├── index-side.png ├── index.jpg ├── random │ ├── material-1.png │ ├── material-10.png │ ├── material-11.png │ ├── material-12.png │ ├── material-13.png │ ├── material-14.png │ ├── material-15.png │ ├── material-16.png │ ├── material-17.png │ ├── material-18.png │ ├── material-19.png │ ├── material-2.png │ ├── material-3.png │ ├── material-4.png │ ├── material-5.png │ ├── material-6.png │ ├── material-7.png │ ├── material-8.png │ └── material-9.png └── sidebar.jpg ├── inc ├── css │ └── optionsframework.css ├── images │ └── ico-delete.png ├── includes │ ├── class-options-framework-admin.php │ ├── class-options-framework.php │ ├── class-options-interface.php │ ├── class-options-media-uploader.php │ └── class-options-sanitization.php ├── js │ ├── media-uploader.js │ └── options-custom.js └── options-framework.php ├── index.php ├── js ├── ajax-comment │ ├── app.css │ ├── app.js │ └── main.php ├── infinite-ajax-scroll.min.js ├── jquery.min.js ├── mdui.js ├── mdui.min.js ├── mdui.min.js.map ├── scrollToTop.js ├── style-before.js └── style.js ├── optionjs.php ├── options.php ├── page.php ├── pages ├── page-archieve.php └── page-links.php ├── screenshot.png ├── search.php ├── shortcode.php ├── single.php ├── style.css └── theme-update ├── .editorconfig ├── Puc ├── v4 │ └── Factory.php └── v4p9 │ ├── Autoloader.php │ ├── DebugBar │ ├── Extension.php │ ├── Panel.php │ ├── PluginExtension.php │ ├── PluginPanel.php │ └── ThemePanel.php │ ├── Factory.php │ ├── InstalledPackage.php │ ├── Metadata.php │ ├── OAuthSignature.php │ ├── Plugin │ ├── Info.php │ ├── Package.php │ ├── Ui.php │ ├── Update.php │ └── UpdateChecker.php │ ├── Scheduler.php │ ├── StateStore.php │ ├── Theme │ ├── Package.php │ ├── Update.php │ └── UpdateChecker.php │ ├── Update.php │ ├── UpdateChecker.php │ ├── UpgraderStatus.php │ ├── Utils.php │ └── Vcs │ ├── Api.php │ ├── BaseChecker.php │ ├── BitBucketApi.php │ ├── GitHubApi.php │ ├── GitLabApi.php │ ├── PluginUpdateChecker.php │ ├── Reference.php │ └── ThemeUpdateChecker.php ├── README.md ├── composer.json ├── css └── puc-debug-bar.css ├── js └── debug-bar.js ├── languages ├── plugin-update-checker-ca.mo ├── plugin-update-checker-ca.po ├── plugin-update-checker-cs_CZ.mo ├── plugin-update-checker-cs_CZ.po ├── plugin-update-checker-da_DK.mo ├── plugin-update-checker-da_DK.po ├── plugin-update-checker-de_DE.mo ├── plugin-update-checker-de_DE.po ├── plugin-update-checker-es_ES.mo ├── plugin-update-checker-es_ES.po ├── plugin-update-checker-fa_IR.mo ├── plugin-update-checker-fa_IR.po ├── plugin-update-checker-fr_CA.mo ├── plugin-update-checker-fr_CA.po ├── plugin-update-checker-fr_FR.mo ├── plugin-update-checker-fr_FR.po ├── plugin-update-checker-hu_HU.mo ├── plugin-update-checker-hu_HU.po ├── plugin-update-checker-it_IT.mo ├── plugin-update-checker-it_IT.po ├── plugin-update-checker-ja.mo ├── plugin-update-checker-ja.po ├── plugin-update-checker-nl_BE.mo ├── plugin-update-checker-nl_BE.po ├── plugin-update-checker-nl_NL.mo ├── plugin-update-checker-nl_NL.po ├── plugin-update-checker-pt_BR.mo ├── plugin-update-checker-pt_BR.po ├── plugin-update-checker-sl_SI.mo ├── plugin-update-checker-sl_SI.po ├── plugin-update-checker-sv_SE.mo ├── plugin-update-checker-sv_SE.po └── plugin-update-checker.pot ├── license.txt ├── load-v4p9.php ├── plugin-update-checker.php └── vendor ├── Parsedown.php ├── ParsedownLegacy.php ├── ParsedownModern.php └── PucReadmeParser.php /README.md: -------------------------------------------------------------------------------- 1 | ![TigerMaterial](https://raw.githubusercontent.com/hjthjthjt/TigerMaterial/master/screenshot.png) 2 | # TigerMaterial 3 | > TigerMaterial 是 RnMaterial 的重制版,使用 MDUI 进行重新编写。 4 | > 5 | > ~~其实当初 RnMaterial 是 Ctrl+S 保存后强行魔改成 WordPress 主题的……~~ 6 | 7 | TigerMaterial 是一款基于 [MDUI](https://github.com/zdhxiong/mdui) 的 Material Design 风格的 WordPress 主题。 8 | 9 | 10 | 11 | 12 | 13 | ## 特性 14 | - 基于 MDUI 框架的 Material Design 设计,将在未来支持暗色模式和主题切换 15 | - 支持 WordPress 的主题更新功能(自v1.0.3起) 16 | - 支持文章目录,平滑跳转 17 | - 支持 Ajax 无限加载文章, Ajax 评论提交/翻页 18 | - 全局 Font Awesome 图标字体,可根据需要自行使用 19 | - 支持 Rich Preview,在 Telegram 中也能直接预览文章摘要 20 | - 内置友情链接页面,归档页面 21 | - 支持多种 Gutenberg 编辑器区块 22 | 23 | 它继承了 MDUI 所有的样式,你可以在 [MDUI 开发文档](https://www.mdui.org/docs/) 中阅览并使用。 24 | 25 | 这里提供博客内的样式显示效果: [TigerMaterial 区块 & 样式预览](https://jakting.com/tigermaterial-style-preview) 26 | ## 演示站点 27 | [甲烃气瓶](https://jakting.com) 28 | 29 | ## 插件 30 | TigerMaterial 并没有必须安装的插件(前提是使用古登堡编辑器),但我推荐你安装下面的插件来实现最佳效果。 31 | 32 | 主题的整个开发都是基于下列插件进行的。 33 | - [Gutenberg](https://wordpress.org/plugins/gutenberg/) – 古登堡编辑器,WordPress 新版的默认编辑器 34 | - [Code Syntax Block](https://wordpress.org/plugins/code-syntax-block/) – 用于代码高亮 35 | - [Block Lab](https://wordpress.org/plugins/block-lab/) – 主题捆绑的区块必须依赖此插件才可显示,例如可扩展面板,按钮等。当然,安装此插件并不是必须的,你也可以通过阅读 MDUI 文档后直接粘贴 HTML 代码来使用。 如果你安装了 Block Lab,请阅读主题须知-区块 36 | 37 | ## 主题须知 & 更新日志 38 | 前往文章:[「TigerMaterial」—— Material Design 与 WordPress 的巧妙碰撞](https://jakting.com/archives/tigermaterial.html) 查看 39 | 40 | **请务必阅读主题须知** 41 | 42 | ## 下载 43 | 请使用已打包版本,Github 库源码极少处于可使用状态。 44 | 45 | [Github Release](https://github.com/hjthjthjt/TigerMaterial/releases) 46 | 47 | [hjt's Cloud](https://cloud.jakting.com/#/s/j0SQ) (分享密码:`TigerMaterial`) 48 | -------------------------------------------------------------------------------- /blocks/tm-button/block.php: -------------------------------------------------------------------------------- 1 | $word"; 18 | } elseif ($i == "raised-white") { 19 | //浮动白色 20 | echo ""; 21 | } elseif ($i == "flat-colored") { 22 | //扁平上色 23 | echo ""; 24 | } elseif ($i == "flat-white") { 25 | //扁平白色 26 | echo ""; 27 | } elseif ($i == "raised-custom") { 28 | //浮动自定义颜色 29 | echo ""; 30 | } elseif ($i == "flat-custom") { 31 | //扁平自定义颜色 32 | echo ""; 33 | } 34 | ?> -------------------------------------------------------------------------------- /blocks/tm-button/preview.php: -------------------------------------------------------------------------------- 1 | TM-按钮(浮动上色)
"; 18 | echo ""; 19 | } elseif ($i == "raised-white") { 20 | //浮动白色 21 | echo "TM-按钮(浮动白色)
"; 22 | echo ""; 23 | } elseif ($i == "flat-colored") { 24 | //扁平上色 25 | echo "TM-按钮(扁平上色)
"; 26 | echo ""; 27 | } elseif ($i == "flat-white") { 28 | //扁平白色 29 | echo "TM-按钮(扁平白色)
"; 30 | echo ""; 31 | } elseif ($i == "raised-custom") { 32 | //浮动自定义颜色 33 | echo "TM-按钮(浮动自定义颜色)
"; 34 | echo ""; 35 | } elseif ($i == "flat-custom") { 36 | //扁平自定义颜色 37 | echo "TM-按钮(扁平自定义颜色)
"; 38 | echo ""; 39 | } 40 | ?> -------------------------------------------------------------------------------- /blocks/tm-panel/block.php: -------------------------------------------------------------------------------- 1 |
2 |
5 |
6 |
> 9 | 10 |
11 |
12 |
-------------------------------------------------------------------------------- /blocks/tm-panel/preview.php: -------------------------------------------------------------------------------- 1 | TM-可扩展面板
2 |
3 |
6 |
7 |
> 10 | 11 |
12 |
13 |
-------------------------------------------------------------------------------- /blocks/tm-todo-selection/block.php: -------------------------------------------------------------------------------- 1 | 6 |
-------------------------------------------------------------------------------- /blocks/tm-todo-selection/preview.php: -------------------------------------------------------------------------------- 1 | TM-TODO复选
2 | 7 | -------------------------------------------------------------------------------- /comments.php: -------------------------------------------------------------------------------- 1 | 6 | 7 |
8 | 9 |

共有 条评论

11 |
Loading...
12 |
    13 | 'ol', 16 | 'short_ping' => true, 17 | 'avatar_size' => 48, 18 | 'type' => 'comment', 19 | 'callback' => 'zmblog_comment', 20 | )); 21 | ?> 22 |
23 | 26 | 27 |
发表评论
28 |
29 |

30 | 31 |

32 | 33 |

你必须 34 | 登陆 35 | 后才能做评价.

36 | 37 |
39 | 40 |

身份登录 | 注销 43 | »

44 |
45 | 46 | 49 |
50 | 51 |
52 | 53 | 56 |
57 |
58 |
59 | 60 | 62 |
昵称不能为空
63 |
64 |
65 | 66 | 68 |
邮箱不能为空
69 |
70 |
71 | 72 | 74 |
75 |
76 | 77 |
78 | 81 | 82 | 83 | 84 |
85 | 86 |
-------------------------------------------------------------------------------- /css/comments.css: -------------------------------------------------------------------------------- 1 | /* 2 | comments 3 | */ 4 | #comments { 5 | padding-bottom: 30px; 6 | margin: 0 30px 0 30px !important; 7 | line-height: 1; 8 | } 9 | 10 | .comments-title { 11 | position: relative; 12 | padding-bottom: 10px; 13 | font-size: 18px; 14 | color: #666; 15 | border-bottom: 1px solid #f1f1f1; 16 | } 17 | 18 | h3.comments-title:after { 19 | position: absolute; 20 | content: ''; 21 | top: 29px; 22 | left: 0; 23 | width: 135px; 24 | height: 1px; 25 | background: #424242; 26 | } 27 | 28 | .commentCount { 29 | color: #424242; /*main-color*/ 30 | } 31 | 32 | .commentlist { 33 | list-style: none; 34 | margin: 10px 0 0; 35 | padding: 0; 36 | } 37 | 38 | .commentlist ol { 39 | list-style: none; 40 | } 41 | 42 | .comment { 43 | padding: 10px 0 5px; 44 | } 45 | 46 | .comment .media-left { 47 | display: table-cell; 48 | vertical-align: top; 49 | padding-right: 10px; 50 | } 51 | 52 | .comment .media-left img { 53 | border-radius: 50%; 54 | } 55 | 56 | .comment .media-body { 57 | display: table-cell; 58 | vertical-align: top; 59 | } 60 | 61 | .comment .media-body .author_name { 62 | margin-bottom: 5px; 63 | margin-top: 0; 64 | font-size: 16px; 65 | color: #777; 66 | } 67 | 68 | .comment .media-body p { 69 | font-size: 16px; 70 | line-height: 1.5em; 71 | color: #777; 72 | margin-bottom: 10px; 73 | } 74 | 75 | .comment .media-body p a { 76 | color: #000; 77 | } 78 | 79 | /*.comment .comment-metadata { 80 | margin-left: 58px; 81 | padding: 5px 0; 82 | }*/ 83 | 84 | .comment .comment-metadata span { 85 | margin-right: 15px; 86 | font-size: 13px; 87 | } 88 | 89 | .comment .comment-metadata span { 90 | font-size: 12px; 91 | color: #999; 92 | } 93 | 94 | .comment .comment-metadata span.comment-btn-reply a:hover { 95 | color: #666; 96 | } 97 | 98 | .comment .comment-metadata span.comment-btn-reply i { 99 | color: #d1d1d1; 100 | } 101 | 102 | .comment .comment-metadata span.comment-btn-reply a { 103 | color: #999 !important; 104 | font-size: 12px !important; 105 | } 106 | 107 | .commentlist > .comment { 108 | border-bottom: 1px dotted #d9d9d9; 109 | } 110 | 111 | .children { 112 | padding-left: 58px; 113 | list-style: none; 114 | } 115 | 116 | .children > .comment { 117 | border-top: 1px dotted #d9d9d9; 118 | } 119 | 120 | #reply-title { 121 | font-size: 14px; 122 | color: #666; 123 | border-bottom: 0; 124 | color: #999; 125 | margin-top: 40px; 126 | } 127 | 128 | #reply-title a:first-child, .warning-text a:first-child { 129 | display: inline-block; 130 | margin: 0 2px; 131 | padding: 2px 5px; 132 | background: #424242; /*main-color*/ 133 | color: #fff; 134 | font-size: 14px; 135 | } 136 | 137 | #reply-title #cancel-comment-reply-link { 138 | background: #fff; 139 | color: #999; 140 | } 141 | 142 | #reply-title #cancel-comment-reply-link:hover { 143 | text-decoration: underline; 144 | } 145 | 146 | .warning-text { 147 | color: #999; 148 | } 149 | 150 | .link-logout { 151 | color: #999; 152 | } 153 | 154 | .comment-navigation { 155 | width: 100%; 156 | margin: 0 auto; 157 | padding: 15px 0; 158 | text-align: center; 159 | } 160 | 161 | .comment-navigation .page-numbers { 162 | display: inline-block; 163 | padding: 9px 16px; 164 | color: #999; 165 | background: #f1f1f1; 166 | } 167 | 168 | .comment-navigation .page-numbers:hover { 169 | background: #e8e8e8; 170 | color: #666; 171 | } 172 | 173 | .comment-navigation .current, 174 | .comment-navigation .current:hover { 175 | background: #424242; /*main-color*/ 176 | color: #fff; 177 | } 178 | 179 | .commentBtn .btn { 180 | padding: 8px 0; 181 | width: 140px !important; 182 | text-align: center; 183 | background: #424242; /*main-color*/ 184 | border: 0; 185 | } 186 | 187 | .commentBtn .btn:hover { 188 | opacity: 0.8; 189 | } 190 | 191 | input#submit { 192 | color: #fff; 193 | } 194 | 195 | #respond { 196 | margin-top: -30px; 197 | } -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/favicon.ico -------------------------------------------------------------------------------- /fonts/fontawesome/css/brands.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Brands'; 7 | font-style: normal; 8 | font-weight: 400; 9 | font-display: auto; 10 | src: url("../webfonts/fa-brands-400.eot"); 11 | src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } 12 | 13 | .fab { 14 | font-family: 'Font Awesome 5 Brands'; 15 | font-weight: 400; } 16 | -------------------------------------------------------------------------------- /fonts/fontawesome/css/brands.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400} -------------------------------------------------------------------------------- /fonts/fontawesome/css/regular.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 400; 9 | font-display: auto; 10 | src: url("../webfonts/fa-regular-400.eot"); 11 | src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } 12 | 13 | .far { 14 | font-family: 'Font Awesome 5 Free'; 15 | font-weight: 400; } 16 | -------------------------------------------------------------------------------- /fonts/fontawesome/css/regular.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400} -------------------------------------------------------------------------------- /fonts/fontawesome/css/solid.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face { 6 | font-family: 'Font Awesome 5 Free'; 7 | font-style: normal; 8 | font-weight: 900; 9 | font-display: auto; 10 | src: url("../webfonts/fa-solid-900.eot"); 11 | src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } 12 | 13 | .fa, 14 | .fas { 15 | font-family: 'Font Awesome 5 Free'; 16 | font-weight: 900; } 17 | -------------------------------------------------------------------------------- /fonts/fontawesome/css/solid.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900} -------------------------------------------------------------------------------- /fonts/fontawesome/css/svg-with-js.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com 3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) 4 | */ 5 | .svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top left;transform-origin:top left}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fad.fa-inverse{color:#fff} -------------------------------------------------------------------------------- /fonts/fontawesome/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/fontawesome/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /fonts/fontawesome/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/fontawesome/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /fonts/fontawesome/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/fontawesome/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /fonts/fontawesome/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/fontawesome/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /fonts/fontawesome/webfonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/fontawesome/webfonts/fa-regular-400.eot -------------------------------------------------------------------------------- /fonts/fontawesome/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/fontawesome/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /fonts/fontawesome/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/fontawesome/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /fonts/fontawesome/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/fontawesome/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /fonts/fontawesome/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/fontawesome/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /fonts/fontawesome/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/fontawesome/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /fonts/fontawesome/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/fontawesome/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /fonts/fontawesome/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/fontawesome/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Black.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-Black.woff -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Black.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-Black.woff2 -------------------------------------------------------------------------------- /fonts/roboto/Roboto-BlackItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-BlackItalic.woff -------------------------------------------------------------------------------- /fonts/roboto/Roboto-BlackItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-BlackItalic.woff2 -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-Bold.woff -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-Bold.woff2 -------------------------------------------------------------------------------- /fonts/roboto/Roboto-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-BoldItalic.woff -------------------------------------------------------------------------------- /fonts/roboto/Roboto-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-BoldItalic.woff2 -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-Light.woff -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-Light.woff2 -------------------------------------------------------------------------------- /fonts/roboto/Roboto-LightItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-LightItalic.woff -------------------------------------------------------------------------------- /fonts/roboto/Roboto-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-LightItalic.woff2 -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-Medium.woff -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-Medium.woff2 -------------------------------------------------------------------------------- /fonts/roboto/Roboto-MediumItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-MediumItalic.woff -------------------------------------------------------------------------------- /fonts/roboto/Roboto-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-MediumItalic.woff2 -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-Regular.woff -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-Regular.woff2 -------------------------------------------------------------------------------- /fonts/roboto/Roboto-RegularItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-RegularItalic.woff -------------------------------------------------------------------------------- /fonts/roboto/Roboto-RegularItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-RegularItalic.woff2 -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Thin.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-Thin.woff -------------------------------------------------------------------------------- /fonts/roboto/Roboto-Thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-Thin.woff2 -------------------------------------------------------------------------------- /fonts/roboto/Roboto-ThinItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-ThinItalic.woff -------------------------------------------------------------------------------- /fonts/roboto/Roboto-ThinItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/fonts/roboto/Roboto-ThinItalic.woff2 -------------------------------------------------------------------------------- /footer.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | /fonts/fontawesome/css/all.min.css"> 11 | 12 | 13 | 14 |
15 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /header.php: -------------------------------------------------------------------------------- 1 | 2 | class="mdui-theme-accent-indigo"> 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | "/> 16 | 17 | "/> 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 28 | 29 | 30 | 31 | 32 |
33 | menu 35 | 36 | 37 | 40 | 41 | 42 |
43 |
44 | 45 | 48 | 49 |
"> 50 | 52 |
53 | 54 | 56 |
57 | 58 | 61 | 62 | 63 |
64 |
65 | 66 | user_nicename; ?> 67 |
68 |
69 |
70 | 71 | 72 |
73 |
74 |
75 | 76 |
77 |
78 |
80 |
user_nicename; ?>
82 |
user_description; ?>
84 |
85 |
86 |
87 | 88 | 94 | 95 | 96 |
97 |
98 |
99 | 105 | 106 | 107 |
108 |
109 | 110 | 111 |
112 |
113 | 114 | -------------------------------------------------------------------------------- /icons/material-icons/MaterialIcons-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/icons/material-icons/MaterialIcons-Regular.woff -------------------------------------------------------------------------------- /icons/material-icons/MaterialIcons-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/icons/material-icons/MaterialIcons-Regular.woff2 -------------------------------------------------------------------------------- /images/1col.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/1col.png -------------------------------------------------------------------------------- /images/2cl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/2cl.png -------------------------------------------------------------------------------- /images/2cr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/2cr.png -------------------------------------------------------------------------------- /images/index-side.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/index-side.png -------------------------------------------------------------------------------- /images/index.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/index.jpg -------------------------------------------------------------------------------- /images/random/material-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-1.png -------------------------------------------------------------------------------- /images/random/material-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-10.png -------------------------------------------------------------------------------- /images/random/material-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-11.png -------------------------------------------------------------------------------- /images/random/material-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-12.png -------------------------------------------------------------------------------- /images/random/material-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-13.png -------------------------------------------------------------------------------- /images/random/material-14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-14.png -------------------------------------------------------------------------------- /images/random/material-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-15.png -------------------------------------------------------------------------------- /images/random/material-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-16.png -------------------------------------------------------------------------------- /images/random/material-17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-17.png -------------------------------------------------------------------------------- /images/random/material-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-18.png -------------------------------------------------------------------------------- /images/random/material-19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-19.png -------------------------------------------------------------------------------- /images/random/material-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-2.png -------------------------------------------------------------------------------- /images/random/material-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-3.png -------------------------------------------------------------------------------- /images/random/material-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-4.png -------------------------------------------------------------------------------- /images/random/material-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-5.png -------------------------------------------------------------------------------- /images/random/material-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-6.png -------------------------------------------------------------------------------- /images/random/material-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-7.png -------------------------------------------------------------------------------- /images/random/material-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-8.png -------------------------------------------------------------------------------- /images/random/material-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/random/material-9.png -------------------------------------------------------------------------------- /images/sidebar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/images/sidebar.jpg -------------------------------------------------------------------------------- /inc/css/optionsframework.css: -------------------------------------------------------------------------------- 1 | /* Options Framework Admin Styles */ 2 | 3 | #optionsframework { 4 | max-width:840px; 5 | background:#fff; 6 | } 7 | #optionsframework h3 { 8 | cursor: default; 9 | background-color: #f1f1f1; 10 | border-bottom: 1px solid #ddd; 11 | padding: 12px 10px; 12 | margin: 0; 13 | } 14 | #optionsframework p { 15 | margin-bottom:0; 16 | padding-bottom:10px; 17 | } 18 | #optionsframework .section { 19 | padding:10px 10px 0; 20 | } 21 | #optionsframework .group { 22 | padding-bottom:40px; 23 | } 24 | #optionsframework .section .controls { 25 | float: left; 26 | min-width:350px; 27 | width: 54%; 28 | padding-right:2%; 29 | } 30 | #optionsframework .section .explain { 31 | max-width:38%; 32 | float: left; 33 | font-size: 12px; 34 | line-height:16px; 35 | color: #777; 36 | } 37 | #optionsframework .section-checkbox .controls { 38 | width: 98%; 39 | } 40 | #optionsframework .section-checkbox .explain { 41 | max-width:94%; 42 | } 43 | #optionsframework .controls input[type=text] { 44 | width:100%; 45 | } 46 | #optionsframework .controls input[type=text].wp-color-picker { 47 | width: 65px; 48 | } 49 | #optionsframework .controls select, #optionsframework .controls textarea { 50 | margin-bottom:10px; 51 | width:100%; 52 | } 53 | #optionsframework .section-radio label, #optionsframework .section-multicheck label { 54 | float:left; 55 | max-width:90%; 56 | line-height: 16px; 57 | margin-bottom: 5px; 58 | } 59 | #optionsframework input.checkbox, #optionsframework input.of-radio { 60 | margin: 0 10px 5px 0; 61 | float:left; 62 | clear:both; 63 | } 64 | #optionsframework .section-typography .controls { 65 | float:none; 66 | width:auto; 67 | } 68 | #optionsframework .section-typography .explain { 69 | float:none; 70 | width:auto; 71 | } 72 | #optionsframework .controls .of-typography-size { 73 | width:80px; 74 | float:left 75 | } 76 | #optionsframework .controls .of-typography-unit { 77 | width:50px; 78 | margin-left:5px; 79 | float:left 80 | } 81 | #optionsframework .controls .of-typography-face { 82 | width:100px; 83 | margin-left:5px; 84 | float:left 85 | } 86 | #optionsframework .controls .of-typography-style { 87 | width:80px; 88 | margin-left:5px; 89 | margin-right:5px; 90 | float:left 91 | } 92 | #optionsframework .section-typography .wp-picker-container { 93 | margin-top:2px; 94 | } 95 | #optionsframework .of-background-properties { 96 | clear:both; 97 | margin-top: 18px; 98 | } 99 | #optionsframework .controls .of-background-repeat { 100 | width:125px; 101 | margin-right:5px; 102 | float:left 103 | } 104 | #optionsframework .controls .of-background-position { 105 | width:125px; 106 | margin-right:5px; 107 | float:left 108 | } 109 | #optionsframework .controls .of-background-attachment { 110 | width:125px; 111 | margin-right:5px; 112 | float:left 113 | } 114 | #optionsframework .section-background .wp-picker-container { 115 | margin-bottom:10px; 116 | } 117 | #optionsframework .controls .of-radio-img-img { 118 | border:3px solid #f9f9f9; 119 | margin:0 5px 10px 0; 120 | display:none; 121 | cursor:pointer; 122 | float:left; 123 | } 124 | #optionsframework .controls .of-radio-img-selected { 125 | border:3px solid #ccc 126 | } 127 | #optionsframework .controls .of-radio-img-img:hover { 128 | opacity:.8; 129 | } 130 | #optionsframework .controls .of-border-width { 131 | width:80px; 132 | float:left 133 | } 134 | #optionsframework .controls .of-border-style { 135 | width:120px; 136 | float:left 137 | } 138 | #optionsframework .hide { 139 | display:none; 140 | } 141 | #optionsframework .of-option-image { 142 | max-width:340px; 143 | margin:3px 0 18px 0; 144 | } 145 | #optionsframework .mini .controls select, #optionsframework .section .mini .controls { 146 | width: 140px; 147 | } 148 | #optionsframework .mini .controls input, #optionsframework .mini .controls { 149 | min-width:140px; 150 | width: 140px; 151 | } 152 | #optionsframework .mini .explain { 153 | max-width:74%; 154 | } 155 | 156 | /* Editor */ 157 | 158 | #optionsframework .section-editor .explain { 159 | max-width: 98%; 160 | float:none; 161 | margin-bottom:5px; 162 | } 163 | 164 | /* Image Uploader */ 165 | 166 | #optionsframework .controls input.upload { 167 | width:80%; 168 | } 169 | #optionsframework .screenshot { 170 | float:left; 171 | margin-left:1px; 172 | position:relative; 173 | width:344px; 174 | margin-top:3px; 175 | } 176 | #optionsframework .screenshot img { 177 | background:#fafafa; 178 | border-color:#ccc #eee #eee #ccc; 179 | border-style:solid; 180 | border-width:1px; 181 | float:left; 182 | max-width:334px; 183 | padding:4px; 184 | margin-bottom:10px; 185 | } 186 | #optionsframework .screenshot .remove-image { 187 | background:url("../images/ico-delete.png") no-repeat; 188 | border:medium none; 189 | bottom:4px; 190 | display:block; 191 | float:left; 192 | height:16px; 193 | padding:0; 194 | position:absolute; 195 | left:-4px; 196 | text-indent:-9999px; 197 | width:16px; 198 | } 199 | #optionsframework .screenshot .no_image .file_link { 200 | margin-left: 20px; 201 | } 202 | #optionsframework .screenshot .no_image .remove-button { 203 | bottom: 0px; 204 | } 205 | #optionsframework .reset-button { 206 | float:left; 207 | cursor:pointer; 208 | } 209 | 210 | /* Bottom Section */ 211 | 212 | #optionsframework-submit { 213 | padding: 7px 10px; 214 | border-top: 1px solid #ddd; 215 | background-color: #f1f1f1; 216 | } 217 | #optionsframework .button-primary { 218 | float:right; 219 | } 220 | #optionsframework .section:after { 221 | content: ""; 222 | display: table; 223 | } 224 | #optionsframework .section:after { 225 | clear: both; 226 | } -------------------------------------------------------------------------------- /inc/images/ico-delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/inc/images/ico-delete.png -------------------------------------------------------------------------------- /inc/includes/class-options-framework.php: -------------------------------------------------------------------------------- 1 | 5 | * @license GPL-2.0+ 6 | * @link http://wptheming.com 7 | * @copyright 2010-2014 WP Theming 8 | */ 9 | 10 | class Options_Framework { 11 | 12 | /** 13 | * Plugin version, used for cache-busting of style and script file references. 14 | * 15 | * @since 1.7.0 16 | * @type string 17 | */ 18 | const VERSION = '1.9.1'; 19 | 20 | /** 21 | * Gets option name 22 | * 23 | * @since 1.9.0 24 | */ 25 | function get_option_name() { 26 | 27 | $name = ''; 28 | 29 | // Gets option name as defined in the theme 30 | if ( function_exists( 'optionsframework_option_name' ) ) { 31 | $name = optionsframework_option_name(); 32 | } 33 | 34 | // Fallback 35 | if ( '' == $name ) { 36 | $name = get_option( 'stylesheet' ); 37 | $name = preg_replace( "/\W/", "_", strtolower( $name ) ); 38 | } 39 | 40 | return apply_filters( 'options_framework_option_name', $name ); 41 | 42 | } 43 | 44 | /** 45 | * Wrapper for optionsframework_options() 46 | * 47 | * Allows for manipulating or setting options via 'of_options' filter 48 | * For example: 49 | * 50 | * 51 | * add_filter( 'of_options', function( $options ) { 52 | * $options[] = array( 53 | * 'name' => 'Input Text Mini', 54 | * 'desc' => 'A mini text input field.', 55 | * 'id' => 'example_text_mini', 56 | * 'std' => 'Default', 57 | * 'class' => 'mini', 58 | * 'type' => 'text' 59 | * ); 60 | * 61 | * return $options; 62 | * }); 63 | * 64 | * 65 | * Also allows for setting options via a return statement in the 66 | * options.php file. For example (in options.php): 67 | * 68 | * 69 | * return array(...); 70 | * 71 | * 72 | * @return array (by reference) 73 | */ 74 | static function &_optionsframework_options() { 75 | static $options = null; 76 | 77 | if ( !$options ) { 78 | // Load options from options.php file (if it exists) 79 | $location = apply_filters( 'options_framework_location', array( 'options.php' ) ); 80 | if ( $optionsfile = locate_template( $location ) ) { 81 | $maybe_options = load_template( $optionsfile ); 82 | if ( is_array( $maybe_options ) ) { 83 | $options = $maybe_options; 84 | } else if ( function_exists( 'optionsframework_options' ) ) { 85 | $options = optionsframework_options(); 86 | } 87 | } 88 | 89 | // Allow setting/manipulating options via filters 90 | $options = apply_filters( 'of_options', $options ); 91 | } 92 | 93 | return $options; 94 | } 95 | 96 | } -------------------------------------------------------------------------------- /inc/includes/class-options-media-uploader.php: -------------------------------------------------------------------------------- 1 | 5 | * @license GPL-2.0+ 6 | * @link http://wptheming.com 7 | * @copyright 2010-2014 WP Theming 8 | */ 9 | 10 | class Options_Framework_Media_Uploader { 11 | 12 | /** 13 | * Initialize the media uploader class 14 | * 15 | * @since 1.7.0 16 | */ 17 | public function init() { 18 | add_action( 'admin_enqueue_scripts', array( $this, 'optionsframework_media_scripts' ) ); 19 | } 20 | 21 | /** 22 | * Media Uploader Using the WordPress Media Library. 23 | * 24 | * Parameters: 25 | * 26 | * string $_id - A token to identify this field (the name). 27 | * string $_value - The value of the field, if present. 28 | * string $_desc - An optional description of the field. 29 | * 30 | */ 31 | 32 | static function optionsframework_uploader( $_id, $_value, $_desc = '', $_name = '' ) { 33 | 34 | // Gets the unique option id 35 | $options_framework = new Options_Framework; 36 | $option_name = $options_framework->get_option_name(); 37 | 38 | $output = ''; 39 | $id = ''; 40 | $class = ''; 41 | $int = ''; 42 | $value = ''; 43 | $name = ''; 44 | 45 | $id = strip_tags( strtolower( $_id ) ); 46 | 47 | // If a value is passed and we don't have a stored value, use the value that's passed through. 48 | if ( $_value != '' && $value == '' ) { 49 | $value = $_value; 50 | } 51 | 52 | if ($_name != '') { 53 | $name = $_name; 54 | } 55 | else { 56 | $name = $option_name.'['.$id.']'; 57 | } 58 | 59 | if ( $value ) { 60 | $class = ' has-file'; 61 | } 62 | $output .= '' . "\n"; 63 | if ( function_exists( 'wp_enqueue_media' ) ) { 64 | if ( ( $value == '' ) ) { 65 | $output .= '' . "\n"; 66 | } else { 67 | $output .= '' . "\n"; 68 | } 69 | } else { 70 | $output .= '

' . __( 'Upgrade your version of WordPress for full media support.', 'theme-textdomain' ) . '

'; 71 | } 72 | 73 | if ( $_desc != '' ) { 74 | $output .= '' . $_desc . '' . "\n"; 75 | } 76 | 77 | $output .= '
' . "\n"; 78 | 79 | if ( $value != '' ) { 80 | $remove = 'Remove'; 81 | $image = preg_match( '/(^.*\.jpg|jpeg|png|gif|ico*)/i', $value ); 82 | if ( $image ) { 83 | $output .= '' . $remove; 84 | } else { 85 | $parts = explode( "/", $value ); 86 | for( $i = 0; $i < sizeof( $parts ); ++$i ) { 87 | $title = $parts[$i]; 88 | } 89 | 90 | // No output preview if it's not an image. 91 | $output .= ''; 92 | 93 | // Standard generic output if it's not an image. 94 | $title = __( 'View File', 'theme-textdomain' ); 95 | $output .= '
'.$title.'
'; 96 | } 97 | } 98 | $output .= '
' . "\n"; 99 | return $output; 100 | } 101 | 102 | /** 103 | * Enqueue scripts for file uploader 104 | */ 105 | function optionsframework_media_scripts( $hook ) { 106 | 107 | $menu = Options_Framework_Admin::menu_settings(); 108 | 109 | if ( substr( $hook, -strlen( $menu['menu_slug'] ) ) !== $menu['menu_slug'] ) 110 | return; 111 | 112 | if ( function_exists( 'wp_enqueue_media' ) ) 113 | wp_enqueue_media(); 114 | 115 | wp_register_script( 'of-media-uploader', OPTIONS_FRAMEWORK_DIRECTORY .'js/media-uploader.js', array( 'jquery' ), Options_Framework::VERSION ); 116 | wp_enqueue_script( 'of-media-uploader' ); 117 | wp_localize_script( 'of-media-uploader', 'optionsframework_l10n', array( 118 | 'upload' => __( '上传', 'theme-textdomain' ), 119 | 'remove' => __( '移除', 'theme-textdomain' ) 120 | ) ); 121 | } 122 | } -------------------------------------------------------------------------------- /inc/js/media-uploader.js: -------------------------------------------------------------------------------- 1 | jQuery(document).ready(function($){ 2 | 3 | var optionsframework_upload; 4 | var optionsframework_selector; 5 | 6 | function optionsframework_add_file(event, selector) { 7 | 8 | var upload = $(".uploaded-file"), frame; 9 | var $el = $(this); 10 | optionsframework_selector = selector; 11 | 12 | event.preventDefault(); 13 | 14 | // If the media frame already exists, reopen it. 15 | if ( optionsframework_upload ) { 16 | optionsframework_upload.open(); 17 | } else { 18 | // Create the media frame. 19 | optionsframework_upload = wp.media.frames.optionsframework_upload = wp.media({ 20 | // Set the title of the modal. 21 | title: $el.data('choose'), 22 | 23 | // Customize the submit button. 24 | button: { 25 | // Set the text of the button. 26 | text: $el.data('update'), 27 | // Tell the button not to close the modal, since we're 28 | // going to refresh the page when the image is selected. 29 | close: false 30 | } 31 | }); 32 | 33 | // When an image is selected, run a callback. 34 | optionsframework_upload.on( 'select', function() { 35 | // Grab the selected attachment. 36 | var attachment = optionsframework_upload.state().get('selection').first(); 37 | optionsframework_upload.close(); 38 | optionsframework_selector.find('.upload').val(attachment.attributes.url); 39 | if ( attachment.attributes.type == 'image' ) { 40 | optionsframework_selector.find('.screenshot').empty().hide().append('Remove').slideDown('fast'); 41 | } 42 | optionsframework_selector.find('.upload-button').unbind().addClass('remove-file').removeClass('upload-button').val(optionsframework_l10n.remove); 43 | optionsframework_selector.find('.of-background-properties').slideDown(); 44 | optionsframework_selector.find('.remove-image, .remove-file').on('click', function() { 45 | optionsframework_remove_file( $(this).parents('.section') ); 46 | }); 47 | }); 48 | 49 | } 50 | 51 | // Finally, open the modal. 52 | optionsframework_upload.open(); 53 | } 54 | 55 | function optionsframework_remove_file(selector) { 56 | selector.find('.remove-image').hide(); 57 | selector.find('.upload').val(''); 58 | selector.find('.of-background-properties').hide(); 59 | selector.find('.screenshot').slideUp(); 60 | selector.find('.remove-file').unbind().addClass('upload-button').removeClass('remove-file').val(optionsframework_l10n.upload); 61 | // We don't display the upload button if .upload-notice is present 62 | // This means the user doesn't have the WordPress 3.5 Media Library Support 63 | if ( $('.section-upload .upload-notice').length > 0 ) { 64 | $('.upload-button').remove(); 65 | } 66 | selector.find('.upload-button').on('click', function(event) { 67 | optionsframework_add_file(event, $(this).parents('.section')); 68 | }); 69 | } 70 | 71 | $('.remove-image, .remove-file').on('click', function() { 72 | optionsframework_remove_file( $(this).parents('.section') ); 73 | }); 74 | 75 | $('.upload-button').click( function( event ) { 76 | optionsframework_add_file(event, $(this).parents('.section')); 77 | }); 78 | 79 | }); -------------------------------------------------------------------------------- /inc/js/options-custom.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Custom scripts needed for the colorpicker, image button selectors, 3 | * and navigation tabs. 4 | */ 5 | 6 | jQuery(document).ready(function($) { 7 | 8 | // Loads the color pickers 9 | $('.of-color').wpColorPicker(); 10 | 11 | // Image Options 12 | $('.of-radio-img-img').click(function(){ 13 | $(this).parent().parent().find('.of-radio-img-img').removeClass('of-radio-img-selected'); 14 | $(this).addClass('of-radio-img-selected'); 15 | }); 16 | 17 | $('.of-radio-img-label').hide(); 18 | $('.of-radio-img-img').show(); 19 | $('.of-radio-img-radio').hide(); 20 | 21 | // Loads tabbed sections if they exist 22 | if ( $('.nav-tab-wrapper').length > 0 ) { 23 | options_framework_tabs(); 24 | } 25 | 26 | function options_framework_tabs() { 27 | 28 | var $group = $('.group'), 29 | $navtabs = $('.nav-tab-wrapper a'), 30 | active_tab = ''; 31 | 32 | // Hides all the .group sections to start 33 | $group.hide(); 34 | 35 | // Find if a selected tab is saved in localStorage 36 | if ( typeof(localStorage) != 'undefined' ) { 37 | active_tab = localStorage.getItem('active_tab'); 38 | } 39 | 40 | // If active tab is saved and exists, load it's .group 41 | if ( active_tab != '' && $(active_tab).length ) { 42 | $(active_tab).fadeIn(); 43 | $(active_tab + '-tab').addClass('nav-tab-active'); 44 | } else { 45 | $('.group:first').fadeIn(); 46 | $('.nav-tab-wrapper a:first').addClass('nav-tab-active'); 47 | } 48 | 49 | // Bind tabs clicks 50 | $navtabs.click(function(e) { 51 | 52 | e.preventDefault(); 53 | 54 | // Remove active class from all tabs 55 | $navtabs.removeClass('nav-tab-active'); 56 | 57 | $(this).addClass('nav-tab-active').blur(); 58 | 59 | if (typeof(localStorage) != 'undefined' ) { 60 | localStorage.setItem('active_tab', $(this).attr('href') ); 61 | } 62 | 63 | var selected = $(this).attr('href'); 64 | 65 | $group.hide(); 66 | $(selected).fadeIn(); 67 | 68 | }); 69 | } 70 | 71 | }); -------------------------------------------------------------------------------- /inc/options-framework.php: -------------------------------------------------------------------------------- 1 | 7 | * @license GPL-2.0+ 8 | * @link http://wptheming.com 9 | * @copyright 2010-2014 WP Theming 10 | * 11 | * @wordpress-plugin 12 | * Plugin Name: Options Framework 13 | * Plugin URI: http://wptheming.com 14 | * Description: A framework for building theme options. 15 | * Version: 1.9.1 16 | * Author: Devin Price 17 | * Author URI: http://wptheming.com 18 | * License: GPL-2.0+ 19 | * License URI: http://www.gnu.org/licenses/gpl-2.0.txt 20 | * Text Domain: optionsframework 21 | * Domain Path: /languages 22 | */ 23 | 24 | // If this file is called directly, abort. 25 | if ( ! defined( 'WPINC' ) ) { 26 | die; 27 | } 28 | 29 | // Don't load if optionsframework_init is already defined 30 | if (is_admin() && ! function_exists( 'optionsframework_init' ) ) : 31 | 32 | function optionsframework_init() { 33 | 34 | // If user can't edit theme options, exit 35 | if ( ! current_user_can( 'edit_theme_options' ) ) { 36 | return; 37 | } 38 | 39 | // Loads the required Options Framework classes. 40 | require plugin_dir_path( __FILE__ ) . 'includes/class-options-framework.php'; 41 | require plugin_dir_path( __FILE__ ) . 'includes/class-options-framework-admin.php'; 42 | require plugin_dir_path( __FILE__ ) . 'includes/class-options-interface.php'; 43 | require plugin_dir_path( __FILE__ ) . 'includes/class-options-media-uploader.php'; 44 | require plugin_dir_path( __FILE__ ) . 'includes/class-options-sanitization.php'; 45 | 46 | // Instantiate the options page. 47 | $options_framework_admin = new Options_Framework_Admin; 48 | $options_framework_admin->init(); 49 | 50 | // Instantiate the media uploader class 51 | $options_framework_media_uploader = new Options_Framework_Media_Uploader; 52 | $options_framework_media_uploader->init(); 53 | 54 | } 55 | 56 | add_action( 'init', 'optionsframework_init', 20 ); 57 | 58 | endif; 59 | 60 | 61 | /** 62 | * Helper function to return the theme option value. 63 | * If no value has been saved, it returns $default. 64 | * Needed because options are saved as serialized strings. 65 | * 66 | * Not in a class to support backwards compatibility in themes. 67 | */ 68 | if ( ! function_exists( 'getTigerMaterial' ) ) : 69 | function getTigerMaterial( $name, $default = false ) { 70 | 71 | $option_name = ''; 72 | 73 | // Gets option name as defined in the theme 74 | if ( function_exists( 'optionsframework_option_name' ) ) { 75 | $option_name = optionsframework_option_name(); 76 | } 77 | 78 | // Fallback option name 79 | if ( '' == $option_name ) { 80 | $option_name = get_option( 'stylesheet' ); 81 | $option_name = preg_replace( "/\W/", "_", strtolower( $option_name ) ); 82 | } 83 | 84 | // Get option settings from database 85 | $options = get_option( $option_name ); 86 | 87 | // Return specific option 88 | if ( isset( $options[$name] ) ) { 89 | return $options[$name]; 90 | } 91 | 92 | return $default; 93 | } 94 | endif; 95 | 96 | /* 97 | * This is an example of how to override a default filter 98 | * for 'textarea' sanitization and $allowedposttags + embed and script. 99 | */ 100 | add_action('admin_init','optionscheck_change_santiziation', 100); 101 | function optionscheck_change_santiziation() { 102 | remove_filter( 'of_sanitize_textarea', 'of_sanitize_textarea' ); 103 | add_filter( 'of_sanitize_textarea', 'custom_sanitize_textarea' ); 104 | } 105 | function custom_sanitize_textarea($input) { 106 | global $allowedposttags; 107 | $custom_allowedtags["embed"] = array( 108 | "src" => array(), 109 | "type" => array(), 110 | "allowfullscreen" => array(), 111 | "allowscriptaccess" => array(), 112 | "height" => array(), 113 | "width" => array() 114 | ); 115 | $custom_allowedtags["script"] = array( "type" => array(),"src" => array() ); 116 | $custom_allowedtags = array_merge($custom_allowedtags, $allowedposttags); 117 | $output = wp_kses( $input, $custom_allowedtags); 118 | return $output; 119 | } -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 |
7 |
8 |
9 |
10 |
11 | 12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | 26 |
27 |
28 |
29 |
30 |
31 | 32 |
33 |
34 | 41 |
42 | 47 |
48 |
49 |
50 |
51 |

52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 | access_time 61 | 62 |
63 |
65 | chat_bubble_outline 67 | 68 |
69 |
70 |
71 | 74 |
75 |
76 |
77 |
78 | 79 | 80 | 81 |
82 |
83 | 84 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /js/ajax-comment/app.css: -------------------------------------------------------------------------------- 1 | .butterBar { 2 | margin-left: 36%; 3 | max-width: 640px; 4 | position: fixed; 5 | text-align: center; 6 | top: 0; 7 | width: 58%; 8 | z-index: 800 9 | } 10 | 11 | .butterBar--center { 12 | left: 50%; 13 | margin-left: -320px 14 | } 15 | 16 | .butterBar-message { 17 | background: rgba(255, 255, 255, 0.97); 18 | border-bottom-left-radius: 4px; 19 | border-bottom-right-radius: 4px; 20 | box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25), 0 0 1px rgba(0, 0, 0, 0.35); 21 | display: inline-block; 22 | font-size: 14px; 23 | margin-bottom: 0; 24 | padding: 12px 25px 25 | } 26 | -------------------------------------------------------------------------------- /js/ajax-comment/app.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function ($) { 2 | var __cancel = $('#cancel-comment-reply-link'), 3 | __cancel_text = __cancel.text(), 4 | __list = 'commentlist';//your comment wrapprer 5 | $(document).on("submit", "#commentform", function () { 6 | $.ajax({ 7 | url: ajaxcomment.ajax_url, 8 | data: $(this).serialize() + "&action=ajax_comment", 9 | type: $(this).attr('method'), 10 | beforeSend: faAjax.createButterbar("提交中...."), 11 | error: function (request) { 12 | var t = faAjax; 13 | t.createButterbar(request.responseText); 14 | }, 15 | success: function (data) { 16 | $('textarea').each(function () { 17 | this.value = '' 18 | }); 19 | var t = faAjax, 20 | cancel = t.I('cancel-comment-reply-link'), 21 | temp = t.I('wp-temp-form-div'), 22 | respond = t.I(t.respondId), 23 | post = t.I('comment_post_ID').value, 24 | parent = t.I('comment_parent').value; 25 | if (parent != '0') { 26 | $('#comment-nav').before('
    ' + data + '
'); 27 | } else if (!$('.' + __list).length) { 28 | if (ajaxcomment.formpostion == 'bottom') { 29 | $('#respond').before('
    ' + data + '
'); 30 | } else { 31 | $('#respond').after('
    ' + data + '
'); 32 | } 33 | 34 | } else { 35 | if (ajaxcomment.order == 'asc') { 36 | $('.' + __list).append(data); // your comments wrapper 37 | } else { 38 | $('.' + __list).prepend(data); // your comments wrapper 39 | } 40 | } 41 | t.createButterbar("提交成功"); 42 | cancel.style.display = 'none'; 43 | cancel.onclick = null; 44 | t.I('comment_parent').value = '0'; 45 | if (temp && respond) { 46 | temp.parentNode.insertBefore(respond, temp); 47 | temp.parentNode.removeChild(temp) 48 | } 49 | } 50 | }); 51 | return false; 52 | }); 53 | faAjax = { 54 | I: function (e) { 55 | return document.getElementById(e); 56 | }, 57 | clearButterbar: function (e) { 58 | if ($(".butterBar").length > 0) { 59 | $(".butterBar").remove(); 60 | } 61 | }, 62 | createButterbar: function (message) { 63 | var t = this; 64 | t.clearButterbar(); 65 | $("body").append('

' + message + '

'); 66 | setTimeout("$('.butterBar').remove()", 3000); 67 | } 68 | }; 69 | }); -------------------------------------------------------------------------------- /js/ajax-comment/main.php: -------------------------------------------------------------------------------- 1 | admin_url('admin-ajax.php'), 18 | 'order' => get_option('comment_order'), 19 | 'formpostion' => 'bottom', //默认为bottom,如果你的表单在顶部则设置为top。 20 | ) ); 21 | } 22 | 23 | endif; 24 | 25 | if(!function_exists('fa_ajax_comment_err')) : 26 | 27 | function fa_ajax_comment_err($a) { 28 | header('HTTP/1.0 500 Internal Server Error'); 29 | header('Content-Type: text/plain;charset=UTF-8'); 30 | echo $a; 31 | exit; 32 | } 33 | 34 | endif; 35 | 36 | if(!function_exists('fa_ajax_comment_callback')) : 37 | 38 | function fa_ajax_comment_callback(){ 39 | $comment = wp_handle_comment_submission( wp_unslash( $_POST ) ); 40 | if ( is_wp_error( $comment ) ) { 41 | $data = $comment->get_error_data(); 42 | if ( ! empty( $data ) ) { 43 | fa_ajax_comment_err($comment->get_error_message()); 44 | } else { 45 | exit; 46 | } 47 | } 48 | $user = wp_get_current_user(); 49 | do_action('set_comment_cookies', $comment, $user); 50 | $GLOBALS['comment'] = $comment; //根据你的评论结构自行修改,如使用默认主题则无需修改 51 | ?> 52 |
  • 53 |
    54 |
    55 | 58 |
    59 |
    60 | %s'), get_comment_author_link()); 61 | echo " " . TM_GetUserAgent($comment->comment_agent) . "

    "; ?> 62 | comment_approved == '0') : ?> 63 | 评论等待审核...
    64 | 65 | 74 |
    75 |
    76 |
    77 | li').each(function () { 6 | if ($(this).hasClass('menu-item-has-children')) { 7 | $(this).addClass('mdui-collapse-item'); 8 | $(this).removeClass('mdui-list-item'); 9 | $(this).html('
    keyboard_arrow_down
    '); 10 | mdx_haveChild = 1; 11 | $(this).children("ul").children("li").each(function () { 12 | if ($(this).hasClass('current-menu-item')) { 13 | mdx_is_c = 1; 14 | } 15 | }) 16 | if (mdx_is_c) { 17 | $(this).removeClass('current-menu-item'); 18 | $(this).removeClass('current_page_item'); 19 | $(this).addClass('mdui-collapse-item-open'); 20 | } 21 | mdx_is_c = 0; 22 | } 23 | if (mdx_haveChild) { 24 | $('#menu-nav').addClass('mdui-collapse'); 25 | $('#menu-nav').attr('mdui-collapse', ''); 26 | } 27 | }) 28 | new mdui.Collapse("#menu-nav"); 29 | }); 30 | 31 | //回到顶部 32 | var toTop = new ScrollToTop("#toTop", { 33 | showWhen: 100, 34 | speed: 50, 35 | fadeSpeed: 12 36 | }); 37 | 38 | //目录跳转 39 | $('a').click(function (event) { 40 | // 此处正则用于转换带页面URL的锚点,如 http://abc.html#div,具体正则格式据实际情况而定 41 | var targetId = $(this).attr('href'); 42 | $("html,body").animate({scrollTop: $(targetId).offset().top}, 500); 43 | }); 44 | 45 | //Ajax 评论翻页,来自 https://www.mzihen.com/wordpress-ajax-comments-pages/ 46 | $(document).ready(function ($) { 47 | $body = (window.opera) ? (document.compatMode == "CSS1Compat" ? $('html') : $('body')) : $('html,body');//commentnav ajax 48 | $(document).on('click', '.comment-navigation a', function (e) { 49 | e.preventDefault(); 50 | $.ajax({ 51 | type: "GET", 52 | url: $(this).attr('href'), 53 | beforeSend: function () { 54 | $('.comment-navigation').remove(); 55 | $('.commentlist').remove(); 56 | $('.comments-loading').slideDown(); 57 | }, 58 | dataType: "html", 59 | success: function (out) { 60 | result = $(out).find('.commentlist'); 61 | nextlink = $(out).find('.comment-navigation'); 62 | $('.comments-loading').slideUp(550); 63 | $('.comments-loading').after(result.fadeIn(800)); 64 | $('.commentlist').after(nextlink); 65 | 66 | } 67 | }); 68 | }); 69 | }); 70 | 71 | 72 | -------------------------------------------------------------------------------- /optionjs.php: -------------------------------------------------------------------------------- 1 | 3 | 4 | 46 | -------------------------------------------------------------------------------- /pages/page-links.php: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | 11 |
    12 |
    13 | 14 |
    15 |
    16 | 23 |
    24 |
    25 |
    27 |
    28 |
    29 |
    30 |
    31 |
    32 |
    33 |

    站点随机排序

    34 | '; 38 | foreach ($bookmarks as $bookmark) { 39 | echo '
  • ' . $bookmark->link_name . '
  • '; 40 | } 41 | echo ''; 42 | } 43 | ?> 44 |
    45 |

    本文采用 CC BY-NC-SA 3.0 协议进行许可,在您遵循此协议的情况下,可以自由共享与演绎本文章。

    48 |

    本文链接:

    49 |
    50 | 51 |
    52 |
    53 |
    54 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 101 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TigerBeanst/TigerMaterial/9e3db6c3e612a002c6c8ac21bb97226892f941b2/screenshot.png -------------------------------------------------------------------------------- /search.php: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 |
    9 |
    10 |
    11 |
    12 |
    13 | ' . get_search_query() . ''); ?> 14 |
    15 |
    16 |
    17 | 18 |
    19 |
    20 | 27 |
    28 |
    29 |
    31 |
    32 |
    33 |
    34 |
    35 |
    36 |
    37 |

    38 |
    39 |
    40 |
    41 |
    42 |
    43 |
    44 |
    45 | access_time 47 | 48 |
    49 |
    51 | chat_bubble_outline 53 | 54 |
    55 |
    56 |
    57 | 60 |
    61 |
    62 |
    63 |
    64 | 65 | 66 | 67 |
    68 |
    69 | 72 | -------------------------------------------------------------------------------- /shortcode.php: -------------------------------------------------------------------------------- 1 | ', 10 | '', 11 | ), 12 | $content); 13 | 14 | //可扩展面板 15 | $content = str_replace( 16 | array('[br]', '[panel]', '[/panel]', '[panel-title]', '[panel-title-open]', '[/panel-title]', '[panel-content]', '[/panel-content]'), 17 | array( 18 | '
    ', 19 | '
    ', 20 | '

    ', 21 | '
    ', 22 | '
    ', 23 | '
    ', 24 | '

    ', 25 | '

    ', 26 | ), 27 | $content); 28 | 29 | //按钮 30 | $content = str_replace( 31 | array('[btn]', '[btn-flat]','[btn-white]','[btn-white-flat]', '[/btn]', '[btn-url]', '[/btn-url]', '[btn-url-new]','[/btn-url-new]'), 32 | array( 33 | '