Skip to content

Commit 0649e19

Browse files
committed
“latestcommit”
1 parent 4408e2c commit 0649e19

File tree

152 files changed

+15341
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

152 files changed

+15341
-0
lines changed

Plugin.php

+109
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
<?php
2+
/**
3+
* 适用于typecho的页面加载进度条
4+
*
5+
* @package Process
6+
* @author 瓶子
7+
* @version 1.1.0
8+
* @link https://blog.clost.net
9+
*/
10+
11+
if (!defined('__TYPECHO_ROOT_DIR__')) exit;
12+
13+
class Process_Plugin implements Typecho_Plugin_Interface
14+
{
15+
/**
16+
* 激活插件方法,如果激活失败,直接抛出异常
17+
*
18+
* @access public
19+
* @return void
20+
* @throws Typecho_Plugin_Exception
21+
*/
22+
public static function activate()
23+
{
24+
Typecho_Plugin::factory('Process')->render = array('Process_Plugin', 'render');
25+
}
26+
27+
/**
28+
* 禁用插件方法,如果禁用失败,直接抛出异常
29+
*
30+
* @static
31+
* @access public
32+
* @return void
33+
* @throws Typecho_Plugin_Exception
34+
*/
35+
public static function deactivate(){}
36+
37+
/**
38+
* 获取插件配置面板
39+
*
40+
* @access public
41+
* @param Typecho_Widget_Helper_Form $form 配置面板
42+
* @return void
43+
*/
44+
public static function config(Typecho_Widget_Helper_Form $form)
45+
{
46+
/** 进度条主题配置 */
47+
$colors = array(
48+
'black' => '黑色',
49+
'blue' => '蓝色',
50+
'green' => '绿色',
51+
'orange' => '橙色',
52+
'pink' => '粉红色',
53+
'purple' => '紫色',
54+
'red' => '红色',
55+
'silver' => '银色',
56+
'white' => '白色',
57+
'yellow' => '黄色'
58+
);
59+
60+
$types = array(
61+
'barber-shop' => '理发店型',
62+
'big-counter' => '大字号数字型',
63+
'bounce' => '萌萌哒跳跃型',
64+
'center-atom' => '旋转桃花型',
65+
'center-circle' => '翻转圆圈型',
66+
'center-radar' => '雷达扫描型',
67+
'center-simple' => '居中常规型',
68+
'corner-indicator' => '角指示器型',
69+
'fill-left' => '左侧填充型',
70+
'flash' => 'flash控件型',
71+
'flat-top' => '平直呆板型',
72+
'loading-bar' => '缓存加载型',
73+
'minimal' => '简洁小巧型',
74+
'mac-osx' => 'Mac系统型',
75+
'material' => '材料物质型'
76+
);
77+
$ProcessColor = new Typecho_Widget_Helper_Form_Element_Select('ProcessColor', $colors, 'blue', _t('进度条颜色'));
78+
$ProcessTheme = new Typecho_Widget_Helper_Form_Element_Select('ProcessTheme', $types, 'flash', _t('进度条主题'));
79+
$form->addInput($ProcessColor);
80+
$form->addInput($ProcessTheme);
81+
}
82+
83+
/**
84+
* 个人用户的配置面板
85+
*
86+
* @access public
87+
* @param Typecho_Widget_Helper_Form $form
88+
* @return void
89+
*/
90+
public static function personalConfig(Typecho_Widget_Helper_Form $form){}
91+
92+
/**
93+
* 插件实现方法
94+
*
95+
* @access public
96+
* @return void
97+
*/
98+
public static function render()
99+
{
100+
$config = Typecho_Widget::widget('Widget_Options')->plugin('Process');
101+
$pluginUrl = "https://cdn.jsdelivr.net/gh/HubSpot/pace" ;
102+
$themeUrl = "https://cdn.jsdelivr.net/gh/HubSpot/pace" . '/themes/' . $config->ProcessColor . '/pace-theme-' . $config->ProcessTheme . '.css';
103+
echo '<link href="' . $themeUrl . '" rel="stylesheet" />';
104+
echo <<<EOT
105+
<script> paceOptions = { elements: {selectors: ['#footer']}};</script>
106+
<script src="{$pluginUrl}/pace.min.js"></script>
107+
EOT;
108+
}
109+
}

pace.min.js

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
+83
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
/* This is a compiled file, you should be editing the file in the templates directory */
2+
.pace {
3+
-webkit-pointer-events: none;
4+
pointer-events: none;
5+
6+
-webkit-user-select: none;
7+
-moz-user-select: none;
8+
user-select: none;
9+
10+
overflow: hidden;
11+
position: fixed;
12+
top: 0;
13+
left: 0;
14+
z-index: 2000;
15+
width: 100%;
16+
height: 12px;
17+
background: #fff;
18+
}
19+
20+
.pace-inactive {
21+
display: none;
22+
}
23+
24+
.pace .pace-progress {
25+
background-color: #000000;
26+
position: fixed;
27+
top: 0;
28+
bottom: 0;
29+
right: 100%;
30+
width: 100%;
31+
overflow: hidden;
32+
}
33+
34+
.pace .pace-activity {
35+
position: fixed;
36+
top: 0;
37+
right: -32px;
38+
bottom: 0;
39+
left: 0;
40+
41+
-webkit-transform: translate3d(0, 0, 0);
42+
-moz-transform: translate3d(0, 0, 0);
43+
-ms-transform: translate3d(0, 0, 0);
44+
-o-transform: translate3d(0, 0, 0);
45+
transform: translate3d(0, 0, 0);
46+
47+
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.2)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.2)), color-stop(0.75, rgba(255, 255, 255, 0.2)), color-stop(0.75, transparent), to(transparent));
48+
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
49+
background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
50+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
51+
background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);
52+
-webkit-background-size: 32px 32px;
53+
-moz-background-size: 32px 32px;
54+
-o-background-size: 32px 32px;
55+
background-size: 32px 32px;
56+
57+
-webkit-animation: pace-theme-barber-shop-motion 500ms linear infinite;
58+
-moz-animation: pace-theme-barber-shop-motion 500ms linear infinite;
59+
-ms-animation: pace-theme-barber-shop-motion 500ms linear infinite;
60+
-o-animation: pace-theme-barber-shop-motion 500ms linear infinite;
61+
animation: pace-theme-barber-shop-motion 500ms linear infinite;
62+
}
63+
64+
@-webkit-keyframes pace-theme-barber-shop-motion {
65+
0% { -webkit-transform: none; transform: none; }
66+
100% { -webkit-transform: translate(-32px, 0); transform: translate(-32px, 0); }
67+
}
68+
@-moz-keyframes pace-theme-barber-shop-motion {
69+
0% { -moz-transform: none; transform: none; }
70+
100% { -moz-transform: translate(-32px, 0); transform: translate(-32px, 0); }
71+
}
72+
@-o-keyframes pace-theme-barber-shop-motion {
73+
0% { -o-transform: none; transform: none; }
74+
100% { -o-transform: translate(-32px, 0); transform: translate(-32px, 0); }
75+
}
76+
@-ms-keyframes pace-theme-barber-shop-motion {
77+
0% { -ms-transform: none; transform: none; }
78+
100% { -ms-transform: translate(-32px, 0); transform: translate(-32px, 0); }
79+
}
80+
@keyframes pace-theme-barber-shop-motion {
81+
0% { transform: none; transform: none; }
82+
100% { transform: translate(-32px, 0); transform: translate(-32px, 0); }
83+
}

0 commit comments

Comments
 (0)