This commit is contained in:
杜恒 2021-04-25 10:29:51 +08:00
parent 05d5a20244
commit 87257a263d
15 changed files with 694 additions and 407 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -6,6 +6,9 @@ function getChildren(el, className) {
document.addEventListener('DOMContentLoaded', () => {
$('.joe_detail__article p:empty').remove();
customElements.define(
'joe-mtitle',
class JoeMtitle extends HTMLElement {
constructor() {
super();
@ -18,7 +21,10 @@ document.addEventListener('DOMContentLoaded', () => {
`;
}
}
window.customElements.define('joe-mtitle', JoeMtitle);
);
customElements.define(
'joe-mp3',
class JoeMp3 extends HTMLElement {
constructor() {
super();
@ -48,7 +54,10 @@ document.addEventListener('DOMContentLoaded', () => {
});
}
}
window.customElements.define('joe-mp3', JoeMp3);
);
customElements.define(
'joe-music',
class JoeMusic extends HTMLElement {
constructor() {
super();
@ -74,7 +83,10 @@ document.addEventListener('DOMContentLoaded', () => {
});
}
}
window.customElements.define('joe-music', JoeMusic);
);
customElements.define(
'joe-mlist',
class JoeMlist extends HTMLElement {
constructor() {
super();
@ -100,7 +112,10 @@ document.addEventListener('DOMContentLoaded', () => {
});
}
}
window.customElements.define('joe-mlist', JoeMlist);
);
customElements.define(
'joe-abtn',
class JoeAbtn extends HTMLElement {
constructor() {
super();
@ -123,7 +138,10 @@ document.addEventListener('DOMContentLoaded', () => {
`;
}
}
window.customElements.define('joe-abtn', JoeAbtn);
);
customElements.define(
'joe-anote',
class JoeAnote extends HTMLElement {
constructor() {
super();
@ -145,7 +163,10 @@ document.addEventListener('DOMContentLoaded', () => {
`;
}
}
window.customElements.define('joe-anote', JoeAnote);
);
customElements.define(
'joe-dotted',
class JoeDotted extends HTMLElement {
constructor() {
super();
@ -156,7 +177,47 @@ document.addEventListener('DOMContentLoaded', () => {
`;
}
}
window.customElements.define('joe-dotted', JoeDotted);
);
customElements.define(
'joe-cloud',
class JoeCloud extends HTMLElement {
constructor() {
super();
this.options = {
type: this.getAttribute('type') || 'default',
title: this.getAttribute('title') || '默认标题',
url: this.getAttribute('url'),
password: this.getAttribute('password')
};
const type = {
default: '默认网盘',
360: '360网盘',
bd: '百度网盘',
ty: '天翼网盘',
ct: '城通网盘',
wy: '微云网盘',
github: 'Github仓库',
lz: '蓝奏云网盘'
};
this.innerHTML = `
<span class="joe_cloud">
<div class="joe_cloud__logo _${this.options.type}"></div>
<div class="joe_cloud__describe">
<div class="joe_cloud__describe-title">${this.options.title}</div>
<div class="joe_cloud__describe-type">来源${type[this.options.type] || '默认网盘'}${this.options.password ? ' | 提取码:' + this.options.password : ''}</div>
</div>
<a class="joe_cloud__btn" href="${this.options.url}" target="_blank" rel="noopener noreferrer nofollow">
<i class="fa fa-download"></i>
</a>
</span>
`;
}
}
);
customElements.define(
'joe-hide',
class JoeHide extends HTMLElement {
constructor() {
super();
@ -174,7 +235,10 @@ document.addEventListener('DOMContentLoaded', () => {
});
}
}
window.customElements.define('joe-hide', JoeHide);
);
customElements.define(
'joe-card-default',
class JoeCardDefault extends HTMLElement {
constructor() {
super();
@ -201,7 +265,10 @@ document.addEventListener('DOMContentLoaded', () => {
}
}
}
window.customElements.define('joe-card-default', JoeCardDefault);
);
customElements.define(
'joe-message',
class JoeMessage extends HTMLElement {
constructor() {
super();
@ -217,7 +284,10 @@ document.addEventListener('DOMContentLoaded', () => {
`;
}
}
window.customElements.define('joe-message', JoeMessage);
);
customElements.define(
'joe-progress',
class JoeProgress extends HTMLElement {
constructor() {
super();
@ -235,7 +305,10 @@ document.addEventListener('DOMContentLoaded', () => {
`;
}
}
window.customElements.define('joe-progress', JoeProgress);
);
customElements.define(
'joe-callout',
class JoeCallout extends HTMLElement {
constructor() {
super();
@ -260,7 +333,10 @@ document.addEventListener('DOMContentLoaded', () => {
}
}
}
window.customElements.define('joe-callout', JoeCallout);
);
customElements.define(
'joe-card-describe',
class JoeCardDescribe extends HTMLElement {
constructor() {
super();
@ -286,7 +362,10 @@ document.addEventListener('DOMContentLoaded', () => {
}
}
}
window.customElements.define('joe-card-describe', JoeCardDescribe);
);
customElements.define(
'joe-card-list',
class JoeCardList extends HTMLElement {
constructor() {
super();
@ -308,7 +387,10 @@ document.addEventListener('DOMContentLoaded', () => {
}
}
}
window.customElements.define('joe-card-list', JoeCardList);
);
customElements.define(
'joe-timeline',
class JoeTimeline extends HTMLElement {
constructor() {
super();
@ -340,7 +422,10 @@ document.addEventListener('DOMContentLoaded', () => {
});
}
}
window.customElements.define('joe-timeline', JoeTimeline);
);
customElements.define(
'joe-collapse',
class JoeCollapse extends HTMLElement {
constructor() {
super();
@ -398,8 +483,10 @@ document.addEventListener('DOMContentLoaded', () => {
});
}
}
window.customElements.define('joe-collapse', JoeCollapse);
);
customElements.define(
'joe-dplayer',
class JoeDplayer extends HTMLElement {
constructor() {
super();
@ -414,7 +501,10 @@ document.addEventListener('DOMContentLoaded', () => {
else this.innerHTML = '播放地址未填写!';
}
}
window.customElements.define('joe-dplayer', JoeDplayer);
);
customElements.define(
'joe-bilibili',
class JoeBilibili extends HTMLElement {
constructor() {
super();
@ -426,7 +516,10 @@ document.addEventListener('DOMContentLoaded', () => {
else this.innerHTML = 'Bvid未填写';
}
}
window.customElements.define('joe-bilibili', JoeBilibili);
);
customElements.define(
'joe-tabs',
class JoeTabs extends HTMLElement {
constructor() {
super();
@ -468,7 +561,10 @@ document.addEventListener('DOMContentLoaded', () => {
});
}
}
window.customElements.define('joe-tabs', JoeTabs);
);
customElements.define(
'joe-copy',
class JoeCopy extends HTMLElement {
constructor() {
super();
@ -485,7 +581,7 @@ document.addEventListener('DOMContentLoaded', () => {
}
}
}
window.customElements.define('joe-copy', JoeCopy);
);
$('.joe_detail__article p:empty').remove();
});

File diff suppressed because one or more lines are too long

View File

@ -50,7 +50,7 @@ class Editor
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer@1.10.1/dist/APlayer.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/themes/prism-tomorrow.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="<?php Helper::options()->themeUrl('typecho/write/css/joe.write.min.css?v=202104231747') ?>">
<link rel="stylesheet" href="<?php Helper::options()->themeUrl('typecho/write/css/joe.write.min.css?v=20210425') ?>">
<script>
window.JoeConfig = {
uploadAPI: '<?php Helper::security()->index('/action/upload'); ?>',
@ -65,9 +65,9 @@ class Editor
</script>
<script src="https://cdn.jsdelivr.net/npm/aplayer@1.10.1/dist/APlayer.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/typecho-joe-next@6.2.4/plugin/prism/prism.min.js"></script>
<script src="<?php Helper::options()->themeUrl('typecho/write/js/joe.parse.min.js?v=202104231747') ?>"></script>
<script src="<?php Helper::options()->themeUrl('typecho/write/js/joe.write.chunk.js?v=202104231747') ?>"></script>
<script src="<?php Helper::options()->themeUrl('assets/js/joe.short.min.js?v=202104231747') ?>"></script>
<script src="<?php Helper::options()->themeUrl('typecho/write/js/joe.parse.min.js?v=20210425') ?>"></script>
<script src="<?php Helper::options()->themeUrl('typecho/write/js/joe.write.chunk.js?v=20210425') ?>"></script>
<script src="<?php Helper::options()->themeUrl('assets/js/joe.short.min.js?v=20210425') ?>"></script>
<?php
}
}

View File

@ -2,7 +2,7 @@
/* 获取主题当前版本号 */
function _getVersion()
{
return "6.6.6";
return "6.6.7";
};
/* 判断是否是手机 */

View File

@ -36,6 +36,9 @@ function _parseContent($post, $login)
if (strpos($content, '{abtn') !== false) {
$content = preg_replace('/{abtn([^}]*)\/}/SU', '<joe-abtn $1></joe-abtn>', $content);
}
if (strpos($content, '{cloud') !== false) {
$content = preg_replace('/{cloud([^}]*)\/}/SU', '<joe-cloud $1></joe-cloud>', $content);
}
if (strpos($content, '{anote') !== false) {
$content = preg_replace('/{anote([^}]*)\/}/SU', '<joe-anote $1></joe-anote>', $content);
}

View File

@ -1,6 +1,6 @@
{
"name": "typecho-joe-next",
"version": "6.6.6",
"version": "6.6.7",
"description": "A Theme Of Typecho",
"main": "index.php",
"keywords": [

View File

@ -18,8 +18,8 @@
<?php endif; ?>
<link rel="stylesheet" href="<?php $this->options->themeUrl('assets/css/joe.mode.min.css'); ?>">
<link rel="stylesheet" href="<?php $this->options->themeUrl('assets/css/joe.normalize.min.css'); ?>">
<link rel="stylesheet" href="<?php $this->options->themeUrl('assets/css/joe.global.min.css?v=202104231747'); ?>">
<link rel="stylesheet" href="<?php $this->options->themeUrl('assets/css/joe.responsive.min.css?v=202104231747'); ?>">
<link rel="stylesheet" href="<?php $this->options->themeUrl('assets/css/joe.global.min.css?v=20210425'); ?>">
<link rel="stylesheet" href="<?php $this->options->themeUrl('assets/css/joe.responsive.min.css?v=20210425'); ?>">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/typecho-joe-next@6.0.0/plugin/qmsg/qmsg.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/animate.css@3.7.2/animate.min.css" />
@ -40,6 +40,6 @@
<?php if ($this->options->JCursorEffects && $this->options->JCursorEffects !== 'off') : ?>
<script src="<?php $this->options->themeUrl('assets/cursor/' . $this->options->JCursorEffects); ?>" async></script>
<?php endif; ?>
<script src="<?php $this->options->themeUrl('assets/js/joe.global.min.js?v=202104231747'); ?>"></script>
<script src="<?php $this->options->themeUrl('assets/js/joe.short.min.js?v=202104231747'); ?>"></script>
<script src="<?php $this->options->themeUrl('assets/js/joe.global.min.js?v=20210425'); ?>"></script>
<script src="<?php $this->options->themeUrl('assets/js/joe.short.min.js?v=20210425'); ?>"></script>
<?php $this->options->JCustomHeadEnd() ?>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -780,13 +780,38 @@ export default class JoeAction {
<div class="fitem">
<label>网盘类型</label>
<select name="type">
<option value="默认网盘" selected>默认网盘</option>
<option value="百度网盘">百度网盘</option>
<option value="default" selected>默认网盘</option>
<option value="360">360网盘</option>
<option value="bd">百度网盘</option>
<option value="ty">天翼网盘</option>
<option value="ct">城通网盘</option>
<option value="wy">微云网盘</option>
<option value="github">Github仓库</option>
<option value="lz">蓝奏云网盘</option>
</select>
</div>
<div class="fitem">
<label>显示标题</label>
<input autocomplete="off" name="title" placeholder="请输入显示标题"/>
</div>
<div class="fitem">
<label>下载地址</label>
<input autocomplete="off" name="url" placeholder="请输入网盘地址"/>
</div>
<div class="fitem">
<label>提取密码</label>
<input autocomplete="off" name="password" placeholder="请输入提取码(非必填)"/>
</div>
`,
confirm: () => {
const type = $(".cm-modal select[name='type']").val();
const title = $(".cm-modal input[name='title']").val();
const url = $(".cm-modal input[name='url']").val();
const password = $(".cm-modal input[name='password']").val();
const str = `\n{cloud title="${title}" type="${type}" url="${url}" password="${password}"/}\n\n`;
if (this._getLineCh(cm)) this._replaceSelection(cm, '\n' + str);
else this._replaceSelection(cm, str);
cm.focus()
}
});
}

View File

@ -31,6 +31,7 @@ export default function createPreviewHtml(str) {
str = str.replace(/{dotted([^}]*)\/}/g, '<joe-dotted $1></joe-dotted>');
str = str.replace(/{message([^}]*)\/}/g, '<joe-message $1></joe-message>');
str = str.replace(/{progress([^}]*)\/}/g, '<joe-progress $1></joe-progress>');
str = str.replace(/{cloud([^}]*)\/}/g, '<joe-cloud $1></joe-cloud>');
str = str.replace(/{hide[^}]*}([\s\S]*?){\/hide}/g, '<joe-hide></joe-hide>');
str = str.replace(/{card-default([^}]*)}([\s\S]*?){\/card-default}/g, '<section style="margin-bottom: 15px"><joe-card-default $1><span class="_temp" style="display: none">$2</span></joe-card-default></section>');
str = str.replace(/{callout([^}]*)}([\s\S]*?){\/callout}/g, '<section style="margin-bottom: 15px"><joe-callout $1><span class="_temp" style="display: none">$2</span></joe-callout></section>');

View File

@ -220,11 +220,11 @@ export default [
title: '折叠面板',
innerHTML: '<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="18" height="18"><path d="M944 128H80c-8.8 0-16 7.2-16 16v736c0 8.8 7.2 16 16 16h864c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16zm-48 64v216H128V192h768zM128 832V472h768v360H128z"/><path d="M706 340.8c6.4 7.6 18 7.6 24.4 0l58.8-69.2c8.8-10.4 1.6-26.4-12-26.4H659.6c-13.6 0-21.2 16-12 26.4l58.4 69.2z"/></svg>'
},
// {
// type: 'cloud',
// title: '云盘下载',
// innerHTML: '<svg viewBox="0 0 1462 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20"><path d="M1435.063 668.453a348.891 348.891 0 0 1-102.766 248.246 348.891 348.891 0 0 1-247.003 102.84H377.71a348.891 348.891 0 0 1-247.004-102.84A348.891 348.891 0 0 1 27.941 668.526c0-93.843 36.498-181.98 102.765-248.32a348.672 348.672 0 0 1 210.36-100.937c17.553-69.486 53.54-133.12 105.544-185.125a399.067 399.067 0 0 1 284.16-117.76c130.853 0 253.806 63.927 329.143 171.154a50.25 50.25 0 0 1-82.286 57.71 302.007 302.007 0 0 0-246.71-128.293 302.08 302.08 0 0 0-286.062 206.483c-5.12 15.36-8.997 40.52-11.63 61.805a37.376 37.376 0 0 1-39.058 32.915 257.902 257.902 0 0 0-65.024 4.535 251.1 251.1 0 0 0-200.631 249.782c2.194 135.607 117.467 246.492 253.074 246.492h699.831c136.631 0 249.93-108.252 252.928-244.736a250.88 250.88 0 0 0-250.514-256.512 250.807 250.807 0 0 0-250.514 249.929 51.931 51.931 0 0 1-45.861 50.688 50.322 50.322 0 0 1-54.71-50.03c0-93.842 36.497-182.052 102.765-248.32a348.891 348.891 0 0 1 248.32-102.839c93.842 0 181.98 36.572 248.32 102.84a349.623 349.623 0 0 1 102.912 248.539z"/></svg>'
// },
{
type: 'cloud',
title: '云盘下载',
innerHTML: '<svg viewBox="0 0 1462 1024" xmlns="http://www.w3.org/2000/svg" width="20" height="20"><path d="M1435.063 668.453a348.891 348.891 0 0 1-102.766 248.246 348.891 348.891 0 0 1-247.003 102.84H377.71a348.891 348.891 0 0 1-247.004-102.84A348.891 348.891 0 0 1 27.941 668.526c0-93.843 36.498-181.98 102.765-248.32a348.672 348.672 0 0 1 210.36-100.937c17.553-69.486 53.54-133.12 105.544-185.125a399.067 399.067 0 0 1 284.16-117.76c130.853 0 253.806 63.927 329.143 171.154a50.25 50.25 0 0 1-82.286 57.71 302.007 302.007 0 0 0-246.71-128.293 302.08 302.08 0 0 0-286.062 206.483c-5.12 15.36-8.997 40.52-11.63 61.805a37.376 37.376 0 0 1-39.058 32.915 257.902 257.902 0 0 0-65.024 4.535 251.1 251.1 0 0 0-200.631 249.782c2.194 135.607 117.467 246.492 253.074 246.492h699.831c136.631 0 249.93-108.252 252.928-244.736a250.88 250.88 0 0 0-250.514-256.512 250.807 250.807 0 0 0-250.514 249.929 51.931 51.931 0 0 1-45.861 50.688 50.322 50.322 0 0 1-54.71-50.03c0-93.842 36.497-182.052 102.765-248.32a348.891 348.891 0 0 1 248.32-102.839c93.842 0 181.98 36.572 248.32 102.84a349.623 349.623 0 0 1 102.912 248.539z"/></svg>'
},
/* --------------------------- 短代码结束 --------------------------- */
{
type: 'clean',

File diff suppressed because one or more lines are too long