├── 404.php ├── LICENSE ├── README.MD ├── archive.php ├── assets ├── css │ └── beardocs.css ├── images │ └── beian.png ├── js │ ├── beardocs.js │ └── uikit.js └── plugins │ ├── autocomplete │ └── autoComplete.min.js │ ├── element-ui │ ├── fonts │ │ ├── element-icons.ttf │ │ └── element-icons.woff │ └── index.min.css │ ├── fancybox │ ├── fancybox.min.css │ └── fancybox.umd.min.js │ ├── instant.page │ └── instantpage.min.js │ ├── jquery │ └── jquery.min.js │ ├── lazyload │ ├── transition.min.css │ ├── transition.min.js │ └── visibility.min.js │ ├── menutree │ ├── menutree.min.css │ └── menutree.min.js │ └── remixicon │ ├── remixicon.css │ ├── remixicon.eot │ ├── remixicon.glyph.json │ ├── remixicon.less │ ├── remixicon.svg │ ├── remixicon.symbol.svg │ ├── remixicon.ttf │ ├── remixicon.woff │ └── remixicon.woff2 ├── comments.php ├── core ├── Core.php ├── Functions │ └── getSearch.php ├── General.php ├── Parse.php └── Tools.php ├── footer.php ├── functions.php ├── header.php ├── index.php ├── modules ├── Comments │ ├── Comments.php │ ├── Comments_n.php │ └── beargallery_comments.min.css └── Upgrade │ ├── Upgrade.php │ └── pclzip.lib.php ├── oneColumnPost.php ├── page.php ├── post.php ├── screenshot.png ├── threeColumnPost.php └── 配套插件 └── BearDocsCore ├── Action.php ├── Plugin.php ├── assets ├── css │ ├── color-picker.css │ ├── color-picker.min.css │ ├── style-rtl.min.css │ ├── style.min.css │ └── style.scss ├── fonts │ ├── dashicons.eot │ ├── dashicons.svg │ ├── dashicons.ttf │ ├── dashicons.woff │ └── dashicons.woff2 ├── images │ ├── checkerboard.png │ ├── spinner-2x.gif │ ├── spinner.gif │ ├── uploader-icons-2x.png │ ├── uploader-icons.png │ ├── wp-logo.svg │ └── wp-plugin-logo.svg ├── js │ ├── IndexNowViewScript.js │ ├── color-picker.js │ ├── color-picker.min.js │ ├── iris.js │ ├── iris.min.js │ ├── jquery │ │ └── ui │ │ │ ├── accordion.js │ │ │ ├── accordion.min.js │ │ │ ├── autocomplete.js │ │ │ ├── autocomplete.min.js │ │ │ ├── button.js │ │ │ ├── button.min.js │ │ │ ├── checkboxradio.js │ │ │ ├── checkboxradio.min.js │ │ │ ├── controlgroup.js │ │ │ ├── controlgroup.min.js │ │ │ ├── core.js │ │ │ ├── core.min.js │ │ │ ├── datepicker.js │ │ │ ├── datepicker.min.js │ │ │ ├── dialog.js │ │ │ ├── dialog.min.js │ │ │ ├── draggable.js │ │ │ ├── draggable.min.js │ │ │ ├── droppable.js │ │ │ ├── droppable.min.js │ │ │ ├── effect-blind.js │ │ │ ├── effect-blind.min.js │ │ │ ├── effect-bounce.js │ │ │ ├── effect-bounce.min.js │ │ │ ├── effect-clip.js │ │ │ ├── effect-clip.min.js │ │ │ ├── effect-drop.js │ │ │ ├── effect-drop.min.js │ │ │ ├── effect-explode.js │ │ │ ├── effect-explode.min.js │ │ │ ├── effect-fade.js │ │ │ ├── effect-fade.min.js │ │ │ ├── effect-fold.js │ │ │ ├── effect-fold.min.js │ │ │ ├── effect-highlight.js │ │ │ ├── effect-highlight.min.js │ │ │ ├── effect-puff.js │ │ │ ├── effect-puff.min.js │ │ │ ├── effect-pulsate.js │ │ │ ├── effect-pulsate.min.js │ │ │ ├── effect-scale.js │ │ │ ├── effect-scale.min.js │ │ │ ├── effect-shake.js │ │ │ ├── effect-shake.min.js │ │ │ ├── effect-size.js │ │ │ ├── effect-size.min.js │ │ │ ├── effect-slide.js │ │ │ ├── effect-slide.min.js │ │ │ ├── effect-transfer.js │ │ │ ├── effect-transfer.min.js │ │ │ ├── effect.js │ │ │ ├── effect.min.js │ │ │ ├── menu.js │ │ │ ├── menu.min.js │ │ │ ├── mouse.js │ │ │ ├── mouse.min.js │ │ │ ├── mouse.min.min.js │ │ │ ├── progressbar.js │ │ │ ├── progressbar.min.js │ │ │ ├── resizable.js │ │ │ ├── resizable.min.js │ │ │ ├── selectable.js │ │ │ ├── selectable.min.js │ │ │ ├── selectmenu.js │ │ │ ├── selectmenu.min.js │ │ │ ├── slider.js │ │ │ ├── slider.min.js │ │ │ ├── sortable.js │ │ │ ├── sortable.min.js │ │ │ ├── spinner.js │ │ │ ├── spinner.min.js │ │ │ ├── tabs.js │ │ │ ├── tabs.min.js │ │ │ ├── tooltip.js │ │ │ └── tooltip.min.js │ ├── lodash.js │ ├── lodash.min.js │ ├── main.js │ ├── main.min.js │ ├── media-editor.js │ ├── media-editor.min.js │ ├── media-models.js │ ├── media-models.min.js │ ├── media-views.js │ ├── media-views.min.js │ ├── moxie.js │ ├── plugins.min.js │ ├── plupload.js │ ├── tokeninput.js │ ├── uuidv4.min.js │ ├── wplink.js │ └── wplink.min.js └── vendors │ └── fomantic-ui │ ├── components │ ├── accordion.css │ ├── accordion.js │ ├── accordion.min.css │ ├── accordion.min.js │ ├── ad.css │ ├── ad.min.css │ ├── api.js │ ├── api.min.js │ ├── breadcrumb.css │ ├── breadcrumb.min.css │ ├── button.css │ ├── button.min.css │ ├── calendar.css │ ├── calendar.js │ ├── calendar.min.css │ ├── calendar.min.js │ ├── card.css │ ├── card.min.css │ ├── checkbox.css │ ├── checkbox.js │ ├── checkbox.min.css │ ├── checkbox.min.js │ ├── comment.css │ ├── comment.min.css │ ├── container.css │ ├── container.min.css │ ├── dimmer.css │ ├── dimmer.js │ ├── dimmer.min.css │ ├── dimmer.min.js │ ├── divider.css │ ├── divider.min.css │ ├── dropdown.css │ ├── dropdown.js │ ├── dropdown.min.css │ ├── dropdown.min.js │ ├── embed.css │ ├── embed.js │ ├── embed.min.css │ ├── embed.min.js │ ├── emoji.css │ ├── emoji.min.css │ ├── feed.css │ ├── feed.min.css │ ├── flag.css │ ├── flag.min.css │ ├── flyout.css │ ├── flyout.js │ ├── flyout.min.css │ ├── flyout.min.js │ ├── form.css │ ├── form.js │ ├── form.min.css │ ├── form.min.js │ ├── grid.css │ ├── grid.min.css │ ├── header.css │ ├── header.min.css │ ├── icon.css │ ├── icon.min.css │ ├── image.css │ ├── image.min.css │ ├── input.css │ ├── input.min.css │ ├── item.css │ ├── item.min.css │ ├── label.css │ ├── label.min.css │ ├── list.css │ ├── list.min.css │ ├── loader.css │ ├── loader.min.css │ ├── menu.css │ ├── menu.min.css │ ├── message.css │ ├── message.min.css │ ├── modal.css │ ├── modal.js │ ├── modal.min.css │ ├── modal.min.js │ ├── nag.css │ ├── nag.js │ ├── nag.min.css │ ├── nag.min.js │ ├── placeholder.css │ ├── placeholder.min.css │ ├── popup.css │ ├── popup.js │ ├── popup.min.css │ ├── popup.min.js │ ├── progress.css │ ├── progress.js │ ├── progress.min.css │ ├── progress.min.js │ ├── rail.css │ ├── rail.min.css │ ├── rating.css │ ├── rating.js │ ├── rating.min.css │ ├── rating.min.js │ ├── reset.css │ ├── reset.min.css │ ├── reveal.css │ ├── reveal.min.css │ ├── search.css │ ├── search.js │ ├── search.min.css │ ├── search.min.js │ ├── segment.css │ ├── segment.min.css │ ├── shape.css │ ├── shape.js │ ├── shape.min.css │ ├── shape.min.js │ ├── sidebar.css │ ├── sidebar.js │ ├── sidebar.min.css │ ├── sidebar.min.js │ ├── site.css │ ├── site.js │ ├── site.min.css │ ├── site.min.js │ ├── slider.css │ ├── slider.js │ ├── slider.min.css │ ├── slider.min.js │ ├── state.js │ ├── state.min.js │ ├── statistic.css │ ├── statistic.min.css │ ├── step.css │ ├── step.min.css │ ├── sticky.css │ ├── sticky.js │ ├── sticky.min.css │ ├── sticky.min.js │ ├── tab.css │ ├── tab.js │ ├── tab.min.css │ ├── tab.min.js │ ├── table.css │ ├── table.min.css │ ├── text.css │ ├── text.min.css │ ├── toast.css │ ├── toast.js │ ├── toast.min.css │ ├── toast.min.js │ ├── transition.css │ ├── transition.js │ ├── transition.min.css │ ├── transition.min.js │ ├── visibility.js │ └── visibility.min.js │ ├── semantic.min.css │ ├── semantic.min.js │ └── themes │ ├── basic │ └── assets │ │ └── fonts │ │ ├── LICENSE.txt │ │ ├── icons.woff │ │ └── icons.woff2 │ ├── default │ └── assets │ │ └── fonts │ │ ├── LICENSE_Lato.txt │ │ ├── LICENSE_icons.txt │ │ ├── Lato-Bold.woff │ │ ├── Lato-Bold.woff2 │ │ ├── Lato-BoldItalic.woff │ │ ├── Lato-BoldItalic.woff2 │ │ ├── Lato-Italic.woff │ │ ├── Lato-Italic.woff2 │ │ ├── Lato-Regular.woff │ │ ├── Lato-Regular.woff2 │ │ ├── LatoLatin-Bold.woff │ │ ├── LatoLatin-Bold.woff2 │ │ ├── LatoLatin-BoldItalic.woff │ │ ├── LatoLatin-BoldItalic.woff2 │ │ ├── LatoLatin-Italic.woff │ │ ├── LatoLatin-Italic.woff2 │ │ ├── LatoLatin-Regular.woff │ │ ├── LatoLatin-Regular.woff2 │ │ ├── brand-icons.woff │ │ ├── brand-icons.woff2 │ │ ├── icons.woff │ │ ├── icons.woff2 │ │ ├── outline-icons.woff │ │ └── outline-icons.woff2 │ ├── famfamfam │ └── assets │ │ └── images │ │ └── flags.png │ ├── github │ └── assets │ │ └── fonts │ │ ├── LICENSE.txt │ │ ├── octicons.woff │ │ └── octicons.woff2 │ └── material │ └── assets │ └── fonts │ ├── LICENSE.txt │ ├── icons.woff │ └── icons.woff2 ├── bdOptions.php ├── bdRouter.php ├── bdoptions-framework.php ├── classes ├── abstract.class.php ├── admin-options.class.php ├── fields.class.php └── setup.class.php ├── fields ├── accordion │ └── accordion.php ├── background │ └── background.php ├── backup │ └── backup.php ├── border │ └── border.php ├── button_set │ └── button_set.php ├── callback │ └── callback.php ├── checkbox │ └── checkbox.php ├── code_editor │ └── code_editor.php ├── color │ └── color.php ├── color_group │ └── color_group.php ├── content │ └── content.php ├── date │ └── date.php ├── datetime │ └── datetime.php ├── dimensions │ └── dimensions.php ├── fieldset │ └── fieldset.php ├── gallery │ └── gallery.php ├── group │ └── group.php ├── heading │ └── heading.php ├── icon │ ├── fa4-icons.php │ ├── fa5-icons.php │ └── icon.php ├── image_select │ └── image_select.php ├── index.php ├── link │ └── link.php ├── link_color │ └── link_color.php ├── map │ └── map.php ├── media │ └── media.php ├── notice │ └── notice.php ├── number │ └── number.php ├── palette │ └── palette.php ├── radio │ └── radio.php ├── repeater │ └── repeater.php ├── select │ └── select.php ├── slider │ └── slider.php ├── sortable │ └── sortable.php ├── sorter │ └── sorter.php ├── spacing │ └── spacing.php ├── spinner │ └── spinner.php ├── subheading │ └── subheading.php ├── submessage │ └── submessage.php ├── switcher │ └── switcher.php ├── tabbed │ └── tabbed.php ├── text │ └── text.php ├── textarea │ └── textarea.php ├── typography │ ├── google-fonts.php │ └── typography.php ├── upload │ └── upload.php └── wp_editor │ └── wp_editor.php ├── functions ├── Attachments.php ├── actions.php ├── class-list-util.php ├── class.wp_meta_query.php ├── class.wp_object_cache.php ├── class.wp_post.php ├── class.wp_roles.php ├── class.wp_term_query.php ├── class.wp_user_query.php ├── customize.php ├── defines.php ├── helpers.php ├── kses.php ├── media-template.php ├── options.php ├── plugin.php ├── sanitize.php ├── validate.php ├── walker.php └── wp_query.php ├── index.php ├── languages ├── zh_CN.mo └── zh_CN.po └── log └── ban_1.list /README.MD: -------------------------------------------------------------------------------- 1 | 2 |

Typecho主题 - Beardocs

3 | 一款Typecho文档类主题
4 | QQ交流群:561848356
5 | 若主题目录名为typecho-beardocs-master,则需改为beardocs,配套插件目录中的BearDocsCore需放入/usr/plugins中,否则无法正常使用。
6 | 特别声明:本主题仅适用于单纯的文档站点,请勿用于违法站点,在遵守国家法律法规的前提下合理使用,谢谢~
7 | 使用说明 8 | 最新版本[v1.1.2]下载 9 | 演示站 10 | 我的博客
11 |

Thanks

12 | IDE:JetBrains、UI FrameWork:UIKit 13 |

License

14 | GPL-3.0 license -------------------------------------------------------------------------------- /assets/images/beian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/assets/images/beian.png -------------------------------------------------------------------------------- /assets/js/beardocs.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | 'use strict'; 3 | document.addEventListener("DOMContentLoaded", function() { 4 | 5 | 6 | $(window).scroll(function() { 7 | if($(this).scrollTop() === 0) { 8 | $("#gotop").fadeOut(); 9 | } 10 | else{ 11 | $("#gotop").fadeIn(); 12 | } 13 | }); 14 | var scrollTop = $(window).scrollTop(); 15 | if (scrollTop === 0) { 16 | $("#gotop").fadeOut(); 17 | } else { 18 | $("#gotop").fadeIn(); 19 | } 20 | 21 | 22 | //实时搜索 23 | function searchEngine(query,record){ 24 | return record; 25 | } 26 | 27 | const BearDocsSearch = new autoComplete({ 28 | selector: "#searchComplete", 29 | data: { 30 | src: async query => { 31 | const result = await fetch(`${searchApi}?keyword=${query}`); 32 | const data = result.json(); 33 | document.getElementById("searchComplete").setAttribute("placeholder", BearDocsSearch.placeHolder); 34 | return data; 35 | }, 36 | keys: ['article'], 37 | }, 38 | searchEngine:searchEngine, 39 | placeHolder: "输入关键词进行实时搜索", 40 | resultsList: { 41 | element: (list, data) => { 42 | //预留方法 43 | }, 44 | noResults: true, 45 | maxResults: 100, 46 | tabSelect: true, 47 | }, 48 | resultItem: { 49 | element: (item, data) => { 50 | //预留方法 51 | }, 52 | highlight: true, 53 | }, 54 | events: { 55 | input: { 56 | focus() { 57 | if (BearDocsSearch.input.value.length) BearDocsSearch.start(); 58 | }, 59 | selection(event) { 60 | const searchResult = event.detail; 61 | BearDocsSearch.input.blur(); 62 | const selection = searchResult.selection.value; 63 | window.location.href = selection.url; 64 | BearDocsSearch.input.value = selection.article; 65 | }, 66 | }, 67 | }, 68 | }); 69 | 70 | //灯箱 71 | 72 | Fancybox.bind('[data-fancybox]', { 73 | groupAttr:false, 74 | Toolbar: { 75 | display: { 76 | left: ["infobar"], 77 | middle: [ 78 | "zoomIn", 79 | "zoomOut", 80 | "toggle1to1", 81 | "rotateCCW", 82 | "rotateCW", 83 | "flipX", 84 | "flipY", 85 | ], 86 | right: ["slideshow", "thumbs", "close"], 87 | }, 88 | }, 89 | 90 | 91 | }); 92 | $('img.lazyload') 93 | .visibility({ 94 | type : 'image', 95 | transition : 'fade in', 96 | duration : 10, 97 | }); 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | }); 108 | 109 | }()); 110 | console.log("\n %c BearDocs v1.1.2 %c https://github.com/whitebearcode/typecho-beardocs \n","border-radius:10px 0 0 10px;color: #fadfa3; background: #030307; padding:5px 0;","border-radius:0 10px 10px 0;background: #fadfa3; padding:5px 0;"); -------------------------------------------------------------------------------- /assets/plugins/element-ui/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/assets/plugins/element-ui/fonts/element-icons.ttf -------------------------------------------------------------------------------- /assets/plugins/element-ui/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/assets/plugins/element-ui/fonts/element-icons.woff -------------------------------------------------------------------------------- /assets/plugins/instant.page/instantpage.min.js: -------------------------------------------------------------------------------- 1 | let mouseoverTimer,lastTouchTimestamp;const prefetches=new Set,prefetchElement=document.createElement("link"),isSupported=prefetchElement.relList&&prefetchElement.relList.supports&&prefetchElement.relList.supports("prefetch")&&window.IntersectionObserver&&"isIntersecting"in IntersectionObserverEntry.prototype,allowQueryString="instantAllowQueryString"in document.body.dataset,allowExternalLinks="instantAllowExternalLinks"in document.body.dataset,useWhitelist="instantWhitelist"in document.body.dataset,mousedownShortcut="instantMousedownShortcut"in document.body.dataset,DELAY_TO_NOT_BE_CONSIDERED_A_TOUCH_INITIATED_ACTION=1111;let delayOnHover=65,useMousedown=!1,useMousedownOnly=!1,useViewport=!1;if("instantIntensity"in document.body.dataset){const a=document.body.dataset.instantIntensity;if("mousedown"==a.substr(0,"mousedown".length))useMousedown=!0,"mousedown-only"==a&&(useMousedownOnly=!0);else if("viewport"==a.substr(0,"viewport".length))navigator.connection&&(navigator.connection.saveData||navigator.connection.effectiveType&&navigator.connection.effectiveType.includes("2g"))||("viewport"==a?document.documentElement.clientWidth*document.documentElement.clientHeight<45e4&&(useViewport=!0):"viewport-all"==a&&(useViewport=!0));else{const b=parseInt(a);isNaN(b)||(delayOnHover=b)}}if(isSupported){const c={capture:!0,passive:!0};if(useMousedownOnly||document.addEventListener("touchstart",touchstartListener,c),useMousedown?mousedownShortcut||document.addEventListener("mousedown",mousedownListener,c):document.addEventListener("mouseover",mouseoverListener,c),mousedownShortcut&&document.addEventListener("mousedown",mousedownShortcutListener,c),useViewport){let e;(e=window.requestIdleCallback?e=>{requestIdleCallback(e,{timeout:1500})}:e=>{e()})(()=>{const t=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&(e=e.target,t.unobserve(e),preload(e.href))})});document.querySelectorAll("a").forEach(e=>{isPreloadable(e)&&t.observe(e)})})}}function touchstartListener(e){lastTouchTimestamp=performance.now();e=e.target.closest("a");isPreloadable(e)&&preload(e.href)}function mouseoverListener(e){if(!(performance.now()-lastTouchTimestamp{preload(t.href),mouseoverTimer=void 0},delayOnHover))}}function mousedownListener(e){e=e.target.closest("a");isPreloadable(e)&&preload(e.href)}function mouseoutListener(e){e.relatedTarget&&e.target.closest("a")==e.relatedTarget.closest("a")||mouseoverTimer&&(clearTimeout(mouseoverTimer),mouseoverTimer=void 0)}function mousedownShortcutListener(e){if(!(performance.now()-lastTouchTimestampresponse->setStatus(404); 10 | } 11 | //升级API 12 | if (strpos($_SERVER['REQUEST_URI'], 'bd-upgrade') !== false) { 13 | $self->response->setStatus(200); 14 | $self->setThemeFile("modules/Upgrade/Upgrade.php"); 15 | } 16 | //搜索API 17 | if (strpos($_SERVER['REQUEST_URI'], 'bd-search') !== false) { 18 | $self->response->setStatus(200); 19 | $self->setThemeFile("core/Functions/getSearch.php"); 20 | } 21 | if(@$_GET['action'] === 'ajax_avatar_get' && $_GET['email'] !== null) { 22 | $host = 'https://cravatar.cn/avatar/'; 23 | $email = strtolower( $_GET['email']); 24 | $hash = md5($email); 25 | $avatar = $host . $hash; 26 | echo $avatar; 27 | die(); 28 | } 29 | } 30 | 31 | function themeFields(Typecho_Widget_Helper_Layout $layout) 32 | { 33 | 34 | $excerpt = new Typecho_Widget_Helper_Form_Element_Textarea('excerpt', null, null, '文章摘要', '输入自定义摘要,留空自动从文章截取。'); 35 | $layout->addItem($excerpt); 36 | 37 | 38 | } -------------------------------------------------------------------------------- /core/Functions/getSearch.php: -------------------------------------------------------------------------------- 1 | select()->from('table.contents'); 10 | $keywords = $_GET['keyword']; 11 | $removeChar = ["https://", "http://", "/"]; 12 | $options = Helper::options(); 13 | 14 | $searchQuery = '%' . str_replace(' ', '%', $keywords) . '%'; 15 | if ($this->user->hasLogin()) { 16 | $select->where("table.contents.password IS NULL 17 | OR table.contents.password = '' OR table.contents.authorId = ?", $this->user->uid); 18 | } else { 19 | $select->where("table.contents.password IS NULL OR table.contents.password = ''"); 20 | } 21 | 22 | $op = $this->db->getAdapter()->getDriver() == 'pgsql' ? 'ILIKE' : 'LIKE'; 23 | $result = array( 24 | ); 25 | $md = new Markdown(); 26 | $r = $db->fetchAll($select->where("table.contents.title {$op} ? OR table.contents.text {$op} ?", $searchQuery, $searchQuery) 27 | ->where('table.contents.type = ?', 'post')->where('status = ?','publish')->limit(50)); 28 | if($r){ 29 | foreach($r as $val){ 30 | $val = Typecho_Widget::widget('Widget_Abstract_Contents')->push($val); 31 | $targetSummary = General::getExcerpt($md::convert($val['text']), 10); 32 | $expert = General::getCustomFields($val['cid'], 'excerpt'); 33 | if($expert){ 34 | $targetSummary = $expert[0]; 35 | } 36 | $targetSummary = trim( strip_tags($targetSummary)); 37 | $targetSummary = preg_replace('/\\s+/',' ',$targetSummary); 38 | if(!$targetSummary){ 39 | $targetSummary = '本篇文章暂无摘要~'; 40 | } 41 | if(strpos($targetSummary, '{bs-hide') !== false || strpos($targetSummary, '[bs-hide') !== false || strpos($targetSummary, '[bshide') !== false || strpos($targetSummary, '[bslogin') !== false){ 42 | $targetSummary = '文章包含隐藏内容,请进入文章内页查看~'; 43 | } 44 | 45 | 46 | $result[] = array( 47 | 'url' => $val['permalink'], 48 | 'article' => $val['title'], 49 | 'description' => $targetSummary, 50 | ); 51 | 52 | } 53 | $result[] = array( 54 | 'url' => "?s=".$_GET['keyword'], 55 | 'article' => "实时搜索找不到您想要的内容?", 56 | 'description' => "戳这里查看更多结果", 57 | ); 58 | } 59 | else{ 60 | $result[] = array( 61 | 'url' => "?s=".$_GET['keyword'], 62 | 'article' => "实时搜索数据为空~~~", 63 | 'description' => "可以戳这里手动搜索该关键词", 64 | ); 65 | } 66 | 67 | echo json_encode($result); 68 | 69 | 70 | ?> 71 | -------------------------------------------------------------------------------- /core/Tools.php: -------------------------------------------------------------------------------- 1 | excerptEx = array('BearToolOne','one'); 4 | Typecho_Plugin::factory('Widget_Abstract_Contents')->contentEx = array('BearToolOne','one'); 5 | class BearToolOne { 6 | public static function get_shortcode_regex($tagnames = null) 7 | { 8 | global $shortcode_tags; 9 | if (empty($tagnames)) { 10 | $tagnames = array_keys($shortcode_tags); 11 | } 12 | $tagregexp = join('|', array_map('preg_quote', $tagnames)); 13 | return 14 | '\\[' 15 | . '(\\[?)' 16 | . "($tagregexp)" 17 | . '(?![\\w-])' 18 | . '(' 19 | . '[^\\]\\/]*' 20 | . '(?:' 21 | . '\\/(?!\\])' 22 | . '[^\\]\\/]*' 23 | . ')*?' 24 | . ')' 25 | . '(?:' 26 | . '(\\/)' 27 | . '\\]' 28 | . '|' 29 | . '\\]' 30 | . '(?:' 31 | . '(' 32 | . '[^\\[]*+' 33 | . '(?:' 34 | . '\\[(?!\\/\\2\\])' 35 | . '[^\\[]*+' 36 | . ')*+' 37 | . ')' 38 | . '\\[\\/\\2\\]' 39 | . ')?' 40 | . ')' 41 | . '(\\]?)'; 42 | } 43 | 44 | public static function get_shortcode_regex2($tagnames = null) 45 | { 46 | global $shortcode_tags; 47 | if (empty($tagnames)) { 48 | $tagnames = array_keys($shortcode_tags); 49 | } 50 | $tagregexp = join('|', array_map('preg_quote', $tagnames)); 51 | return 52 | '\\{' 53 | . '(\\[?)' 54 | . "($tagregexp)" 55 | . '(?![\\w-])' 56 | . '(' 57 | . '[^\\]\\/]*' 58 | . '(?:' 59 | . '\\/(?!\\])' 60 | . '[^\\]\\/]*' 61 | . ')*?' 62 | . ')' 63 | . '(?:' 64 | . '(\\/)' 65 | . '\\}' 66 | . '|' 67 | . '\\}' 68 | . '(?:' 69 | . '(' 70 | . '[^\\[]*+' 71 | . '(?:' 72 | . '\\[(?!\\/\\2\\])' 73 | . '[^\\[]*+' 74 | . ')*+' 75 | . ')' 76 | . '\\[\\/\\2\\}' 77 | . ')?' 78 | . ')' 79 | . '(\\]?)'; 80 | } 81 | public static function excerpt_text($content) 82 | { 83 | if (strpos($content, '[log') !== false) { 84 | $pattern = self::get_shortcode_regex(array('log')); 85 | $content = preg_replace("/$pattern/", '', $content); 86 | } 87 | 88 | return $content; 89 | } 90 | public static function one($con,$obj,$text) 91 | { 92 | $text = empty($text)?$con:$text; 93 | 94 | if(!$obj->is('single')){ 95 | $text = self::excerpt_text($text); 96 | } 97 | 98 | return $text; 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /footer.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | footer(); ?> 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /post.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | need('oneColumnPost.php'); ?> 4 | 5 | need('threeColumnPost.php'); ?> 6 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/screenshot.png -------------------------------------------------------------------------------- /配套插件/BearDocsCore/Action.php: -------------------------------------------------------------------------------- 1 | pluginDir('BearDocsCore').'/bdoptions-framework.php'; 13 | } 14 | 15 | if (!class_exists('bdOptions')){ 16 | require_once \Utils\Helper::options()->pluginDir('BearDocsCore').'/bdOptions.php'; 17 | } 18 | 19 | class Action extends Widget implements \Widget\ActionInterface 20 | { 21 | 22 | 23 | 24 | /** 25 | * 初始化 26 | * @return $this 27 | */ 28 | 29 | } -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/css/color-picker.min.css: -------------------------------------------------------------------------------- 1 | /*! This file is auto-generated */ 2 | .wp-color-picker{width:80px;direction:ltr}.wp-picker-container .hidden{display:none}.wp-picker-container .wp-color-result.button{min-height:30px;margin:0 6px 6px 0;padding:0 0 0 30px;font-size:11px}.wp-color-result-text{background:#f6f7f7;border-radius:0 2px 2px 0;border-left:1px solid #c3c4c7;color:#50575e;display:block;line-height:2.54545455;padding:0 6px;text-align:center}.wp-color-result:focus,.wp-color-result:hover{background:#f6f7f7;border-color:#8c8f94;color:#1d2327}.wp-color-result:focus:after,.wp-color-result:hover:after{color:#1d2327;border-color:#a7aaad;border-left:1px solid #8c8f94}.wp-picker-container{display:inline-block}.wp-color-result:focus{border-color:#4f94d4;box-shadow:0 0 3px rgba(34,113,177,.8)}.wp-color-result:active{transform:none!important}.wp-picker-open+.wp-picker-input-wrap{display:inline-block;vertical-align:top}.wp-picker-input-wrap label{display:inline-block;vertical-align:top}.form-table .wp-picker-input-wrap label{margin:0!important}.wp-customizer .wp-picker-input-wrap .button.wp-picker-clear,.wp-customizer .wp-picker-input-wrap .button.wp-picker-default,.wp-picker-input-wrap .button.wp-picker-clear,.wp-picker-input-wrap .button.wp-picker-default{margin-left:6px;padding:0 8px;line-height:2.54545455;min-height:30px}.wp-picker-container .iris-square-slider .ui-slider-handle:focus{background-color:#50575e}.wp-picker-container .iris-picker{border-radius:0;border-color:#dcdcde;margin-top:6px}.wp-picker-container input[type=text].wp-color-picker{width:4rem;font-size:12px;font-family:monospace;line-height:2.33333333;margin:0;padding:0 5px;vertical-align:top;min-height:30px}.wp-color-picker::-webkit-input-placeholder{color:#646970}.wp-color-picker::-moz-placeholder{color:#646970;opacity:1}.wp-color-picker:-ms-input-placeholder{color:#646970}.wp-picker-container input[type=text].iris-error{background-color:#fcf0f1;border-color:#d63638;color:#000}.iris-picker .iris-strip .ui-slider-handle:focus,.iris-picker .ui-square-handle:focus{border-color:#3582c4;border-style:solid;box-shadow:0 0 0 1px #3582c4;outline:2px solid transparent}.iris-picker .iris-palette:focus{box-shadow:0 0 0 2px #3582c4}@media screen and (max-width:782px){.wp-picker-container input[type=text].wp-color-picker{width:5rem;font-size:16px;line-height:1.875;min-height:32px}.wp-customizer .wp-picker-container input[type=text].wp-color-picker{padding:0 5px}.wp-picker-input-wrap .button.wp-picker-clear,.wp-picker-input-wrap .button.wp-picker-default{padding:0 8px;line-height:2.14285714;min-height:32px}.wp-customizer .wp-picker-input-wrap .button.wp-picker-clear,.wp-customizer .wp-picker-input-wrap .button.wp-picker-default{padding:0 8px;font-size:14px;line-height:2.14285714;min-height:32px}.wp-picker-container .wp-color-result.button{padding:0 0 0 40px;font-size:14px;line-height:2.14285714}.wp-customizer .wp-picker-container .wp-color-result.button{font-size:14px;line-height:2.14285714}.wp-picker-container .wp-color-result-text{padding:0 14px;font-size:inherit;line-height:inherit}.wp-customizer .wp-picker-container .wp-color-result-text{padding:0 10px}} -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/fonts/dashicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/fonts/dashicons.eot -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/fonts/dashicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/fonts/dashicons.ttf -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/fonts/dashicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/fonts/dashicons.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/fonts/dashicons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/fonts/dashicons.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/images/checkerboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/images/checkerboard.png -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/images/spinner-2x.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/images/spinner-2x.gif -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/images/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/images/spinner.gif -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/images/uploader-icons-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/images/uploader-icons-2x.png -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/images/uploader-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/images/uploader-icons.png -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/images/wp-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/images/wp-plugin-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/IndexNowViewScript.js: -------------------------------------------------------------------------------- 1 | var uuid = uuidv4.call().split('-').join(''); 2 | var guid = document.getElementsByClassName("guid"); 3 | function handleGenerate() { 4 | uuid = uuidv4.call().split('-').join(''); 5 | for (var i = 0; i < guid.length; i++) { 6 | var processedGuid = uuid 7 | .split('') 8 | .map(tranformGuidText) 9 | .join(''); 10 | guid[i].innerHTML = `${processedGuid}`; 11 | } 12 | var keys = document.getElementsByClassName("key"); 13 | for (var i = 0; i < keys.length; i++) { 14 | keys[i].innerHTML = uuid; 15 | } 16 | 17 | setUrlHref(); 18 | } 19 | 20 | function tranformGuidText(character) { 21 | if (character >= '0' && character <= '9') { 22 | return `${character}`; 23 | } else { 24 | return `${character}`; 25 | } 26 | } 27 | 28 | 29 | 30 | var downloadIcon = document.getElementById("download-icon"); 31 | downloadIcon.addEventListener("click", function () { 32 | var downloadMessage = "确认是否下载IndexNow密钥到本地?"; 33 | if (confirm(downloadMessage)) { 34 | var filename = uuid + ".txt"; 35 | var text = uuid; 36 | download(filename, text); 37 | } 38 | }) 39 | 40 | function download(filename, text) { 41 | var element = document.createElement('a'); 42 | element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); 43 | element.setAttribute('download', filename); 44 | 45 | element.style.display = 'none'; 46 | document.body.appendChild(element); 47 | 48 | element.click(); 49 | 50 | document.body.removeChild(element); 51 | } 52 | 53 | function setUrlHref() { 54 | var urlWithKeys = document.getElementsByClassName("has-key"); 55 | for (var i = 0; i < urlWithKeys.length; i++) { 56 | urlWithKeys[i].href = urlWithKeys[i].innerText; 57 | } 58 | } 59 | 60 | handleGenerate(); 61 | 62 | 63 | let accordion = document.getElementsByClassName("custom-accordion-header"); 64 | for (let i = 0; i < accordion.length; i++) { 65 | accordion[i].addEventListener("click", () => { 66 | if (accordion[i].classList.contains("show")) { 67 | accordion[i].classList.remove("show"); 68 | } else { 69 | accordion[i].classList.add("show"); 70 | } 71 | 72 | let accordionBody = accordion[i].nextElementSibling; 73 | if (accordionBody.classList.contains("d-none")) { 74 | accordionBody.classList.remove("d-none"); 75 | } else { 76 | accordionBody.classList.add("d-none"); 77 | } 78 | }); 79 | } 80 | 81 | function toggleHamburger() { 82 | var mobileMenuList = document.getElementById("mobileMenu"); 83 | if (mobileMenuList.classList.contains("d-none")) { 84 | mobileMenuList.classList.remove("d-none"); 85 | } else { 86 | mobileMenuList.classList.add("d-none"); 87 | } 88 | } 89 | 90 | function redirectToIndexNowFaq() { 91 | var faqUrl = "https://www.indexnow.org/faq" 92 | window.location.assign(faqUrl); 93 | } 94 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-blind.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Effects Blind 1.13.0 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | 10 | //>>label: Blind Effect 11 | //>>group: Effects 12 | //>>description: Blinds the element. 13 | //>>docs: http://api.jqueryui.com/blind-effect/ 14 | //>>demos: http://jqueryui.com/effect/ 15 | 16 | ( function( factory ) { 17 | "use strict"; 18 | 19 | if ( typeof define === "function" && define.amd ) { 20 | 21 | // AMD. Register as an anonymous module. 22 | define( [ 23 | "jquery", 24 | "./effect" 25 | ], factory ); 26 | } else { 27 | 28 | // Browser globals 29 | factory( jQuery ); 30 | } 31 | } )( function( $ ) { 32 | "use strict"; 33 | 34 | return $.effects.define( "blind", "hide", function( options, done ) { 35 | var map = { 36 | up: [ "bottom", "top" ], 37 | vertical: [ "bottom", "top" ], 38 | down: [ "top", "bottom" ], 39 | left: [ "right", "left" ], 40 | horizontal: [ "right", "left" ], 41 | right: [ "left", "right" ] 42 | }, 43 | element = $( this ), 44 | direction = options.direction || "up", 45 | start = element.cssClip(), 46 | animate = { clip: $.extend( {}, start ) }, 47 | placeholder = $.effects.createPlaceholder( element ); 48 | 49 | animate.clip[ map[ direction ][ 0 ] ] = animate.clip[ map[ direction ][ 1 ] ]; 50 | 51 | if ( options.mode === "show" ) { 52 | element.cssClip( animate.clip ); 53 | if ( placeholder ) { 54 | placeholder.css( $.effects.clipToBox( animate ) ); 55 | } 56 | 57 | animate.clip = start; 58 | } 59 | 60 | if ( placeholder ) { 61 | placeholder.animate( $.effects.clipToBox( animate ), options.duration, options.easing ); 62 | } 63 | 64 | element.animate( animate, { 65 | queue: false, 66 | duration: options.duration, 67 | easing: options.easing, 68 | complete: done 69 | } ); 70 | } ); 71 | 72 | } ); 73 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-blind.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Blind 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(a){"function"===typeof define&&define.amd?define(["jquery","./effect"],a):a(jQuery)})(function(a){return a.effects.define("blind","hide",function(c,k){var f={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},d=a(this),g=c.direction||"up",h=d.cssClip(),b={clip:a.extend({},h)},e=a.effects.createPlaceholder(d);b.clip[f[g][0]]=b.clip[f[g][1]];"show"===c.mode&&(d.cssClip(b.clip),e&&e.css(a.effects.clipToBox(b)), 10 | b.clip=h);e&&e.animate(a.effects.clipToBox(b),c.duration,c.easing);d.animate(b,{queue:!1,duration:c.duration,easing:c.easing,complete:k})})}); 11 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-bounce.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Effects Bounce 1.13.0 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | 10 | //>>label: Bounce Effect 11 | //>>group: Effects 12 | //>>description: Bounces an element horizontally or vertically n times. 13 | //>>docs: http://api.jqueryui.com/bounce-effect/ 14 | //>>demos: http://jqueryui.com/effect/ 15 | 16 | ( function( factory ) { 17 | "use strict"; 18 | 19 | if ( typeof define === "function" && define.amd ) { 20 | 21 | // AMD. Register as an anonymous module. 22 | define( [ 23 | "jquery", 24 | "./effect" 25 | ], factory ); 26 | } else { 27 | 28 | // Browser globals 29 | factory( jQuery ); 30 | } 31 | } )( function( $ ) { 32 | "use strict"; 33 | 34 | return $.effects.define( "bounce", function( options, done ) { 35 | var upAnim, downAnim, refValue, 36 | element = $( this ), 37 | 38 | // Defaults: 39 | mode = options.mode, 40 | hide = mode === "hide", 41 | show = mode === "show", 42 | direction = options.direction || "up", 43 | distance = options.distance, 44 | times = options.times || 5, 45 | 46 | // Number of internal animations 47 | anims = times * 2 + ( show || hide ? 1 : 0 ), 48 | speed = options.duration / anims, 49 | easing = options.easing, 50 | 51 | // Utility: 52 | ref = ( direction === "up" || direction === "down" ) ? "top" : "left", 53 | motion = ( direction === "up" || direction === "left" ), 54 | i = 0, 55 | 56 | queuelen = element.queue().length; 57 | 58 | $.effects.createPlaceholder( element ); 59 | 60 | refValue = element.css( ref ); 61 | 62 | // Default distance for the BIGGEST bounce is the outer Distance / 3 63 | if ( !distance ) { 64 | distance = element[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3; 65 | } 66 | 67 | if ( show ) { 68 | downAnim = { opacity: 1 }; 69 | downAnim[ ref ] = refValue; 70 | 71 | // If we are showing, force opacity 0 and set the initial position 72 | // then do the "first" animation 73 | element 74 | .css( "opacity", 0 ) 75 | .css( ref, motion ? -distance * 2 : distance * 2 ) 76 | .animate( downAnim, speed, easing ); 77 | } 78 | 79 | // Start at the smallest distance if we are hiding 80 | if ( hide ) { 81 | distance = distance / Math.pow( 2, times - 1 ); 82 | } 83 | 84 | downAnim = {}; 85 | downAnim[ ref ] = refValue; 86 | 87 | // Bounces up/down/left/right then back to 0 -- times * 2 animations happen here 88 | for ( ; i < times; i++ ) { 89 | upAnim = {}; 90 | upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; 91 | 92 | element 93 | .animate( upAnim, speed, easing ) 94 | .animate( downAnim, speed, easing ); 95 | 96 | distance = hide ? distance * 2 : distance / 2; 97 | } 98 | 99 | // Last Bounce when Hiding 100 | if ( hide ) { 101 | upAnim = { opacity: 0 }; 102 | upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; 103 | 104 | element.animate( upAnim, speed, easing ); 105 | } 106 | 107 | element.queue( done ); 108 | 109 | $.effects.unshift( element, queuelen, anims + 1 ); 110 | } ); 111 | 112 | } ); 113 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-bounce.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Bounce 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(g){"function"===typeof define&&define.amd?define(["jquery","./effect"],g):g(jQuery)})(function(g){return g.effects.define("bounce",function(b,q){var c=g(this),a=b.mode,k="hide"===a;var d="show"===a;var e=b.direction||"up";a=b.distance;var m=b.times||5,n=2*m+(d||k?1:0),l=b.duration/n;b=b.easing;var h="up"===e||"down"===e?"top":"left";e="up"===e||"left"===e;var p=0,r=c.queue().length;g.effects.createPlaceholder(c);var f=c.css(h);a||(a=c["top"===h?"outerHeight":"outerWidth"]()/3);d&&(d={opacity:1}, 10 | d[h]=f,c.css("opacity",0).css(h,e?2*-a:2*a).animate(d,l,b));k&&(a/=Math.pow(2,m-1));d={};for(d[h]=f;p>label: Clip Effect 11 | //>>group: Effects 12 | //>>description: Clips the element on and off like an old TV. 13 | //>>docs: http://api.jqueryui.com/clip-effect/ 14 | //>>demos: http://jqueryui.com/effect/ 15 | 16 | ( function( factory ) { 17 | "use strict"; 18 | 19 | if ( typeof define === "function" && define.amd ) { 20 | 21 | // AMD. Register as an anonymous module. 22 | define( [ 23 | "jquery", 24 | "./effect" 25 | ], factory ); 26 | } else { 27 | 28 | // Browser globals 29 | factory( jQuery ); 30 | } 31 | } )( function( $ ) { 32 | "use strict"; 33 | 34 | return $.effects.define( "clip", "hide", function( options, done ) { 35 | var start, 36 | animate = {}, 37 | element = $( this ), 38 | direction = options.direction || "vertical", 39 | both = direction === "both", 40 | horizontal = both || direction === "horizontal", 41 | vertical = both || direction === "vertical"; 42 | 43 | start = element.cssClip(); 44 | animate.clip = { 45 | top: vertical ? ( start.bottom - start.top ) / 2 : start.top, 46 | right: horizontal ? ( start.right - start.left ) / 2 : start.right, 47 | bottom: vertical ? ( start.bottom - start.top ) / 2 : start.bottom, 48 | left: horizontal ? ( start.right - start.left ) / 2 : start.left 49 | }; 50 | 51 | $.effects.createPlaceholder( element ); 52 | 53 | if ( options.mode === "show" ) { 54 | element.cssClip( animate.clip ); 55 | animate.clip = start; 56 | } 57 | 58 | element.animate( animate, { 59 | queue: false, 60 | duration: options.duration, 61 | easing: options.easing, 62 | complete: done 63 | } ); 64 | 65 | } ); 66 | 67 | } ); 68 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-clip.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Clip 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(b){"function"===typeof define&&define.amd?define(["jquery","./effect"],b):b(jQuery)})(function(b){return b.effects.define("clip","hide",function(d,h){var e={},f=b(this);var a=d.direction||"vertical";var c="both"===a,g=c||"horizontal"===a;c=c||"vertical"===a;a=f.cssClip();e.clip={top:c?(a.bottom-a.top)/2:a.top,right:g?(a.right-a.left)/2:a.right,bottom:c?(a.bottom-a.top)/2:a.bottom,left:g?(a.right-a.left)/2:a.left};b.effects.createPlaceholder(f);"show"===d.mode&&(f.cssClip(e.clip),e.clip= 10 | a);f.animate(e,{queue:!1,duration:d.duration,easing:d.easing,complete:h})})}); 11 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-drop.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Effects Drop 1.13.0 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | 10 | //>>label: Drop Effect 11 | //>>group: Effects 12 | //>>description: Moves an element in one direction and hides it at the same time. 13 | //>>docs: http://api.jqueryui.com/drop-effect/ 14 | //>>demos: http://jqueryui.com/effect/ 15 | 16 | ( function( factory ) { 17 | "use strict"; 18 | 19 | if ( typeof define === "function" && define.amd ) { 20 | 21 | // AMD. Register as an anonymous module. 22 | define( [ 23 | "jquery", 24 | "./effect" 25 | ], factory ); 26 | } else { 27 | 28 | // Browser globals 29 | factory( jQuery ); 30 | } 31 | } )( function( $ ) { 32 | "use strict"; 33 | 34 | return $.effects.define( "drop", "hide", function( options, done ) { 35 | 36 | var distance, 37 | element = $( this ), 38 | mode = options.mode, 39 | show = mode === "show", 40 | direction = options.direction || "left", 41 | ref = ( direction === "up" || direction === "down" ) ? "top" : "left", 42 | motion = ( direction === "up" || direction === "left" ) ? "-=" : "+=", 43 | oppositeMotion = ( motion === "+=" ) ? "-=" : "+=", 44 | animation = { 45 | opacity: 0 46 | }; 47 | 48 | $.effects.createPlaceholder( element ); 49 | 50 | distance = options.distance || 51 | element[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ) / 2; 52 | 53 | animation[ ref ] = motion + distance; 54 | 55 | if ( show ) { 56 | element.css( animation ); 57 | 58 | animation[ ref ] = oppositeMotion + distance; 59 | animation.opacity = 1; 60 | } 61 | 62 | // Animate 63 | element.animate( animation, { 64 | queue: false, 65 | duration: options.duration, 66 | easing: options.easing, 67 | complete: done 68 | } ); 69 | } ); 70 | 71 | } ); 72 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-drop.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Drop 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(b){"function"===typeof define&&define.amd?define(["jquery","./effect"],b):b(jQuery)})(function(b){return b.effects.define("drop","hide",function(c,h){var e=b(this),k="show"===c.mode;var a=c.direction||"left";var f="up"===a||"down"===a?"top":"left",g="up"===a||"left"===a?"-=":"+=",l="+="===g?"-=":"+=",d={opacity:0};b.effects.createPlaceholder(e);a=c.distance||e["top"===f?"outerHeight":"outerWidth"](!0)/2;d[f]=g+a;k&&(e.css(d),d[f]=l+a,d.opacity=1);e.animate(d,{queue:!1,duration:c.duration, 10 | easing:c.easing,complete:h})})}); 11 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-explode.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Effects Explode 1.13.0 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | 10 | //>>label: Explode Effect 11 | //>>group: Effects 12 | /* eslint-disable max-len */ 13 | //>>description: Explodes an element in all directions into n pieces. Implodes an element to its original wholeness. 14 | /* eslint-enable max-len */ 15 | //>>docs: http://api.jqueryui.com/explode-effect/ 16 | //>>demos: http://jqueryui.com/effect/ 17 | 18 | ( function( factory ) { 19 | "use strict"; 20 | 21 | if ( typeof define === "function" && define.amd ) { 22 | 23 | // AMD. Register as an anonymous module. 24 | define( [ 25 | "jquery", 26 | "./effect" 27 | ], factory ); 28 | } else { 29 | 30 | // Browser globals 31 | factory( jQuery ); 32 | } 33 | } )( function( $ ) { 34 | "use strict"; 35 | 36 | return $.effects.define( "explode", "hide", function( options, done ) { 37 | 38 | var i, j, left, top, mx, my, 39 | rows = options.pieces ? Math.round( Math.sqrt( options.pieces ) ) : 3, 40 | cells = rows, 41 | element = $( this ), 42 | mode = options.mode, 43 | show = mode === "show", 44 | 45 | // Show and then visibility:hidden the element before calculating offset 46 | offset = element.show().css( "visibility", "hidden" ).offset(), 47 | 48 | // Width and height of a piece 49 | width = Math.ceil( element.outerWidth() / cells ), 50 | height = Math.ceil( element.outerHeight() / rows ), 51 | pieces = []; 52 | 53 | // Children animate complete: 54 | function childComplete() { 55 | pieces.push( this ); 56 | if ( pieces.length === rows * cells ) { 57 | animComplete(); 58 | } 59 | } 60 | 61 | // Clone the element for each row and cell. 62 | for ( i = 0; i < rows; i++ ) { // ===> 63 | top = offset.top + i * height; 64 | my = i - ( rows - 1 ) / 2; 65 | 66 | for ( j = 0; j < cells; j++ ) { // ||| 67 | left = offset.left + j * width; 68 | mx = j - ( cells - 1 ) / 2; 69 | 70 | // Create a clone of the now hidden main element that will be absolute positioned 71 | // within a wrapper div off the -left and -top equal to size of our pieces 72 | element 73 | .clone() 74 | .appendTo( "body" ) 75 | .wrap( "
" ) 76 | .css( { 77 | position: "absolute", 78 | visibility: "visible", 79 | left: -j * width, 80 | top: -i * height 81 | } ) 82 | 83 | // Select the wrapper - make it overflow: hidden and absolute positioned based on 84 | // where the original was located +left and +top equal to the size of pieces 85 | .parent() 86 | .addClass( "ui-effects-explode" ) 87 | .css( { 88 | position: "absolute", 89 | overflow: "hidden", 90 | width: width, 91 | height: height, 92 | left: left + ( show ? mx * width : 0 ), 93 | top: top + ( show ? my * height : 0 ), 94 | opacity: show ? 0 : 1 95 | } ) 96 | .animate( { 97 | left: left + ( show ? 0 : mx * width ), 98 | top: top + ( show ? 0 : my * height ), 99 | opacity: show ? 1 : 0 100 | }, options.duration || 500, options.easing, childComplete ); 101 | } 102 | } 103 | 104 | function animComplete() { 105 | element.css( { 106 | visibility: "visible" 107 | } ); 108 | $( pieces ).remove(); 109 | done(); 110 | } 111 | } ); 112 | 113 | } ); 114 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-explode.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Explode 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(a){"function"===typeof define&&define.amd?define(["jquery","./effect"],a):a(jQuery)})(function(a){return a.effects.define("explode","hide",function(e,u){function v(){m.push(this);m.length===f*l&&(g.css({visibility:"visible"}),a(m).remove(),u())}var b,c,f=e.pieces?Math.round(Math.sqrt(e.pieces)):3,l=f,g=a(this),d="show"===e.mode,n=g.show().css("visibility","hidden").offset(),h=Math.ceil(g.outerWidth()/l),k=Math.ceil(g.outerHeight()/f),m=[];for(b=0;b").css({position:"absolute",visibility:"visible",left:-c*h,top:-b*k}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h,height:k,left:r+(d?t*h:0),top:p+(d?q*k:0),opacity:d?0:1}).animate({left:r+(d?0:t*h),top:p+(d?0:q*k),opacity:d?1:0},e.duration||500,e.easing,v)}}})}); 11 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-fade.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Effects Fade 1.13.0 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | 10 | //>>label: Fade Effect 11 | //>>group: Effects 12 | //>>description: Fades the element. 13 | //>>docs: http://api.jqueryui.com/fade-effect/ 14 | //>>demos: http://jqueryui.com/effect/ 15 | 16 | ( function( factory ) { 17 | "use strict"; 18 | 19 | if ( typeof define === "function" && define.amd ) { 20 | 21 | // AMD. Register as an anonymous module. 22 | define( [ 23 | "jquery", 24 | "./effect" 25 | ], factory ); 26 | } else { 27 | 28 | // Browser globals 29 | factory( jQuery ); 30 | } 31 | } )( function( $ ) { 32 | "use strict"; 33 | 34 | return $.effects.define( "fade", "toggle", function( options, done ) { 35 | var show = options.mode === "show"; 36 | 37 | $( this ) 38 | .css( "opacity", show ? 0 : 1 ) 39 | .animate( { 40 | opacity: show ? 1 : 0 41 | }, { 42 | queue: false, 43 | duration: options.duration, 44 | easing: options.easing, 45 | complete: done 46 | } ); 47 | } ); 48 | 49 | } ); 50 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-fade.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Fade 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(a){"function"===typeof define&&define.amd?define(["jquery","./effect"],a):a(jQuery)})(function(a){return a.effects.define("fade","toggle",function(b,d){var c="show"===b.mode;a(this).css("opacity",c?0:1).animate({opacity:c?1:0},{queue:!1,duration:b.duration,easing:b.easing,complete:d})})}); 10 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-fold.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Effects Fold 1.13.0 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | 10 | //>>label: Fold Effect 11 | //>>group: Effects 12 | //>>description: Folds an element first horizontally and then vertically. 13 | //>>docs: http://api.jqueryui.com/fold-effect/ 14 | //>>demos: http://jqueryui.com/effect/ 15 | 16 | ( function( factory ) { 17 | "use strict"; 18 | 19 | if ( typeof define === "function" && define.amd ) { 20 | 21 | // AMD. Register as an anonymous module. 22 | define( [ 23 | "jquery", 24 | "./effect" 25 | ], factory ); 26 | } else { 27 | 28 | // Browser globals 29 | factory( jQuery ); 30 | } 31 | } )( function( $ ) { 32 | "use strict"; 33 | 34 | return $.effects.define( "fold", "hide", function( options, done ) { 35 | 36 | // Create element 37 | var element = $( this ), 38 | mode = options.mode, 39 | show = mode === "show", 40 | hide = mode === "hide", 41 | size = options.size || 15, 42 | percent = /([0-9]+)%/.exec( size ), 43 | horizFirst = !!options.horizFirst, 44 | ref = horizFirst ? [ "right", "bottom" ] : [ "bottom", "right" ], 45 | duration = options.duration / 2, 46 | 47 | placeholder = $.effects.createPlaceholder( element ), 48 | 49 | start = element.cssClip(), 50 | animation1 = { clip: $.extend( {}, start ) }, 51 | animation2 = { clip: $.extend( {}, start ) }, 52 | 53 | distance = [ start[ ref[ 0 ] ], start[ ref[ 1 ] ] ], 54 | 55 | queuelen = element.queue().length; 56 | 57 | if ( percent ) { 58 | size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ]; 59 | } 60 | animation1.clip[ ref[ 0 ] ] = size; 61 | animation2.clip[ ref[ 0 ] ] = size; 62 | animation2.clip[ ref[ 1 ] ] = 0; 63 | 64 | if ( show ) { 65 | element.cssClip( animation2.clip ); 66 | if ( placeholder ) { 67 | placeholder.css( $.effects.clipToBox( animation2 ) ); 68 | } 69 | 70 | animation2.clip = start; 71 | } 72 | 73 | // Animate 74 | element 75 | .queue( function( next ) { 76 | if ( placeholder ) { 77 | placeholder 78 | .animate( $.effects.clipToBox( animation1 ), duration, options.easing ) 79 | .animate( $.effects.clipToBox( animation2 ), duration, options.easing ); 80 | } 81 | 82 | next(); 83 | } ) 84 | .animate( animation1, duration, options.easing ) 85 | .animate( animation2, duration, options.easing ) 86 | .queue( done ); 87 | 88 | $.effects.unshift( element, queuelen, 4 ); 89 | } ); 90 | 91 | } ); 92 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-fold.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Fold 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(a){"function"===typeof define&&define.amd?define(["jquery","./effect"],a):a(jQuery)})(function(a){return a.effects.define("fold","hide",function(b,p){var d=a(this),g=b.mode,q="show"===g;g="hide"===g;var h=b.size||15,n=/([0-9]+)%/.exec(h),e=b.horizFirst?["right","bottom"]:["bottom","right"],k=b.duration/2,l=a.effects.createPlaceholder(d),f=d.cssClip(),m={clip:a.extend({},f)},c={clip:a.extend({},f)},r=[f[e[0]],f[e[1]]],t=d.queue().length;n&&(h=parseInt(n[1],10)/100*r[g?0:1]);m.clip[e[0]]= 10 | h;c.clip[e[0]]=h;c.clip[e[1]]=0;q&&(d.cssClip(c.clip),l&&l.css(a.effects.clipToBox(c)),c.clip=f);d.queue(function(u){l&&l.animate(a.effects.clipToBox(m),k,b.easing).animate(a.effects.clipToBox(c),k,b.easing);u()}).animate(m,k,b.easing).animate(c,k,b.easing).queue(p);a.effects.unshift(d,t,4)})}); 11 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-highlight.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Effects Highlight 1.13.0 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | 10 | //>>label: Highlight Effect 11 | //>>group: Effects 12 | //>>description: Highlights the background of an element in a defined color for a custom duration. 13 | //>>docs: http://api.jqueryui.com/highlight-effect/ 14 | //>>demos: http://jqueryui.com/effect/ 15 | 16 | ( function( factory ) { 17 | "use strict"; 18 | 19 | if ( typeof define === "function" && define.amd ) { 20 | 21 | // AMD. Register as an anonymous module. 22 | define( [ 23 | "jquery", 24 | "./effect" 25 | ], factory ); 26 | } else { 27 | 28 | // Browser globals 29 | factory( jQuery ); 30 | } 31 | } )( function( $ ) { 32 | "use strict"; 33 | 34 | return $.effects.define( "highlight", "show", function( options, done ) { 35 | var element = $( this ), 36 | animation = { 37 | backgroundColor: element.css( "backgroundColor" ) 38 | }; 39 | 40 | if ( options.mode === "hide" ) { 41 | animation.opacity = 0; 42 | } 43 | 44 | $.effects.saveStyle( element ); 45 | 46 | element 47 | .css( { 48 | backgroundImage: "none", 49 | backgroundColor: options.color || "#ffff99" 50 | } ) 51 | .animate( animation, { 52 | queue: false, 53 | duration: options.duration, 54 | easing: options.easing, 55 | complete: done 56 | } ); 57 | } ); 58 | 59 | } ); 60 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-highlight.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Highlight 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(a){"function"===typeof define&&define.amd?define(["jquery","./effect"],a):a(jQuery)})(function(a){return a.effects.define("highlight","show",function(b,e){var c=a(this),d={backgroundColor:c.css("backgroundColor")};"hide"===b.mode&&(d.opacity=0);a.effects.saveStyle(c);c.css({backgroundImage:"none",backgroundColor:b.color||"#ffff99"}).animate(d,{queue:!1,duration:b.duration,easing:b.easing,complete:e})})}); 10 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-puff.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Effects Puff 1.13.0 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | 10 | //>>label: Puff Effect 11 | //>>group: Effects 12 | //>>description: Creates a puff effect by scaling the element up and hiding it at the same time. 13 | //>>docs: http://api.jqueryui.com/puff-effect/ 14 | //>>demos: http://jqueryui.com/effect/ 15 | 16 | ( function( factory ) { 17 | "use strict"; 18 | 19 | if ( typeof define === "function" && define.amd ) { 20 | 21 | // AMD. Register as an anonymous module. 22 | define( [ 23 | "jquery", 24 | "./effect", 25 | "./effect-scale" 26 | ], factory ); 27 | } else { 28 | 29 | // Browser globals 30 | factory( jQuery ); 31 | } 32 | } )( function( $ ) { 33 | "use strict"; 34 | 35 | return $.effects.define( "puff", "hide", function( options, done ) { 36 | var newOptions = $.extend( true, {}, options, { 37 | fade: true, 38 | percent: parseInt( options.percent, 10 ) || 150 39 | } ); 40 | 41 | $.effects.effect.scale.call( this, newOptions, done ); 42 | } ); 43 | 44 | } ); 45 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-puff.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Puff 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(a){"function"===typeof define&&define.amd?define(["jquery","./effect","./effect-scale"],a):a(jQuery)})(function(a){return a.effects.define("puff","hide",function(b,c){b=a.extend(!0,{},b,{fade:!0,percent:parseInt(b.percent,10)||150});a.effects.effect.scale.call(this,b,c)})}); 10 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-pulsate.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Effects Pulsate 1.13.0 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | 10 | //>>label: Pulsate Effect 11 | //>>group: Effects 12 | //>>description: Pulsates an element n times by changing the opacity to zero and back. 13 | //>>docs: http://api.jqueryui.com/pulsate-effect/ 14 | //>>demos: http://jqueryui.com/effect/ 15 | 16 | ( function( factory ) { 17 | "use strict"; 18 | 19 | if ( typeof define === "function" && define.amd ) { 20 | 21 | // AMD. Register as an anonymous module. 22 | define( [ 23 | "jquery", 24 | "./effect" 25 | ], factory ); 26 | } else { 27 | 28 | // Browser globals 29 | factory( jQuery ); 30 | } 31 | } )( function( $ ) { 32 | "use strict"; 33 | 34 | return $.effects.define( "pulsate", "show", function( options, done ) { 35 | var element = $( this ), 36 | mode = options.mode, 37 | show = mode === "show", 38 | hide = mode === "hide", 39 | showhide = show || hide, 40 | 41 | // Showing or hiding leaves off the "last" animation 42 | anims = ( ( options.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ), 43 | duration = options.duration / anims, 44 | animateTo = 0, 45 | i = 1, 46 | queuelen = element.queue().length; 47 | 48 | if ( show || !element.is( ":visible" ) ) { 49 | element.css( "opacity", 0 ).show(); 50 | animateTo = 1; 51 | } 52 | 53 | // Anims - 1 opacity "toggles" 54 | for ( ; i < anims; i++ ) { 55 | element.animate( { opacity: animateTo }, duration, options.easing ); 56 | animateTo = 1 - animateTo; 57 | } 58 | 59 | element.animate( { opacity: animateTo }, duration, options.easing ); 60 | 61 | element.queue( done ); 62 | 63 | $.effects.unshift( element, queuelen, anims + 1 ); 64 | } ); 65 | 66 | } ); 67 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-pulsate.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Pulsate 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(b){"function"===typeof define&&define.amd?define(["jquery","./effect"],b):b(jQuery)})(function(b){return b.effects.define("pulsate","show",function(d,k){var a=b(this),c=d.mode,f="show"===c;c=2*(d.times||5)+(f||"hide"===c?1:0);var g=d.duration/c,e=0,h=1,l=a.queue().length;if(f||!a.is(":visible"))a.css("opacity",0).show(),e=1;for(;h>label: Scale Effect 11 | //>>group: Effects 12 | //>>description: Grows or shrinks an element and its content. 13 | //>>docs: http://api.jqueryui.com/scale-effect/ 14 | //>>demos: http://jqueryui.com/effect/ 15 | 16 | ( function( factory ) { 17 | "use strict"; 18 | 19 | if ( typeof define === "function" && define.amd ) { 20 | 21 | // AMD. Register as an anonymous module. 22 | define( [ 23 | "jquery", 24 | "./effect", 25 | "./effect-size" 26 | ], factory ); 27 | } else { 28 | 29 | // Browser globals 30 | factory( jQuery ); 31 | } 32 | } )( function( $ ) { 33 | "use strict"; 34 | 35 | return $.effects.define( "scale", function( options, done ) { 36 | 37 | // Create element 38 | var el = $( this ), 39 | mode = options.mode, 40 | percent = parseInt( options.percent, 10 ) || 41 | ( parseInt( options.percent, 10 ) === 0 ? 0 : ( mode !== "effect" ? 0 : 100 ) ), 42 | 43 | newOptions = $.extend( true, { 44 | from: $.effects.scaledDimensions( el ), 45 | to: $.effects.scaledDimensions( el, percent, options.direction || "both" ), 46 | origin: options.origin || [ "middle", "center" ] 47 | }, options ); 48 | 49 | // Fade option to support puff 50 | if ( options.fade ) { 51 | newOptions.from.opacity = 1; 52 | newOptions.to.opacity = 0; 53 | } 54 | 55 | $.effects.effect.size.call( this, newOptions, done ); 56 | } ); 57 | 58 | } ); 59 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-scale.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Scale 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(a){"function"===typeof define&&define.amd?define(["jquery","./effect","./effect-size"],a):a(jQuery)})(function(a){return a.effects.define("scale",function(b,e){var c=a(this),d=b.mode;d=parseInt(b.percent,10)||(0===parseInt(b.percent,10)?0:"effect"!==d?0:100);c=a.extend(!0,{from:a.effects.scaledDimensions(c),to:a.effects.scaledDimensions(c,d,b.direction||"both"),origin:b.origin||["middle","center"]},b);b.fade&&(c.from.opacity=1,c.to.opacity=0);a.effects.effect.size.call(this,c,e)})}); 10 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-shake.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Effects Shake 1.13.0 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | 10 | //>>label: Shake Effect 11 | //>>group: Effects 12 | //>>description: Shakes an element horizontally or vertically n times. 13 | //>>docs: http://api.jqueryui.com/shake-effect/ 14 | //>>demos: http://jqueryui.com/effect/ 15 | 16 | ( function( factory ) { 17 | "use strict"; 18 | 19 | if ( typeof define === "function" && define.amd ) { 20 | 21 | // AMD. Register as an anonymous module. 22 | define( [ 23 | "jquery", 24 | "./effect" 25 | ], factory ); 26 | } else { 27 | 28 | // Browser globals 29 | factory( jQuery ); 30 | } 31 | } )( function( $ ) { 32 | "use strict"; 33 | 34 | return $.effects.define( "shake", function( options, done ) { 35 | 36 | var i = 1, 37 | element = $( this ), 38 | direction = options.direction || "left", 39 | distance = options.distance || 20, 40 | times = options.times || 3, 41 | anims = times * 2 + 1, 42 | speed = Math.round( options.duration / anims ), 43 | ref = ( direction === "up" || direction === "down" ) ? "top" : "left", 44 | positiveMotion = ( direction === "up" || direction === "left" ), 45 | animation = {}, 46 | animation1 = {}, 47 | animation2 = {}, 48 | 49 | queuelen = element.queue().length; 50 | 51 | $.effects.createPlaceholder( element ); 52 | 53 | // Animation 54 | animation[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance; 55 | animation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance * 2; 56 | animation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance * 2; 57 | 58 | // Animate 59 | element.animate( animation, speed, options.easing ); 60 | 61 | // Shakes 62 | for ( ; i < times; i++ ) { 63 | element 64 | .animate( animation1, speed, options.easing ) 65 | .animate( animation2, speed, options.easing ); 66 | } 67 | 68 | element 69 | .animate( animation1, speed, options.easing ) 70 | .animate( animation, speed / 2, options.easing ) 71 | .queue( done ); 72 | 73 | $.effects.unshift( element, queuelen, anims + 1 ); 74 | } ); 75 | 76 | } ); 77 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-shake.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Shake 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(c){"function"===typeof define&&define.amd?define(["jquery","./effect"],c):c(jQuery)})(function(c){return c.effects.define("shake",function(a,q){var l=1,d=c(this),b=a.direction||"left",f=a.distance||20,m=a.times||3,n=2*m+1,e=Math.round(a.duration/n),g="up"===b||"down"===b?"top":"left";b="up"===b||"left"===b;var h={},k={},p={},r=d.queue().length;c.effects.createPlaceholder(d);h[g]=(b?"-=":"+=")+f;k[g]=(b?"+=":"-=")+2*f;p[g]=(b?"-=":"+=")+2*f;for(d.animate(h,e,a.easing);l>label: Slide Effect 11 | //>>group: Effects 12 | //>>description: Slides an element in and out of the viewport. 13 | //>>docs: http://api.jqueryui.com/slide-effect/ 14 | //>>demos: http://jqueryui.com/effect/ 15 | 16 | ( function( factory ) { 17 | "use strict"; 18 | 19 | if ( typeof define === "function" && define.amd ) { 20 | 21 | // AMD. Register as an anonymous module. 22 | define( [ 23 | "jquery", 24 | "./effect" 25 | ], factory ); 26 | } else { 27 | 28 | // Browser globals 29 | factory( jQuery ); 30 | } 31 | } )( function( $ ) { 32 | "use strict"; 33 | 34 | return $.effects.define( "slide", "show", function( options, done ) { 35 | var startClip, startRef, 36 | element = $( this ), 37 | map = { 38 | up: [ "bottom", "top" ], 39 | down: [ "top", "bottom" ], 40 | left: [ "right", "left" ], 41 | right: [ "left", "right" ] 42 | }, 43 | mode = options.mode, 44 | direction = options.direction || "left", 45 | ref = ( direction === "up" || direction === "down" ) ? "top" : "left", 46 | positiveMotion = ( direction === "up" || direction === "left" ), 47 | distance = options.distance || 48 | element[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ), 49 | animation = {}; 50 | 51 | $.effects.createPlaceholder( element ); 52 | 53 | startClip = element.cssClip(); 54 | startRef = element.position()[ ref ]; 55 | 56 | // Define hide animation 57 | animation[ ref ] = ( positiveMotion ? -1 : 1 ) * distance + startRef; 58 | animation.clip = element.cssClip(); 59 | animation.clip[ map[ direction ][ 1 ] ] = animation.clip[ map[ direction ][ 0 ] ]; 60 | 61 | // Reverse the animation if we're showing 62 | if ( mode === "show" ) { 63 | element.cssClip( animation.clip ); 64 | element.css( ref, animation[ ref ] ); 65 | animation.clip = startClip; 66 | animation[ ref ] = startRef; 67 | } 68 | 69 | // Actually animate 70 | element.animate( animation, { 71 | queue: false, 72 | duration: options.duration, 73 | easing: options.easing, 74 | complete: done 75 | } ); 76 | } ); 77 | 78 | } ); 79 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-slide.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Slide 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(c){"function"===typeof define&&define.amd?define(["jquery","./effect"],c):c(jQuery)})(function(c){return c.effects.define("slide","show",function(f,k){var b=c(this),g={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},l=f.mode,d=f.direction||"left",e="up"===d||"down"===d?"top":"left",m="up"===d||"left"===d,n=f.distance||b["top"===e?"outerHeight":"outerWidth"](!0),a={};c.effects.createPlaceholder(b);var p=b.cssClip();var h=b.position()[e];a[e]=(m?-1: 10 | 1)*n+h;a.clip=b.cssClip();a.clip[g[d][1]]=a.clip[g[d][0]];"show"===l&&(b.cssClip(a.clip),b.css(e,a[e]),a.clip=p,a[e]=h);b.animate(a,{queue:!1,duration:f.duration,easing:f.easing,complete:k})})}); 11 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-transfer.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Effects Transfer 1.13.0 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | 10 | //>>label: Transfer Effect 11 | //>>group: Effects 12 | //>>description: Displays a transfer effect from one element to another. 13 | //>>docs: http://api.jqueryui.com/transfer-effect/ 14 | //>>demos: http://jqueryui.com/effect/ 15 | 16 | ( function( factory ) { 17 | "use strict"; 18 | 19 | if ( typeof define === "function" && define.amd ) { 20 | 21 | // AMD. Register as an anonymous module. 22 | define( [ 23 | "jquery", 24 | "./effect" 25 | ], factory ); 26 | } else { 27 | 28 | // Browser globals 29 | factory( jQuery ); 30 | } 31 | } )( function( $ ) { 32 | "use strict"; 33 | 34 | var effect; 35 | if ( $.uiBackCompat !== false ) { 36 | effect = $.effects.define( "transfer", function( options, done ) { 37 | $( this ).transfer( options, done ); 38 | } ); 39 | } 40 | return effect; 41 | 42 | } ); 43 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/effect-transfer.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Effects Transfer 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(a){"function"===typeof define&&define.amd?define(["jquery","./effect"],a):a(jQuery)})(function(a){var b;!1!==a.uiBackCompat&&(b=a.effects.define("transfer",function(c,d){a(this).transfer(c,d)}));return b}); 10 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/mouse.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Mouse 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(b){"function"===typeof define&&define.amd?define(["jquery","./core"],b):b(jQuery)})(function(b){var d=!1;b(document).on("mouseup",function(){d=!1});return b.widget("ui.mouse",{version:"1.13.0",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.on("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).on("click."+this.widgetName,function(c){if(!0===b.data(c.target,a.widgetName+".preventClickEvent"))return b.removeData(c.target, 10 | a.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1});this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName);this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(a){if(!d){this._mouseMoved=!1;this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,f=1===a.which,g="string"===typeof this.options.cancel&&a.target.nodeName?b(a.target).closest(this.options.cancel).length: 11 | !1;if(!f||g||!this._mouseCapture(a))return!0;this.mouseDelayMet=!this.options.delay;this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)&&(this._mouseStarted=!1!==this._mouseStart(a),!this._mouseStarted))return a.preventDefault(),!0;!0===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(e){return c._mouseMove(e)}; 12 | this._mouseUpDelegate=function(e){return c._mouseUp(e)};this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return d=!0}},_mouseMove:function(a){if(this._mouseMoved){if(b.ui.ie&&(!document.documentMode||9>document.documentMode)&&!a.button)return this._mouseUp(a);if(!a.which)if(a.originalEvent.altKey||a.originalEvent.ctrlKey||a.originalEvent.metaKey||a.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(a)}if(a.which|| 13 | a.button)this._mouseMoved=!0;if(this._mouseStarted)return this._mouseDrag(a),a.preventDefault();this._mouseDistanceMet(a)&&this._mouseDelayMet(a)&&((this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,a))?this._mouseDrag(a):this._mouseUp(a));return!this._mouseStarted},_mouseUp:function(a){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate);this._mouseStarted&&(this._mouseStarted=!1,a.target===this._mouseDownEvent.target&& 14 | b.data(a.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(a));this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer);d=this.ignoreMissingWhich=!1;a.preventDefault()},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){}, 15 | _mouseCapture:function(){return!0}})}); 16 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/mouse.min.min.js: -------------------------------------------------------------------------------- 1 | (function(b){"function"===typeof define&&define.amd?define(["jquery","./core"],b):b(jQuery)})(function(b){var d=!1;b(document).on("mouseup",function(){d=!1});return b.widget("ui.mouse",{version:"1.13.0",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.on("mousedown."+this.widgetName,function(c){return a._mouseDown(c)}).on("click."+this.widgetName,function(c){if(!0===b.data(c.target,a.widgetName+".preventClickEvent"))return b.removeData(c.target, 2 | a.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1});this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName);this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(a){if(!d){this._mouseMoved=!1;this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var c=this,f=1===a.which,g="string"===typeof this.options.cancel&&a.target.nodeName?b(a.target).closest(this.options.cancel).length: 3 | !1;if(!f||g||!this._mouseCapture(a))return!0;(this.mouseDelayMet=!this.options.delay)||(this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=!0},this.options.delay));if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)&&(this._mouseStarted=!1!==this._mouseStart(a),!this._mouseStarted))return a.preventDefault(),!0;!0===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(e){return c._mouseMove(e)}; 4 | this._mouseUpDelegate=function(e){return c._mouseUp(e)};this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return d=!0}},_mouseMove:function(a){if(this._mouseMoved){if(b.ui.ie&&(!document.documentMode||9>document.documentMode)&&!a.button)return this._mouseUp(a);if(!a.which)if(a.originalEvent.altKey||a.originalEvent.ctrlKey||a.originalEvent.metaKey||a.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(a)}if(a.which|| 5 | a.button)this._mouseMoved=!0;if(this._mouseStarted)return this._mouseDrag(a),a.preventDefault();this._mouseDistanceMet(a)&&this._mouseDelayMet(a)&&((this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,a))?this._mouseDrag(a):this._mouseUp(a));return!this._mouseStarted},_mouseUp:function(a){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate);this._mouseStarted&&(this._mouseStarted=!1,a.target===this._mouseDownEvent.target&& 6 | b.data(a.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(a));this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer);d=this.ignoreMissingWhich=!1;a.preventDefault()},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){}, 7 | _mouseCapture:function(){return!0}})}); 8 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/jquery/ui/progressbar.min.js: -------------------------------------------------------------------------------- 1 | /* 2 | jQuery UI Progressbar 1.13.0 3 | http://jqueryui.com 4 | 5 | Copyright jQuery Foundation and other contributors 6 | Released under the MIT license. 7 | http://jquery.org/license 8 | */ 9 | (function(c){"function"===typeof define&&define.amd?define(["jquery","./core"],c):c(jQuery)})(function(c){return c.widget("ui.progressbar",{version:"1.13.0",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue();this.element.attr({role:"progressbar","aria-valuemin":this.min});this._addClass("ui-progressbar", 10 | "ui-widget ui-widget-content");this.valueDiv=c("
").appendTo(this.element);this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header");this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow");this.valueDiv.remove()},value:function(a){if(void 0===a)return this.options.value;this.options.value=this._constrainedValue(a);this._refreshValue()},_constrainedValue:function(a){void 0===a&&(a=this.options.value);this.indeterminate=!1=== 11 | a;"number"!==typeof a&&(a=0);return this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,a))},_setOptions:function(a){var b=a.value;delete a.value;this._super(a);this.options.value=this._constrainedValue(b);this._refreshValue()},_setOption:function(a,b){"max"===a&&(b=Math.max(this.min,b));this._super(a,b)},_setOptionDisabled:function(a){this._super(a);this.element.attr("aria-disabled",a);this._toggleClass(null,"ui-state-disabled",!!a)},_percentage:function(){return this.indeterminate? 12 | 100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var a=this.options.value,b=this._percentage();this.valueDiv.toggle(this.indeterminate||a>this.min).width(b.toFixed(0)+"%");this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,a===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate);this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=c("
").appendTo(this.valueDiv),this._addClass(this.overlayDiv, 13 | "ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":a}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null));this.oldValue!==a&&(this.oldValue=a,this._trigger("change"));a===this.options.max&&this._trigger("complete")}})}); 14 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/js/uuidv4.min.js: -------------------------------------------------------------------------------- 1 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).uuidv4=e()}(this,(function(){"use strict";var t,e=new Uint8Array(16);function o(){if(!t&&!(t="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return t(e)}var n=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function r(t){return"string"==typeof t&&n.test(t)}for(var i=[],u=0;u<256;++u)i.push((u+256).toString(16).substr(1));return function(t,e,n){var u=(t=t||{}).random||(t.rng||o)();if(u[6]=15&u[6]|64,u[8]=63&u[8]|128,e){n=n||0;for(var f=0;f<16;++f)e[n+f]=u[f];return e}return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=(i[t[e+0]]+i[t[e+1]]+i[t[e+2]]+i[t[e+3]]+"-"+i[t[e+4]]+i[t[e+5]]+"-"+i[t[e+6]]+i[t[e+7]]+"-"+i[t[e+8]]+i[t[e+9]]+"-"+i[t[e+10]]+i[t[e+11]]+i[t[e+12]]+i[t[e+13]]+i[t[e+14]]+i[t[e+15]]).toLowerCase();if(!r(o))throw TypeError("Stringified UUID is invalid");return o}(u)}})); -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/ad.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Ad 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Copyright 2013 Contributors 7 | * Released under the MIT license 8 | * https://opensource.org/licenses/MIT 9 | * 10 | */.ui.ad{display:block;overflow:hidden;margin:1em 0}.ui.ad:first-child{margin:0}.ui.ad:last-child{margin:0}.ui.ad iframe{margin:0;padding:0;border:none;overflow:hidden}.ui.leaderboard.ad{width:728px;height:90px}.ui[class*="medium rectangle"].ad{width:300px;height:250px}.ui[class*="large rectangle"].ad{width:336px;height:280px}.ui[class*="half page"].ad{width:300px;height:600px}.ui.square.ad{width:250px;height:250px}.ui[class*="small square"].ad{width:200px;height:200px}.ui[class*="small rectangle"].ad{width:180px;height:150px}.ui[class*="vertical rectangle"].ad{width:240px;height:400px}.ui.button.ad{width:120px;height:90px}.ui[class*="square button"].ad{width:125px;height:125px}.ui[class*="small button"].ad{width:120px;height:60px}.ui.skyscraper.ad{width:120px;height:600px}.ui[class*="wide skyscraper"].ad{width:160px}.ui.banner.ad{width:468px;height:60px}.ui[class*="vertical banner"].ad{width:120px;height:240px}.ui[class*="top banner"].ad{width:930px;height:180px}.ui[class*="half banner"].ad{width:234px;height:60px}.ui[class*="large leaderboard"].ad{width:970px;height:90px}.ui.billboard.ad{width:970px;height:250px}.ui.panorama.ad{width:980px;height:120px}.ui.netboard.ad{width:580px;height:400px}.ui[class*="large mobile banner"].ad{width:320px;height:100px}.ui[class*="mobile leaderboard"].ad{width:320px;height:50px}.ui.mobile.ad{display:none}@media only screen and (max-width:767.98px){.ui.mobile.ad{display:block}}.ui.centered.ad{margin-left:auto;margin-right:auto}.ui.test.ad{position:relative;background:#545454}.ui.test.ad::after{position:absolute;top:50%;left:50%;width:100%;text-align:center;transform:translateX(-50%) translateY(-50%);content:"Ad";color:#fff;font-size:1em;font-weight:700}.ui.mobile.test.ad::after{font-size:.85714286em}.ui.test.ad[data-text]::after{content:attr(data-text)} -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/breadcrumb.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Breadcrumb 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */ 10 | 11 | 12 | /******************************* 13 | Breadcrumb 14 | *******************************/ 15 | 16 | .ui.breadcrumb { 17 | line-height: 1.4285em; 18 | display: inline-block; 19 | margin: 0 0; 20 | vertical-align: middle; 21 | } 22 | .ui.breadcrumb:first-child { 23 | margin-top: 0; 24 | } 25 | .ui.breadcrumb:last-child { 26 | margin-bottom: 0; 27 | } 28 | 29 | 30 | /******************************* 31 | Content 32 | *******************************/ 33 | 34 | 35 | /* Divider */ 36 | .ui.breadcrumb .divider { 37 | display: inline-block; 38 | opacity: 0.7; 39 | margin: 0 0.21428571rem; 40 | font-size: 0.92857143em; 41 | color: rgba(0, 0, 0, 0.4); 42 | vertical-align: baseline; 43 | } 44 | 45 | /* Link */ 46 | .ui.breadcrumb a { 47 | color: #4183c4; 48 | } 49 | .ui.breadcrumb a:hover { 50 | color: #1e70bf; 51 | } 52 | 53 | /* Icon Divider */ 54 | .ui.breadcrumb .icon.divider { 55 | font-size: 0.85714286em; 56 | vertical-align: baseline; 57 | } 58 | 59 | /* Section */ 60 | .ui.breadcrumb a.section { 61 | cursor: pointer; 62 | } 63 | .ui.breadcrumb .section { 64 | display: inline-block; 65 | margin: 0; 66 | padding: 0; 67 | } 68 | 69 | /* Loose Coupling */ 70 | .ui.breadcrumb.segment { 71 | display: inline-block; 72 | padding: 0.78571429em 1em; 73 | } 74 | 75 | /* Inverted */ 76 | .ui.inverted.breadcrumb { 77 | color: #dcddde; 78 | } 79 | .ui.inverted.breadcrumb > .active.section { 80 | color: #fff; 81 | } 82 | .ui.inverted.breadcrumb > .divider { 83 | color: rgba(255, 255, 255, 0.7); 84 | } 85 | 86 | 87 | /******************************* 88 | States 89 | *******************************/ 90 | 91 | .ui.breadcrumb .active.section { 92 | font-weight: bold; 93 | } 94 | 95 | 96 | /******************************* 97 | Variations 98 | *******************************/ 99 | 100 | .ui.breadcrumb { 101 | font-size: 1rem; 102 | } 103 | .ui.mini.breadcrumb { 104 | font-size: 0.78571429rem; 105 | } 106 | .ui.tiny.breadcrumb { 107 | font-size: 0.85714286rem; 108 | } 109 | .ui.small.breadcrumb { 110 | font-size: 0.92857143rem; 111 | } 112 | .ui.large.breadcrumb { 113 | font-size: 1.14285714rem; 114 | } 115 | .ui.big.breadcrumb { 116 | font-size: 1.28571429rem; 117 | } 118 | .ui.huge.breadcrumb { 119 | font-size: 1.42857143rem; 120 | } 121 | .ui.massive.breadcrumb { 122 | font-size: 1.71428571rem; 123 | } 124 | 125 | 126 | /******************************* 127 | Theme Overrides 128 | *******************************/ 129 | 130 | 131 | 132 | /******************************* 133 | Site Overrides 134 | *******************************/ 135 | 136 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/breadcrumb.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Breadcrumb 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */.ui.breadcrumb{line-height:1.4285em;display:inline-block;margin:0 0;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183c4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.78571429em 1em}.ui.inverted.breadcrumb{color:#dcddde}.ui.inverted.breadcrumb>.active.section{color:#fff}.ui.inverted.breadcrumb>.divider{color:rgba(255,255,255,.7)}.ui.breadcrumb .active.section{font-weight:700}.ui.breadcrumb{font-size:1rem}.ui.mini.breadcrumb{font-size:.78571429rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.ui.large.breadcrumb{font-size:1.14285714rem}.ui.big.breadcrumb{font-size:1.28571429rem}.ui.huge.breadcrumb{font-size:1.42857143rem}.ui.massive.breadcrumb{font-size:1.71428571rem} -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/comment.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Comment 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */.ui.comments{margin:1.5em 0;max-width:650px}.ui.comments:first-child{margin-top:0}.ui.comments:last-child{margin-bottom:0}.ui.comments .comment{position:relative;background:0 0;margin:.5em 0 0;padding:.5em 0 0;border:none;border-top:none;line-height:1.2}.ui.comments .comment:first-child{margin-top:0;padding-top:0}.ui.comments .comment>.comments{margin:0 0 .5em .5em;padding:1em 0 1em 1em}.ui.comments .comment>.comments::before{position:absolute;top:0;left:0}.ui.comments .comment>.comments .comment{border:none;border-top:none;background:0 0}.ui.comments .comment .avatar{display:block;width:2.5em;height:auto;float:left;margin:.2em 0 0}.ui.comments .comment .avatar img,.ui.comments .comment img.avatar{display:block;margin:0 auto;width:100%;height:100%;border-radius:.25rem}.ui.comments .comment>.content{display:block}.ui.comments .comment>.avatar~.content{margin-left:3.5em}.ui.comments .comment .author{font-size:1em;color:rgba(0,0,0,.87);font-weight:700}.ui.comments .comment a.author{cursor:pointer}.ui.comments .comment a.author:hover{color:#1e70bf}.ui.comments .comment .metadata{display:inline-block;margin-left:.5em;color:rgba(0,0,0,.4);font-size:.875em}.ui.comments .comment .metadata>*{display:inline-block;margin:0 .5em 0 0}.ui.comments .comment .metadata>:last-child{margin-right:0}.ui.comments .comment .text{margin:.25em 0 .5em;font-size:1em;word-wrap:break-word;color:rgba(0,0,0,.87);line-height:1.3}.ui.comments .comment .actions{font-size:.875em}.ui.comments .comment .actions a{cursor:pointer;display:inline-block;margin:0 .75em 0 0;color:rgba(0,0,0,.4)}.ui.comments .comment .actions a:last-child{margin-right:0}.ui.comments .comment .actions a.active,.ui.comments .comment .actions a:hover{color:rgba(0,0,0,.8)}.ui.comments>.reply.form{margin-top:1em}.ui.comments .comment .reply.form{width:100%;margin-top:1em}.ui.comments .reply.form textarea{font-size:1em;height:12em}.ui.collapsed.comments,.ui.comments .collapsed.comment,.ui.comments .collapsed.comments{display:none}.ui.threaded.comments .comment>.comments{margin:-1.5em 0 -1em 1.25em;padding:3em 0 2em 2.25em;box-shadow:-1px 0 0 rgba(34,36,38,.15)}.ui.minimal.comments .comment .actions{opacity:0;position:absolute;top:0;right:0;left:auto;transition:opacity .2s ease;transition-delay:.1s}.ui.minimal.comments .comment>.content:hover>.actions{opacity:1}.ui.comments{font-size:1rem}.ui.mini.comments{font-size:.78571429rem}.ui.tiny.comments{font-size:.85714286rem}.ui.small.comments{font-size:.92857143rem}.ui.large.comments{font-size:1.14285714rem}.ui.big.comments{font-size:1.28571429rem}.ui.huge.comments{font-size:1.42857143rem}.ui.massive.comments{font-size:1.71428571rem}.ui.inverted.comments .comment{background-color:#1b1c1d}.ui.inverted.comments .comment .author,.ui.inverted.comments .comment .text{color:rgba(255,255,255,.9)}.ui.inverted.comments .comment .actions a,.ui.inverted.comments .comment .metadata{color:rgba(255,255,255,.7)}.ui.inverted.comments .comment .actions a.active,.ui.inverted.comments .comment .actions a:hover,.ui.inverted.comments .comment a.author:hover{color:#fff}.ui.inverted.threaded.comments .comment>.comments{box-shadow:-1px 0 0 #555}.ui.comments .disabled.comment,.ui.disabled.comments{opacity:.45;pointer-events:none} -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/embed.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Embed 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */ 10 | 11 | 12 | /******************************* 13 | Types 14 | *******************************/ 15 | 16 | .ui.embed { 17 | position: relative; 18 | max-width: 100%; 19 | height: 0; 20 | overflow: hidden; 21 | background: #dcddde; 22 | padding-bottom: 56.25%; 23 | } 24 | 25 | /* ----------------- 26 | Embedded Content 27 | ------------------ */ 28 | .ui.embed iframe, 29 | .ui.embed embed, 30 | .ui.embed object { 31 | position: absolute; 32 | border: none; 33 | width: 100%; 34 | height: 100%; 35 | top: 0; 36 | left: 0; 37 | margin: 0; 38 | padding: 0; 39 | overflow: hidden; 40 | } 41 | 42 | /* ----------------- 43 | Embed 44 | ------------------ */ 45 | .ui.embed > .embed { 46 | display: none; 47 | } 48 | 49 | /* -------------- 50 | Placeholder 51 | --------------- */ 52 | .ui.embed > .placeholder { 53 | position: absolute; 54 | cursor: pointer; 55 | top: 0; 56 | left: 0; 57 | display: block; 58 | width: 100%; 59 | height: 100%; 60 | background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3)); 61 | } 62 | 63 | /* -------------- 64 | Icon 65 | --------------- */ 66 | .ui.embed > i.icon { 67 | cursor: pointer; 68 | position: absolute; 69 | top: 0; 70 | left: 0; 71 | width: 100%; 72 | height: 100%; 73 | z-index: 2; 74 | } 75 | .ui.embed > i.icon::after { 76 | position: absolute; 77 | top: 0; 78 | left: 0; 79 | width: 100%; 80 | height: 100%; 81 | z-index: 3; 82 | content: ""; 83 | background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3)); 84 | opacity: 0.5; 85 | transition: opacity 0.5s ease; 86 | } 87 | .ui.embed > i.icon::before { 88 | position: absolute; 89 | top: 50%; 90 | left: 50%; 91 | transform: translateX(-50%) translateY(-50%); 92 | color: #fff; 93 | font-size: 6rem; 94 | text-shadow: 0 2px 10px rgba(34, 36, 38, 0.2); 95 | transition: opacity 0.5s ease, color 0.5s ease; 96 | z-index: 10; 97 | } 98 | 99 | 100 | /******************************* 101 | States 102 | *******************************/ 103 | 104 | 105 | /* -------------- 106 | Hover 107 | --------------- */ 108 | .ui.embed i.icon:hover::after { 109 | background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3)); 110 | opacity: 1; 111 | } 112 | .ui.embed i.icon:hover::before { 113 | color: #fff; 114 | } 115 | 116 | /* -------------- 117 | Active 118 | --------------- */ 119 | .ui.active.embed > i.icon, 120 | .ui.active.embed > .placeholder { 121 | display: none; 122 | } 123 | .ui.active.embed > .embed { 124 | display: block; 125 | } 126 | 127 | 128 | /******************************* 129 | Variations 130 | *******************************/ 131 | 132 | .ui.square.embed { 133 | padding-bottom: 100%; 134 | } 135 | .ui[class*="4:3"].embed { 136 | padding-bottom: 75%; 137 | } 138 | .ui[class*="16:9"].embed { 139 | padding-bottom: 56.25%; 140 | } 141 | .ui[class*="21:9"].embed { 142 | padding-bottom: 42.85714286%; 143 | } 144 | 145 | 146 | /******************************* 147 | Video Overrides 148 | *******************************/ 149 | 150 | 151 | 152 | /******************************* 153 | Site Overrides 154 | *******************************/ 155 | 156 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/embed.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Embed 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */.ui.embed{position:relative;max-width:100%;height:0;overflow:hidden;background:#dcddde;padding-bottom:56.25%}.ui.embed embed,.ui.embed iframe,.ui.embed object{position:absolute;border:none;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:hidden}.ui.embed>.embed{display:none}.ui.embed>.placeholder{position:absolute;cursor:pointer;top:0;left:0;display:block;width:100%;height:100%;background:radial-gradient(transparent 45%,rgba(0,0,0,.3))}.ui.embed>i.icon{cursor:pointer;position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.ui.embed>i.icon::after{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;content:"";background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:.5;transition:opacity .5s ease}.ui.embed>i.icon::before{position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);color:#fff;font-size:6rem;text-shadow:0 2px 10px rgba(34,36,38,.2);transition:opacity .5s ease,color .5s ease;z-index:10}.ui.embed i.icon:hover::after{background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:1}.ui.embed i.icon:hover::before{color:#fff}.ui.active.embed>.placeholder,.ui.active.embed>i.icon{display:none}.ui.active.embed>.embed{display:block}.ui.square.embed{padding-bottom:100%}.ui[class*="4:3"].embed{padding-bottom:75%}.ui[class*="16:9"].embed{padding-bottom:56.25%}.ui[class*="21:9"].embed{padding-bottom:42.85714286%} -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/nag.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Nag 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:999;min-height:0;width:100%;margin:0;padding:.75em 1em;background:#909090;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1rem;text-align:center;color:rgba(0,0,0,.87);border-radius:0 0 .28571429rem .28571429rem;transition:.2s background ease}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#fff}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;font-size:1em;margin:-.5em 0 0;color:#fff;transition:opacity .2s ease}.ui.nag:not(.overlay):not(.fixed){border-radius:.28571429rem}.ui.nag:hover{background:#909090;opacity:1}.ui.nag>.close:hover{opacity:1}.ui.overlay.nag,.ui.overlay.nags{position:absolute}.ui.fixed.nag,.ui.fixed.nags{position:fixed}.ui.bottom.nag,.ui.bottom.nags{border-radius:.28571429rem .28571429rem 0 0;top:auto;bottom:0}.ui.inverted.nag,.ui.inverted.nags .nag{background-color:#f3f4f5;color:rgba(0,0,0,.85)}.ui.inverted.nag>.close,.ui.inverted.nags .nag>.close{color:rgba(0,0,0,.6)}.ui.inverted.nag>.title,.ui.inverted.nags .nag>.title{color:rgba(0,0,0,.6)}.ui.mini.nag,.ui.mini.nags .nag{font-size:.78571429rem}.ui.tiny.nag,.ui.tiny.nags .nag{font-size:.85714286rem}.ui.small.nag,.ui.small.nags .nag{font-size:.92857143rem}.ui.large.nag,.ui.large.nags .nag{font-size:1.14285714rem}.ui.big.nag,.ui.big.nags .nag{font-size:1.28571429rem}.ui.huge.nag,.ui.huge.nags .nag{font-size:1.42857143rem;line-height:1}.ui.massive.nag,.ui.massive.nags .nag{font-size:1.71428571rem;line-height:1}.ui.primary.nag{background-color:#2185d0}.ui.inverted.primary.nag{background-color:#54c8ff}.ui.secondary.nag{background-color:#1b1c1d}.ui.inverted.secondary.nag{background-color:#545454}.ui.red.nag{background-color:#db2828}.ui.inverted.red.nag{background-color:#ff695e}.ui.orange.nag{background-color:#f2711c}.ui.inverted.orange.nag{background-color:#ff851b}.ui.yellow.nag{background-color:#fbbd08}.ui.inverted.yellow.nag{background-color:#ffe21f}.ui.olive.nag{background-color:#b5cc18}.ui.inverted.olive.nag{background-color:#d9e778}.ui.green.nag{background-color:#21ba45}.ui.inverted.green.nag{background-color:#2ecc40}.ui.teal.nag{background-color:#00b5ad}.ui.inverted.teal.nag{background-color:#6dffff}.ui.blue.nag{background-color:#2185d0}.ui.inverted.blue.nag{background-color:#54c8ff}.ui.violet.nag{background-color:#6435c9}.ui.inverted.violet.nag{background-color:#a291fb}.ui.purple.nag{background-color:#a333c8}.ui.inverted.purple.nag{background-color:#dc73ff}.ui.pink.nag{background-color:#e03997}.ui.inverted.pink.nag{background-color:#ff8edf}.ui.brown.nag{background-color:#a5673f}.ui.inverted.brown.nag{background-color:#d67c1c}.ui.grey.nag{background-color:#767676}.ui.inverted.grey.nag{background-color:#dcddde}.ui.black.nag{background-color:#1b1c1d;color:rgba(255,255,255,.9)}.ui.inverted.black.nag{background-color:#545454}.ui.inverted.black.nag .title{color:#fff}.ui.nags{top:0;left:0;width:100%}.ui.ui.nags .nag{border-radius:0}.ui.nags:not(.bottom) .nag:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.nags .nag:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.nags:not(.fixed):not(.overlay) .nag:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.nags:not(.fixed):not(.overlay) .nag:only-child{border-radius:.28571429rem} -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/placeholder.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Placeholder 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */.ui.placeholder{position:static;overflow:hidden;animation:placeholderShimmer 2s linear;animation-iteration-count:infinite;background-color:#fff;background-image:linear-gradient(to right,rgba(0,0,0,.08) 0,rgba(0,0,0,.15) 15%,rgba(0,0,0,.08) 30%);background-size:1200px 100%;max-width:30rem}@keyframes placeholderShimmer{0%{background-position:-1200px 0}100%{background-position:1200px 0}}.ui.placeholder+.ui.placeholder{margin-top:2rem}.ui.placeholder+.ui.placeholder{animation-delay:.15s}.ui.placeholder+.ui.placeholder+.ui.placeholder{animation-delay:.3s}.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder{animation-delay:.45s}.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder{animation-delay:.6s}.ui.placeholder,.ui.placeholder .image.header::after,.ui.placeholder .line,.ui.placeholder .line::after,.ui.placeholder>::before{background-color:#fff}.ui.placeholder.hidden{display:none}.ui.placeholder .image:not(.header):not(.ui):not(.icon){height:100px}.ui.placeholder .square.image:not(.header){height:0;overflow:hidden;padding-top:100%}.ui.placeholder .rectangular.image:not(.header){height:0;overflow:hidden;padding-top:75%}.ui.placeholder .line{position:relative;height:.85714286em}.ui.placeholder .line::after,.ui.placeholder .line::before{top:100%;position:absolute;content:"";background-color:inherit}.ui.placeholder .line::before{left:0}.ui.placeholder .line::after{right:0}.ui.placeholder .line{margin-bottom:.5em}.ui.placeholder .line::after,.ui.placeholder .line::before{height:.5em}.ui.placeholder .line:not(:first-child){margin-top:.5em}.ui.placeholder .line:nth-child(1)::after{width:0}.ui.placeholder .line:nth-child(2)::after{width:50%}.ui.placeholder .line:nth-child(3)::after{width:10%}.ui.placeholder .line:nth-child(4)::after{width:35%}.ui.placeholder .line:nth-child(5)::after{width:65%}.ui.placeholder .header{position:relative;overflow:hidden}.ui.placeholder .header .line{margin-bottom:.64285714em}.ui.placeholder .header .line::after,.ui.placeholder .header .line::before{height:.64285714em}.ui.placeholder .header .line:not(:first-child){margin-top:.64285714em}.ui.placeholder .header .line::after{width:20%}.ui.placeholder .header .line:nth-child(2)::after{width:60%}.ui.placeholder .image.header .line{margin-left:3em}.ui.placeholder .image.header .line::before{width:.71428571rem}.ui.placeholder .image.header::after{display:block;height:.85714286em;content:"";margin-left:3em}.ui.placeholder .header .line:first-child,.ui.placeholder .image .line:first-child,.ui.placeholder .paragraph .line:first-child{height:.01px}.ui.placeholder .header:not(:first-child)::before,.ui.placeholder .image:not(:first-child)::before,.ui.placeholder .paragraph:not(:first-child)::before{height:1.42857143em;content:"";display:block}.ui.inverted.placeholder{background-image:linear-gradient(to right,rgba(255,255,255,.08) 0,rgba(255,255,255,.14) 15%,rgba(255,255,255,.08) 30%)}.ui.inverted.placeholder,.ui.inverted.placeholder .image.header::after,.ui.inverted.placeholder .line,.ui.inverted.placeholder .line::after,.ui.inverted.placeholder>::before{background-color:#1b1c1d}.ui.placeholder .full.line.line.line::after{width:0}.ui.placeholder .very.long.line.line.line::after{width:10%}.ui.placeholder .long.line.line.line::after{width:35%}.ui.placeholder .medium.line.line.line::after{width:50%}.ui.placeholder .short.line.line.line::after{width:65%}.ui.placeholder .very.short.line.line.line::after{width:80%}.ui.fluid.placeholder{max-width:none} -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/rail.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Rail 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */ 10 | 11 | 12 | /******************************* 13 | Rails 14 | *******************************/ 15 | 16 | .ui.rail { 17 | position: absolute; 18 | top: 0; 19 | width: 300px; 20 | height: 100%; 21 | } 22 | .ui.left.rail { 23 | left: auto; 24 | right: 100%; 25 | padding: 0 2rem 0 0; 26 | margin: 0 2rem 0 0; 27 | } 28 | .ui.right.rail { 29 | left: 100%; 30 | right: auto; 31 | padding: 0 0 0 2rem; 32 | margin: 0 0 0 2rem; 33 | } 34 | 35 | 36 | /******************************* 37 | Variations 38 | *******************************/ 39 | 40 | 41 | /* -------------- 42 | Internal 43 | --------------- */ 44 | .ui.left.internal.rail { 45 | left: 0; 46 | right: auto; 47 | padding: 0 0 0 2rem; 48 | margin: 0 0 0 2rem; 49 | } 50 | .ui.right.internal.rail { 51 | left: auto; 52 | right: 0; 53 | padding: 0 2rem 0 0; 54 | margin: 0 2rem 0 0; 55 | } 56 | 57 | /* -------------- 58 | Dividing 59 | --------------- */ 60 | .ui.dividing.rail { 61 | width: 302.5px; 62 | } 63 | .ui.left.dividing.rail { 64 | padding: 0 2.5rem 0 0; 65 | margin: 0 2.5rem 0 0; 66 | border-right: 1px solid rgba(34, 36, 38, 0.15); 67 | } 68 | .ui.right.dividing.rail { 69 | border-left: 1px solid rgba(34, 36, 38, 0.15); 70 | padding: 0 0 0 2.5rem; 71 | margin: 0 0 0 2.5rem; 72 | } 73 | 74 | /* -------------- 75 | Distance 76 | --------------- */ 77 | .ui.close.rail { 78 | width: calc(300px + 1em); 79 | } 80 | .ui.close.left.rail { 81 | padding: 0 1em 0 0; 82 | margin: 0 1em 0 0; 83 | } 84 | .ui.close.right.rail { 85 | padding: 0 0 0 1em; 86 | margin: 0 0 0 1em; 87 | } 88 | .ui.very.close.rail { 89 | width: calc(300px + 0.5em); 90 | } 91 | .ui.very.close.left.rail { 92 | padding: 0 0.5em 0 0; 93 | margin: 0 0.5em 0 0; 94 | } 95 | .ui.very.close.right.rail { 96 | padding: 0 0 0 0.5em; 97 | margin: 0 0 0 0.5em; 98 | } 99 | 100 | /* -------------- 101 | Attached 102 | --------------- */ 103 | .ui.attached.left.rail, 104 | .ui.attached.right.rail { 105 | padding: 0; 106 | margin: 0; 107 | } 108 | 109 | /* -------------- 110 | Sizing 111 | --------------- */ 112 | .ui.rail { 113 | font-size: 1rem; 114 | } 115 | .ui.mini.rail { 116 | font-size: 0.78571429rem; 117 | } 118 | .ui.tiny.rail { 119 | font-size: 0.85714286rem; 120 | } 121 | .ui.small.rail { 122 | font-size: 0.92857143rem; 123 | } 124 | .ui.large.rail { 125 | font-size: 1.14285714rem; 126 | } 127 | .ui.big.rail { 128 | font-size: 1.28571429rem; 129 | } 130 | .ui.huge.rail { 131 | font-size: 1.42857143rem; 132 | } 133 | .ui.massive.rail { 134 | font-size: 1.71428571rem; 135 | } 136 | 137 | 138 | /******************************* 139 | Theme Overrides 140 | *******************************/ 141 | 142 | 143 | 144 | /******************************* 145 | Site Overrides 146 | *******************************/ 147 | 148 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/rail.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Rail 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */.ui.rail{position:absolute;top:0;width:300px;height:100%}.ui.left.rail{left:auto;right:100%;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.right.rail{left:100%;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.left.internal.rail{left:0;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.right.internal.rail{left:auto;right:0;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.dividing.rail{width:302.5px}.ui.left.dividing.rail{padding:0 2.5rem 0 0;margin:0 2.5rem 0 0;border-right:1px solid rgba(34,36,38,.15)}.ui.right.dividing.rail{border-left:1px solid rgba(34,36,38,.15);padding:0 0 0 2.5rem;margin:0 0 0 2.5rem}.ui.close.rail{width:calc(300px + 1em)}.ui.close.left.rail{padding:0 1em 0 0;margin:0 1em 0 0}.ui.close.right.rail{padding:0 0 0 1em;margin:0 0 0 1em}.ui.very.close.rail{width:calc(300px + .5em)}.ui.very.close.left.rail{padding:0 .5em 0 0;margin:0 .5em 0 0}.ui.very.close.right.rail{padding:0 0 0 .5em;margin:0 0 0 .5em}.ui.attached.left.rail,.ui.attached.right.rail{padding:0;margin:0}.ui.rail{font-size:1rem}.ui.mini.rail{font-size:.78571429rem}.ui.tiny.rail{font-size:.85714286rem}.ui.small.rail{font-size:.92857143rem}.ui.large.rail{font-size:1.14285714rem}.ui.big.rail{font-size:1.28571429rem}.ui.huge.rail{font-size:1.42857143rem}.ui.massive.rail{font-size:1.71428571rem} -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/reset.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Reset 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */*,::after,::before{box-sizing:inherit}html{box-sizing:border-box}input[type=email],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;-moz-appearance:none}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none} -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/shape.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Shape 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */ 10 | 11 | 12 | /******************************* 13 | Shape 14 | *******************************/ 15 | 16 | .ui.shape { 17 | position: relative; 18 | vertical-align: top; 19 | display: inline-block; 20 | perspective: 2000px; 21 | transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out; 22 | } 23 | .ui.shape .side, 24 | .ui.shape .sides { 25 | transform-style: preserve-3d; 26 | } 27 | .ui.shape .side { 28 | display: none; 29 | opacity: 1; 30 | width: 100%; 31 | margin: 0 !important; 32 | -webkit-backface-visibility: hidden; 33 | backface-visibility: hidden; 34 | } 35 | .ui.shape .side * { 36 | -webkit-backface-visibility: visible !important; 37 | backface-visibility: visible !important; 38 | } 39 | 40 | 41 | /******************************* 42 | Types 43 | *******************************/ 44 | 45 | .ui.cube.shape .side { 46 | min-width: 15em; 47 | height: 15em; 48 | padding: 2em; 49 | background-color: #e6e6e6; 50 | color: rgba(0, 0, 0, 0.87); 51 | box-shadow: 0 0 2px rgba(0, 0, 0, 0.3); 52 | } 53 | .ui.cube.shape .side > .content { 54 | width: 100%; 55 | height: 100%; 56 | display: table; 57 | text-align: center; 58 | -webkit-user-select: text; 59 | -ms-user-select: text; 60 | user-select: text; 61 | } 62 | .ui.cube.shape .side > .content > div { 63 | display: table-cell; 64 | vertical-align: middle; 65 | font-size: 2em; 66 | } 67 | 68 | 69 | /******************************* 70 | Variations 71 | *******************************/ 72 | 73 | .ui.text.shape.animating .sides { 74 | position: static; 75 | } 76 | .ui.text.shape .side { 77 | white-space: nowrap; 78 | } 79 | .ui.text.shape .side > * { 80 | white-space: normal; 81 | } 82 | 83 | 84 | /******************************* 85 | States 86 | *******************************/ 87 | 88 | 89 | /* -------------- 90 | Loading 91 | --------------- */ 92 | .ui.loading.shape { 93 | position: absolute; 94 | top: -9999px; 95 | left: -9999px; 96 | } 97 | 98 | /* -------------- 99 | Animating 100 | --------------- */ 101 | .ui.shape .animating.side { 102 | position: absolute; 103 | top: 0; 104 | left: 0; 105 | display: block; 106 | z-index: 100; 107 | } 108 | .ui.shape .hidden.side { 109 | opacity: 0.6; 110 | } 111 | 112 | /* -------------- 113 | CSS 114 | --------------- */ 115 | .ui.shape.animating .sides { 116 | position: absolute; 117 | transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out; 118 | } 119 | .ui.shape.animating .side { 120 | transition: opacity 0.6s ease-in-out; 121 | } 122 | .ui.shape .animating.side *, 123 | .ui.shape.animating .side * { 124 | transition: none; 125 | } 126 | 127 | /* -------------- 128 | Active 129 | --------------- */ 130 | .ui.shape .active.side { 131 | display: block; 132 | } 133 | 134 | 135 | /******************************* 136 | Theme Overrides 137 | *******************************/ 138 | 139 | 140 | 141 | /******************************* 142 | User Overrides 143 | *******************************/ 144 | 145 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/shape.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Shape 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */.ui.shape{position:relative;vertical-align:top;display:inline-block;perspective:2000px;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out}.ui.shape .side,.ui.shape .sides{transform-style:preserve-3d}.ui.shape .side{display:none;opacity:1;width:100%;margin:0!important;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ui.shape .side *{-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.ui.cube.shape .side{min-width:15em;height:15em;padding:2em;background-color:#e6e6e6;color:rgba(0,0,0,.87);box-shadow:0 0 2px rgba(0,0,0,.3)}.ui.cube.shape .side>.content{width:100%;height:100%;display:table;text-align:center;-webkit-user-select:text;-ms-user-select:text;user-select:text}.ui.cube.shape .side>.content>div{display:table-cell;vertical-align:middle;font-size:2em}.ui.text.shape.animating .sides{position:static}.ui.text.shape .side{white-space:nowrap}.ui.text.shape .side>*{white-space:normal}.ui.loading.shape{position:absolute;top:-9999px;left:-9999px}.ui.shape .animating.side{position:absolute;top:0;left:0;display:block;z-index:100}.ui.shape .hidden.side{opacity:.6}.ui.shape.animating .sides{position:absolute;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out}.ui.shape.animating .side{transition:opacity .6s ease-in-out}.ui.shape .animating.side *,.ui.shape.animating .side *{transition:none}.ui.shape .active.side{display:block} -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/sticky.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Sticky 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */ 10 | 11 | 12 | /******************************* 13 | Sticky 14 | *******************************/ 15 | 16 | .ui.sticky { 17 | position: static; 18 | transition: none; 19 | z-index: 800; 20 | } 21 | 22 | 23 | /******************************* 24 | States 25 | *******************************/ 26 | 27 | 28 | /* Bound */ 29 | .ui.sticky.bound { 30 | position: absolute; 31 | left: auto; 32 | right: auto; 33 | } 34 | 35 | /* Fixed */ 36 | .ui.sticky.fixed { 37 | position: fixed; 38 | left: auto; 39 | right: auto; 40 | } 41 | 42 | /* Bound/Fixed Position */ 43 | .ui.sticky.bound.top, 44 | .ui.sticky.fixed.top { 45 | top: 0; 46 | bottom: auto; 47 | } 48 | .ui.sticky.bound.bottom, 49 | .ui.sticky.fixed.bottom { 50 | top: auto; 51 | bottom: 0; 52 | } 53 | 54 | 55 | /******************************* 56 | Types 57 | *******************************/ 58 | 59 | .ui.native.sticky { 60 | position: sticky; 61 | } 62 | 63 | 64 | /******************************* 65 | Theme Overrides 66 | *******************************/ 67 | 68 | 69 | 70 | /******************************* 71 | Site Overrides 72 | *******************************/ 73 | 74 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/sticky.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Sticky 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */.ui.sticky{position:static;transition:none;z-index:800}.ui.sticky.bound{position:absolute;left:auto;right:auto}.ui.sticky.fixed{position:fixed;left:auto;right:auto}.ui.sticky.bound.top,.ui.sticky.fixed.top{top:0;bottom:auto}.ui.sticky.bound.bottom,.ui.sticky.fixed.bottom{top:auto;bottom:0}.ui.native.sticky{position:sticky} -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/tab.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Tab 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */ 10 | 11 | 12 | /******************************* 13 | UI Tabs 14 | *******************************/ 15 | 16 | .ui.tab { 17 | display: none; 18 | } 19 | 20 | 21 | /******************************* 22 | States 23 | *******************************/ 24 | 25 | 26 | /* -------------------- 27 | Active 28 | --------------------- */ 29 | .ui.tab.active, 30 | .ui.tab.open { 31 | display: block; 32 | } 33 | 34 | /* -------------------- 35 | Loading 36 | --------------------- */ 37 | .ui.tab.loading { 38 | position: relative; 39 | overflow: hidden; 40 | display: block; 41 | min-height: 250px; 42 | } 43 | .ui.tab.loading * { 44 | position: relative !important; 45 | left: -10000px !important; 46 | } 47 | .ui.tab.loading::before, 48 | .ui.tab.loading.segment::before { 49 | position: absolute; 50 | content: ""; 51 | top: 50%; 52 | left: 50%; 53 | margin: -1.25em 0 0 -1.25em; 54 | width: 2.5em; 55 | height: 2.5em; 56 | border-radius: 500rem; 57 | border: 0.2em solid rgba(0, 0, 0, 0.1); 58 | } 59 | .ui.tab.loading::after, 60 | .ui.tab.loading.segment::after { 61 | position: absolute; 62 | content: ""; 63 | top: 50%; 64 | left: 50%; 65 | margin: -1.25em 0 0 -1.25em; 66 | width: 2.5em; 67 | height: 2.5em; 68 | animation: loader 0.6s infinite linear; 69 | border: 0.2em solid #767676; 70 | border-radius: 500rem; 71 | box-shadow: 0 0 0 1px transparent; 72 | } 73 | 74 | 75 | /******************************* 76 | Tab Overrides 77 | *******************************/ 78 | 79 | 80 | 81 | /******************************* 82 | User Overrides 83 | *******************************/ 84 | 85 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/tab.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Tab 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading.segment::before,.ui.tab.loading::before{position:absolute;content:"";top:50%;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.tab.loading.segment::after,.ui.tab.loading::after{position:absolute;content:"";top:50%;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;animation:loader .6s infinite linear;border:.2em solid #767676;border-radius:500rem;box-shadow:0 0 0 1px transparent} -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/text.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Text 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */ 10 | 11 | 12 | /******************************* 13 | Text 14 | *******************************/ 15 | 16 | span.ui.text { 17 | line-height: 1; 18 | } 19 | span.ui.primary.text { 20 | color: #2185d0; 21 | } 22 | span.ui.inverted.primary.text { 23 | color: #54c8ff; 24 | } 25 | span.ui.secondary.text { 26 | color: #1b1c1d; 27 | } 28 | span.ui.inverted.secondary.text { 29 | color: #545454; 30 | } 31 | span.ui.red.text { 32 | color: #db2828; 33 | } 34 | span.ui.inverted.red.text { 35 | color: #ff695e; 36 | } 37 | span.ui.orange.text { 38 | color: #f2711c; 39 | } 40 | span.ui.inverted.orange.text { 41 | color: #ff851b; 42 | } 43 | span.ui.yellow.text { 44 | color: #fbbd08; 45 | } 46 | span.ui.inverted.yellow.text { 47 | color: #ffe21f; 48 | } 49 | span.ui.olive.text { 50 | color: #b5cc18; 51 | } 52 | span.ui.inverted.olive.text { 53 | color: #d9e778; 54 | } 55 | span.ui.green.text { 56 | color: #21ba45; 57 | } 58 | span.ui.inverted.green.text { 59 | color: #2ecc40; 60 | } 61 | span.ui.teal.text { 62 | color: #00b5ad; 63 | } 64 | span.ui.inverted.teal.text { 65 | color: #6dffff; 66 | } 67 | span.ui.blue.text { 68 | color: #2185d0; 69 | } 70 | span.ui.inverted.blue.text { 71 | color: #54c8ff; 72 | } 73 | span.ui.violet.text { 74 | color: #6435c9; 75 | } 76 | span.ui.inverted.violet.text { 77 | color: #a291fb; 78 | } 79 | span.ui.purple.text { 80 | color: #a333c8; 81 | } 82 | span.ui.inverted.purple.text { 83 | color: #dc73ff; 84 | } 85 | span.ui.pink.text { 86 | color: #e03997; 87 | } 88 | span.ui.inverted.pink.text { 89 | color: #ff8edf; 90 | } 91 | span.ui.brown.text { 92 | color: #a5673f; 93 | } 94 | span.ui.inverted.brown.text { 95 | color: #d67c1c; 96 | } 97 | span.ui.grey.text { 98 | color: #767676; 99 | } 100 | span.ui.inverted.grey.text { 101 | color: #dcddde; 102 | } 103 | span.ui.black.text { 104 | color: #1b1c1d; 105 | } 106 | span.ui.inverted.black.text { 107 | color: #545454; 108 | } 109 | span.ui.error.text { 110 | color: #db2828; 111 | } 112 | span.ui.info.text { 113 | color: #31ccec; 114 | } 115 | span.ui.success.text { 116 | color: #21ba45; 117 | } 118 | span.ui.warning.text { 119 | color: #f2c037; 120 | } 121 | span.ui.disabled.text { 122 | opacity: 0.45; 123 | } 124 | 125 | /* Sizes */ 126 | span.ui.medium.text { 127 | font-size: 1em; 128 | } 129 | span.ui.mini.text { 130 | font-size: 0.4em; 131 | } 132 | span.ui.tiny.text { 133 | font-size: 0.5em; 134 | } 135 | span.ui.small.text { 136 | font-size: 0.75em; 137 | } 138 | span.ui.large.text { 139 | font-size: 1.5em; 140 | } 141 | span.ui.big.text { 142 | font-size: 2em; 143 | } 144 | span.ui.huge.text { 145 | font-size: 4em; 146 | } 147 | span.ui.massive.text { 148 | font-size: 8em; 149 | } 150 | 151 | 152 | /******************************* 153 | Theme Overrides 154 | *******************************/ 155 | 156 | 157 | 158 | /******************************* 159 | Site Overrides 160 | *******************************/ 161 | 162 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/components/text.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * # Fomantic-UI 2.9.4 - Text 3 | * https://github.com/fomantic/Fomantic-UI/ 4 | * 5 | * 6 | * Released under the MIT license 7 | * https://opensource.org/licenses/MIT 8 | * 9 | */span.ui.text{line-height:1}span.ui.primary.text{color:#2185d0}span.ui.inverted.primary.text{color:#54c8ff}span.ui.secondary.text{color:#1b1c1d}span.ui.inverted.secondary.text{color:#545454}span.ui.red.text{color:#db2828}span.ui.inverted.red.text{color:#ff695e}span.ui.orange.text{color:#f2711c}span.ui.inverted.orange.text{color:#ff851b}span.ui.yellow.text{color:#fbbd08}span.ui.inverted.yellow.text{color:#ffe21f}span.ui.olive.text{color:#b5cc18}span.ui.inverted.olive.text{color:#d9e778}span.ui.green.text{color:#21ba45}span.ui.inverted.green.text{color:#2ecc40}span.ui.teal.text{color:#00b5ad}span.ui.inverted.teal.text{color:#6dffff}span.ui.blue.text{color:#2185d0}span.ui.inverted.blue.text{color:#54c8ff}span.ui.violet.text{color:#6435c9}span.ui.inverted.violet.text{color:#a291fb}span.ui.purple.text{color:#a333c8}span.ui.inverted.purple.text{color:#dc73ff}span.ui.pink.text{color:#e03997}span.ui.inverted.pink.text{color:#ff8edf}span.ui.brown.text{color:#a5673f}span.ui.inverted.brown.text{color:#d67c1c}span.ui.grey.text{color:#767676}span.ui.inverted.grey.text{color:#dcddde}span.ui.black.text{color:#1b1c1d}span.ui.inverted.black.text{color:#545454}span.ui.error.text{color:#db2828}span.ui.info.text{color:#31ccec}span.ui.success.text{color:#21ba45}span.ui.warning.text{color:#f2c037}span.ui.disabled.text{opacity:.45}span.ui.medium.text{font-size:1em}span.ui.mini.text{font-size:.4em}span.ui.tiny.text{font-size:.5em}span.ui.small.text{font-size:.75em}span.ui.large.text{font-size:1.5em}span.ui.big.text{font-size:2em}span.ui.huge.text{font-size:4em}span.ui.massive.text{font-size:8em} -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/basic/assets/fonts/icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/basic/assets/fonts/icons.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/basic/assets/fonts/icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/basic/assets/fonts/icons.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-Bold.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-Bold.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-BoldItalic.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-BoldItalic.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-Italic.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-Italic.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-Regular.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/Lato-Regular.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-Bold.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-Bold.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-BoldItalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-BoldItalic.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-BoldItalic.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-Italic.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-Italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-Italic.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-Regular.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/LatoLatin-Regular.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/brand-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/brand-icons.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/brand-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/brand-icons.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/icons.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/icons.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/outline-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/outline-icons.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/outline-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/default/assets/fonts/outline-icons.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/famfamfam/assets/images/flags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/famfamfam/assets/images/flags.png -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/github/assets/fonts/octicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/github/assets/fonts/octicons.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/github/assets/fonts/octicons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/github/assets/fonts/octicons.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/material/assets/fonts/icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/material/assets/fonts/icons.woff -------------------------------------------------------------------------------- /配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/material/assets/fonts/icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whitebearcode/typecho-beardocs/7aa09a77de0888996a19d2816a1059b8a3482f71/配套插件/BearDocsCore/assets/vendors/fomantic-ui/themes/material/assets/fonts/icons.woff2 -------------------------------------------------------------------------------- /配套插件/BearDocsCore/bdOptions.php: -------------------------------------------------------------------------------- 1 | $key; 55 | } elseif (is_array($array)) { 56 | return array_key_exists($key, $array) ? $array[$key] : $default; 57 | } else { 58 | return $default; 59 | } 60 | } 61 | 62 | } 63 | } -------------------------------------------------------------------------------- /配套插件/BearDocsCore/bdRouter.php: -------------------------------------------------------------------------------- 1 | hasLogin()) { 36 | echo '用户未登录'; 37 | die(); 38 | } 39 | 40 | // Set variables. 41 | $plugin = $this->request->get('plugin'); 42 | 43 | $obj = get_bd_key_params($plugin); 44 | $obj->set_options(true); 45 | $this->response->goBack(); 46 | } 47 | 48 | public function saveBDoptionsByAjax() 49 | { 50 | $user = \Typecho\Widget::widget('Widget_User'); 51 | if (!$user->hasLogin()) { 52 | $data = [ 53 | 'data' => [ 54 | 'notice' => '未登录', 55 | 'errors' => [] 56 | ], 57 | 'success' => false 58 | ]; 59 | $this->response->throwJson($data); 60 | } 61 | 62 | $action = $this->request->get('action', null); 63 | if (!$action) { 64 | $data = [ 65 | 'data' => [ 66 | 'notice' => '参数错误', 67 | 'errors' => [] 68 | ], 69 | 'success' => false 70 | ]; 71 | $this->response->throwJson($data); 72 | } 73 | if (preg_match('/csf_(.*)_ajax_save/i', $action)) { 74 | $data = json_decode($_POST['data'], true); 75 | $plugin = $data['plugin']; 76 | 77 | 78 | $obj = get_bd_key_params($plugin); 79 | $ret = $obj->set_options(true); 80 | 81 | if ($ret and empty($obj->errors)) { 82 | $data = [ 83 | 'data' => [ 84 | 'notice' => $obj->notice, 85 | 'errors' => $obj->errors 86 | ], 87 | 'success' => true 88 | ]; 89 | $this->response->throwJson($data); 90 | } else { 91 | $data = [ 92 | 'data' => [ 93 | 'notice' => $obj->notice, 94 | 'errors' => $obj->errors 95 | ], 96 | 'success' => true 97 | ]; 98 | $this->response->throwJson($data); 99 | } 100 | 101 | } else { 102 | $action = str_replace('-', '_', $action); 103 | CSF::include_plugin_file('functions/actions.php'); 104 | $action($this->response); 105 | } 106 | 107 | } 108 | } 109 | 110 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/bdoptions-framework.php: -------------------------------------------------------------------------------- 1 | field_before(); 22 | 23 | echo '
'; 24 | 25 | foreach ( $this->field['accordions'] as $key => $accordion ) { 26 | 27 | echo '
'; 28 | 29 | $icon = ( ! empty( $accordion['icon'] ) ) ? 'csf--icon '. $accordion['icon'] : 'csf-accordion-icon fas fa-angle-right'; 30 | 31 | echo '

'; 32 | echo ''; 33 | echo esc_html( $accordion['title'] ); 34 | echo '

'; 35 | 36 | echo '
'; 37 | 38 | foreach ( $accordion['fields'] as $field ) { 39 | 40 | if ( in_array( $field['type'], $unallows ) ) { $field['_notice'] = true; } 41 | 42 | $field_id = ( isset( $field['id'] ) ) ? $field['id'] : ''; 43 | $field_default = ( isset( $field['default'] ) ) ? $field['default'] : ''; 44 | $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default; 45 | $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id']; 46 | 47 | CSF::field( $field, $field_value, $unique_id, 'field/accordion' ); 48 | 49 | } 50 | 51 | echo '
'; 52 | 53 | echo '
'; 54 | 55 | } 56 | 57 | echo '
'; 58 | 59 | echo $this->field_after(); 60 | 61 | } 62 | 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/backup/backup.php: -------------------------------------------------------------------------------- 1 | unique; 22 | $nonce = wp_create_nonce( 'csf_backup_nonce' ); 23 | $export = add_query_arg( array( 'action' => 'csf-export', 'unique' => $unique, 'nonce' => $nonce ), Common::url('/bdoptions/ajax', Helper::options()->index) ); 24 | 25 | echo $this->field_before(); 26 | 27 | echo ''; 28 | echo '
'. esc_html__( 'Import', 'csf' ) .'
'; 29 | echo '
'; 30 | echo ''; 31 | echo ''. esc_html__( 'Export & Download', 'csf' ) .''; 32 | echo '
'; 33 | echo '
'. esc_html__( 'Reset', 'csf' ) .'
'; 34 | 35 | echo $this->field_after(); 36 | 37 | } 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/button_set/button_set.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'multiple' => false, 21 | 'options' => array(), 22 | 'query_args' => array(), 23 | ) ); 24 | 25 | $value = ( is_array( $this->value ) ) ? $this->value : array_filter( (array) $this->value ); 26 | 27 | echo $this->field_before(); 28 | 29 | if ( isset( $this->field['options'] ) ) { 30 | 31 | $options = $this->field['options']; 32 | $options = ( is_array( $options ) ) ? $options : array_filter( $this->field_data( $options, false, $args['query_args'] ) ); 33 | 34 | if ( is_array( $options ) && ! empty( $options ) ) { 35 | 36 | echo '
'; 37 | 38 | foreach ( $options as $key => $option ) { 39 | 40 | $type = ( $args['multiple'] ) ? 'checkbox' : 'radio'; 41 | $extra = ( $args['multiple'] ) ? '[]' : ''; 42 | $active = ( in_array( $key, $value ) || ( empty( $value ) && empty( $key ) ) ) ? ' csf--active' : ''; 43 | $checked = ( in_array( $key, $value ) || ( empty( $value ) && empty( $key ) ) ) ? ' checked' : ''; 44 | 45 | echo '
'; 46 | echo 'field_attributes() . esc_attr( $checked ) .'/>'; 47 | echo $option; 48 | echo '
'; 49 | 50 | } 51 | 52 | echo '
'; 53 | 54 | } else { 55 | 56 | echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data available.', 'csf' ); 57 | 58 | } 59 | 60 | } 61 | 62 | echo $this->field_after(); 63 | 64 | } 65 | 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/callback/callback.php: -------------------------------------------------------------------------------- 1 | field['function'] ) && is_callable( $this->field['function'] ) ) { 20 | 21 | $args = ( isset( $this->field['args'] ) ) ? $this->field['args'] : null; 22 | 23 | call_user_func( $this->field['function'], $args ); 24 | 25 | } 26 | 27 | } 28 | 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/code_editor/code_editor.php: -------------------------------------------------------------------------------- 1 | 2, 30 | 'lineNumbers' => true, 31 | 'theme' => 'default', 32 | 'mode' => 'htmlmixed', 33 | 'cdnURL' => $this->cdn_url . $this->version, 34 | ); 35 | 36 | $settings = (!empty($this->field['settings'])) ? $this->field['settings'] : array(); 37 | $settings = wp_parse_args($settings, $default_settings); 38 | 39 | echo $this->field_before(); 40 | echo ''; 41 | echo $this->field_after(); 42 | 43 | } 44 | 45 | public function enqueue($enq_js = true) 46 | { 47 | 48 | $page = (!empty($_GET['page'])) ? sanitize_text_field(wp_unslash($_GET['page'])) : ''; 49 | 50 | // Do not loads CodeMirror in revslider page. 51 | if (in_array($page, array('revslider'))) { 52 | return ''; 53 | } 54 | if ($enq_js){ 55 | return enqueue_script_helper('csf-codemirror', esc_url($this->cdn_url . $this->version . '/codemirror.min.js')). 56 | enqueue_script_helper('csf-codemirror-loadmode', esc_url($this->cdn_url . $this->version . '/addon/mode/loadmode.min.js')); 57 | } else { 58 | return enqueue_style_helper('csf-codemirror-css', esc_url($this->cdn_url . $this->version . '/codemirror.min.css')); 59 | } 60 | 61 | } 62 | 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/color/color.php: -------------------------------------------------------------------------------- 1 | field['default'] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'] ) .'"' : ''; 20 | 21 | echo $this->field_before(); 22 | echo 'field_attributes() .'/>'; 23 | echo $this->field_after(); 24 | 25 | } 26 | 27 | public function output() { 28 | 29 | $output = ''; 30 | $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] ); 31 | $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : ''; 32 | $mode = ( ! empty( $this->field['output_mode'] ) ) ? $this->field['output_mode'] : 'color'; 33 | 34 | if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) { 35 | foreach ( $elements as $key_property => $element ) { 36 | if ( is_numeric( $key_property ) ) { 37 | $output = implode( ',', $elements ) .'{'. $mode .':'. $this->value . $important .';}'; 38 | break; 39 | } else { 40 | $output .= $element .'{'. $key_property .':'. $this->value . $important .'}'; 41 | } 42 | } 43 | } 44 | 45 | $this->parent->output_css .= $output; 46 | 47 | return $output; 48 | 49 | } 50 | 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/color_group/color_group.php: -------------------------------------------------------------------------------- 1 | field['options'] ) ) ? $this->field['options'] : array(); 20 | 21 | echo $this->field_before(); 22 | 23 | if ( ! empty( $options ) ) { 24 | foreach ( $options as $key => $option ) { 25 | 26 | $color_value = ( ! empty( $this->value[$key] ) ) ? $this->value[$key] : ''; 27 | $default_attr = ( ! empty( $this->field['default'][$key] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'][$key] ) .'"' : ''; 28 | 29 | echo '
'; 30 | echo '
'. $option .'
'; 31 | echo 'field_attributes() .'/>'; 32 | echo '
'; 33 | 34 | } 35 | } 36 | 37 | echo $this->field_after(); 38 | 39 | } 40 | 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/content/content.php: -------------------------------------------------------------------------------- 1 | field['content'] ) ) { 20 | 21 | echo $this->field['content']; 22 | 23 | } 24 | 25 | } 26 | 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/date/date.php: -------------------------------------------------------------------------------- 1 | 'mm/dd/yy', 21 | ); 22 | 23 | $settings = ( ! empty( $this->field['settings'] ) ) ? $this->field['settings'] : array(); 24 | $settings = wp_parse_args( $settings, $default_settings ); 25 | 26 | echo $this->field_before(); 27 | 28 | if ( ! empty( $this->field['from_to'] ) ) { 29 | 30 | $args = wp_parse_args( $this->field, array( 31 | 'text_from' => esc_html__( 'From', 'csf' ), 32 | 'text_to' => esc_html__( 'To', 'csf' ), 33 | ) ); 34 | 35 | $value = wp_parse_args( $this->value, array( 36 | 'from' => '', 37 | 'to' => '', 38 | ) ); 39 | 40 | echo ''; 41 | echo ''; 42 | 43 | } else { 44 | 45 | echo 'field_attributes() .'/>'; 46 | 47 | } 48 | 49 | echo '
'; 50 | 51 | echo $this->field_after(); 52 | 53 | } 54 | 55 | public function enqueue($enq_js = true) { 56 | 57 | // if ( ! wp_script_is( 'jquery-ui-datepicker' ) ) { 58 | // wp_enqueue_script( 'jquery-ui-datepicker' ); 59 | // } 60 | if ($enq_js){ 61 | return enqueue_script_helper('jquery-ui-datepicker'); 62 | } 63 | 64 | } 65 | 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/datetime/datetime.php: -------------------------------------------------------------------------------- 1 | true, 21 | ); 22 | 23 | $settings = ( ! empty( $this->field['settings'] ) ) ? $this->field['settings'] : array(); 24 | 25 | if ( ! isset( $settings['noCalendar'] ) ) { 26 | $defaults['dateFormat'] = 'm/d/Y'; 27 | } 28 | 29 | $settings = wp_parse_args( $settings, $defaults ); 30 | 31 | echo $this->field_before(); 32 | 33 | if ( ! empty( $this->field['from_to'] ) ) { 34 | 35 | $args = wp_parse_args( $this->field, array( 36 | 'text_from' => esc_html__( 'From', 'csf' ), 37 | 'text_to' => esc_html__( 'To', 'csf' ), 38 | ) ); 39 | 40 | $value = wp_parse_args( $this->value, array( 41 | 'from' => '', 42 | 'to' => '', 43 | ) ); 44 | 45 | echo ''; 46 | echo ''; 47 | 48 | } else { 49 | 50 | echo 'field_attributes() .'/>'; 51 | 52 | } 53 | 54 | echo '
'; 55 | 56 | echo $this->field_after(); 57 | 58 | } 59 | 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/fieldset/fieldset.php: -------------------------------------------------------------------------------- 1 | field_before(); 20 | 21 | echo '
'; 22 | 23 | foreach ( $this->field['fields'] as $field ) { 24 | 25 | $field_id = ( isset( $field['id'] ) ) ? $field['id'] : ''; 26 | $field_default = ( isset( $field['default'] ) ) ? $field['default'] : ''; 27 | $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default; 28 | $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id']; 29 | 30 | CSF::field( $field, $field_value, $unique_id, 'field/fieldset' ); 31 | 32 | } 33 | 34 | echo '
'; 35 | 36 | echo $this->field_after(); 37 | 38 | } 39 | 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/gallery/gallery.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'add_title' => esc_html__( 'Add Gallery', 'csf' ), 21 | 'edit_title' => esc_html__( 'Edit Gallery', 'csf' ), 22 | 'clear_title' => esc_html__( 'Clear', 'csf' ), 23 | ) ); 24 | 25 | $hidden = ( empty( $this->value ) ) ? ' hidden' : ''; 26 | 27 | echo $this->field_before(); 28 | 29 | echo '
    '; 30 | if ( ! empty( $this->value ) ) { 31 | 32 | $values = explode( ',', $this->value ); 33 | 34 | foreach ( $values as $id ) { 35 | $attachment = wp_get_attachment_image_src( $id, 'thumbnail' ); 36 | echo '
  • '; 37 | } 38 | 39 | } 40 | echo '
'; 41 | 42 | echo ''. $args['add_title'] .''; 43 | echo ''. $args['edit_title'] .''; 44 | echo ''. $args['clear_title'] .''; 45 | echo 'field_attributes() .'/>'; 46 | 47 | echo $this->field_after(); 48 | 49 | } 50 | 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/heading/heading.php: -------------------------------------------------------------------------------- 1 | field['content'] ) ) ? $this->field['content'] : ''; 20 | 21 | } 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/icon/icon.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'button_title' => esc_html__( 'Add Icon', 'csf' ), 21 | 'remove_title' => esc_html__( 'Remove Icon', 'csf' ), 22 | ) ); 23 | 24 | echo $this->field_before(); 25 | 26 | $nonce = wp_create_nonce( 'csf_icon_nonce' ); 27 | $hidden = ( empty( $this->value ) ) ? ' hidden' : ''; 28 | 29 | echo '
'; 30 | echo ''; 31 | echo ''. $args['button_title'] .''; 32 | echo ''. $args['remove_title'] .''; 33 | echo 'field_attributes() .' />'; 34 | echo '
'; 35 | 36 | echo $this->field_after(); 37 | 38 | } 39 | 40 | public function enqueue($enq_js = true) { 41 | // add_action( 'admin_footer', array( 'CSF_Field_icon', 'add_footer_modal_icon' ) ); 42 | // add_action( 'customize_controls_print_footer_scripts', array( 'CSF_Field_icon', 'add_footer_modal_icon' ) ); 43 | if ($enq_js){ 44 | self::add_footer_modal_icon(); 45 | } 46 | } 47 | 48 | public static function add_footer_modal_icon() { 49 | ?> 50 | 70 | field, array( 20 | 'multiple' => false, 21 | 'inline' => false, 22 | 'options' => array(), 23 | ) ); 24 | 25 | $inline = ( $args['inline'] ) ? ' csf--inline-list' : ''; 26 | 27 | $value = ( is_array( $this->value ) ) ? $this->value : array_filter( (array) $this->value ); 28 | 29 | echo $this->field_before(); 30 | 31 | if ( ! empty( $args['options'] ) ) { 32 | 33 | echo '
'; 34 | 35 | $num = 1; 36 | 37 | foreach ( $args['options'] as $key => $option ) { 38 | 39 | $type = ( $args['multiple'] ) ? 'checkbox' : 'radio'; 40 | $extra = ( $args['multiple'] ) ? '[]' : ''; 41 | $active = ( in_array( $key, $value ) ) ? ' csf--active' : ''; 42 | $checked = ( in_array( $key, $value ) ) ? ' checked' : ''; 43 | 44 | echo '
'; 45 | echo '
'; 46 | echo 'img-'. esc_attr( $num++ ) .''; 47 | echo 'field_attributes() . esc_attr( $checked ) .'/>'; 48 | echo '
'; 49 | echo '
'; 50 | 51 | } 52 | 53 | echo '
'; 54 | 55 | } 56 | 57 | echo $this->field_after(); 58 | 59 | } 60 | 61 | public function output() { 62 | 63 | $output = ''; 64 | $bg_image = array(); 65 | $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : ''; 66 | $elements = ( is_array( $this->field['output'] ) ) ? join( ',', $this->field['output'] ) : $this->field['output']; 67 | 68 | if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) { 69 | $output = $elements .'{background-image:url('. $this->value .')'. $important .';}'; 70 | } 71 | 72 | $this->parent->output_css .= $output; 73 | 74 | return $output; 75 | 76 | } 77 | 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/index.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'color' => true, 21 | 'hover' => true, 22 | 'active' => false, 23 | 'visited' => false, 24 | 'focus' => false, 25 | ) ); 26 | 27 | $default_values = array( 28 | 'color' => '', 29 | 'hover' => '', 30 | 'active' => '', 31 | 'visited' => '', 32 | 'focus' => '', 33 | ); 34 | 35 | $color_props = array( 36 | 'color' => esc_html__( 'Normal', 'csf' ), 37 | 'hover' => esc_html__( 'Hover', 'csf' ), 38 | 'active' => esc_html__( 'Active', 'csf' ), 39 | 'visited' => esc_html__( 'Visited', 'csf' ), 40 | 'focus' => esc_html__( 'Focus', 'csf' ) 41 | ); 42 | 43 | $value = wp_parse_args( $this->value, $default_values ); 44 | 45 | echo $this->field_before(); 46 | 47 | foreach ( $color_props as $color_prop_key => $color_prop_value ) { 48 | 49 | if ( ! empty( $args[$color_prop_key] ) ) { 50 | 51 | $default_attr = ( ! empty( $this->field['default'][$color_prop_key] ) ) ? ' data-default-color="'. esc_attr( $this->field['default'][$color_prop_key] ) .'"' : ''; 52 | 53 | echo '
'; 54 | echo '
'. esc_attr( $color_prop_value ) .'
'; 55 | echo 'field_attributes() .'/>'; 56 | echo '
'; 57 | 58 | } 59 | 60 | } 61 | 62 | echo $this->field_after(); 63 | 64 | } 65 | 66 | public function output() { 67 | 68 | $output = ''; 69 | $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] ); 70 | $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : ''; 71 | 72 | if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) { 73 | foreach ( $elements as $element ) { 74 | 75 | if ( isset( $this->value['color'] ) && $this->value['color'] !== '' ) { $output .= $element .'{color:'. $this->value['color'] . $important .';}'; } 76 | if ( isset( $this->value['hover'] ) && $this->value['hover'] !== '' ) { $output .= $element .':hover{color:'. $this->value['hover'] . $important .';}'; } 77 | if ( isset( $this->value['active'] ) && $this->value['active'] !== '' ) { $output .= $element .':active{color:'. $this->value['active'] . $important .';}'; } 78 | if ( isset( $this->value['visited'] ) && $this->value['visited'] !== '' ) { $output .= $element .':visited{color:'. $this->value['visited'] . $important .';}'; } 79 | if ( isset( $this->value['focus'] ) && $this->value['focus'] !== '' ) { $output .= $element .':focus{color:'. $this->value['focus'] . $important .';}'; } 80 | 81 | } 82 | } 83 | 84 | $this->parent->output_css .= $output; 85 | 86 | return $output; 87 | 88 | } 89 | 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/notice/notice.php: -------------------------------------------------------------------------------- 1 | field['style'] ) ) ? $this->field['style'] : 'normal'; 20 | 21 | echo ( ! empty( $this->field['content'] ) ) ? '
'. $this->field['content'] .'
' : ''; 22 | 23 | } 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/number/number.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'min' => 'any', 21 | 'max' => 'any', 22 | 'step' => 'any', 23 | 'unit' => '', 24 | ) ); 25 | 26 | echo $this->field_before(); 27 | echo '
'; 28 | echo 'field_attributes() .' min="'. esc_attr( $args['min'] ) .'" max="'. esc_attr( $args['max'] ) .'" step="'. esc_attr( $args['step'] ) .'"/>'; 29 | echo ( ! empty( $args['unit'] ) ) ? ''. esc_attr( $args['unit'] ) .'' : ''; 30 | echo '
'; 31 | echo $this->field_after(); 32 | 33 | } 34 | 35 | public function output() { 36 | 37 | $output = ''; 38 | $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] ); 39 | $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : ''; 40 | $mode = ( ! empty( $this->field['output_mode'] ) ) ? $this->field['output_mode'] : 'width'; 41 | $unit = ( ! empty( $this->field['unit'] ) ) ? $this->field['unit'] : 'px'; 42 | 43 | if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) { 44 | foreach ( $elements as $key_property => $element ) { 45 | if ( is_numeric( $key_property ) ) { 46 | if ( $mode ) { 47 | $output = implode( ',', $elements ) .'{'. $mode .':'. $this->value . $unit . $important .';}'; 48 | } 49 | break; 50 | } else { 51 | $output .= $element .'{'. $key_property .':'. $this->value . $unit . $important .'}'; 52 | } 53 | } 54 | } 55 | 56 | $this->parent->output_css .= $output; 57 | 58 | return $output; 59 | 60 | } 61 | 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/palette/palette.php: -------------------------------------------------------------------------------- 1 | field['options'] ) ) ? $this->field['options'] : array(); 20 | 21 | echo $this->field_before(); 22 | 23 | if ( ! empty( $palette ) ) { 24 | 25 | echo '
'; 26 | 27 | foreach ( $palette as $key => $colors ) { 28 | 29 | $active = ( $key === $this->value ) ? ' csf--active' : ''; 30 | $checked = ( $key === $this->value ) ? ' checked' : ''; 31 | 32 | echo '
'; 33 | 34 | if ( ! empty( $colors ) ) { 35 | 36 | foreach ( $colors as $color ) { 37 | 38 | echo ''; 39 | 40 | } 41 | 42 | } 43 | 44 | echo 'field_attributes() . esc_attr( $checked ) .'/>'; 45 | echo '
'; 46 | 47 | } 48 | 49 | echo '
'; 50 | 51 | } 52 | 53 | echo $this->field_after(); 54 | 55 | } 56 | 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/radio/radio.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'inline' => false, 21 | 'query_args' => array(), 22 | ) ); 23 | 24 | $inline_class = ( $args['inline'] ) ? ' class="csf--inline-list"' : ''; 25 | 26 | echo $this->field_before(); 27 | 28 | if ( isset( $this->field['options'] ) ) { 29 | 30 | $options = $this->field['options']; 31 | $options = ( is_array( $options ) ) ? $options : array_filter( $this->field_data( $options, false, $args['query_args'] ) ); 32 | 33 | if ( is_array( $options ) && ! empty( $options ) ) { 34 | 35 | echo ''; 36 | 37 | foreach ( $options as $option_key => $option_value ) { 38 | 39 | if ( is_array( $option_value ) && ! empty( $option_value ) ) { 40 | 41 | echo '
  • '; 42 | echo '
      '; 43 | echo '
    • '. esc_attr( $option_key ) .'
    • '; 44 | foreach ( $option_value as $sub_key => $sub_value ) { 45 | $checked = ( $sub_key == $this->value ) ? ' checked' : ''; 46 | echo '
    • '; 47 | echo ''; 51 | echo '
    • '; 52 | } 53 | echo '
    '; 54 | echo '
  • '; 55 | 56 | } else { 57 | 58 | $checked = ( $option_key == $this->value ) ? ' checked' : ''; 59 | 60 | echo '
  • '; 61 | echo ''; 65 | echo '
  • '; 66 | 67 | } 68 | 69 | } 70 | 71 | echo ''; 72 | 73 | } else { 74 | 75 | echo ( ! empty( $this->field['empty_message'] ) ) ? esc_attr( $this->field['empty_message'] ) : esc_html__( 'No data available.', 'csf' ); 76 | 77 | } 78 | 79 | } else { 80 | 81 | $label = ( isset( $this->field['label'] ) ) ? $this->field['label'] : ''; 82 | echo ''; 85 | 86 | } 87 | 88 | echo $this->field_after(); 89 | 90 | } 91 | 92 | } 93 | } 94 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/slider/slider.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'max' => 100, 21 | 'min' => 0, 22 | 'step' => 1, 23 | 'unit' => '', 24 | ) ); 25 | 26 | $is_unit = ( ! empty( $args['unit'] ) ) ? ' csf--is-unit' : ''; 27 | 28 | echo $this->field_before(); 29 | 30 | echo '
    '; 31 | echo '
    '; 32 | echo '
    '; 33 | echo 'field_attributes( array( 'class' => 'csf-input-number'. esc_attr( $is_unit ) ) ) .' data-min="'. esc_attr( $args['min'] ) .'" data-max="'. esc_attr( $args['max'] ) .'" data-step="'. esc_attr( $args['step'] ) .'" step="any" />'; 34 | echo ( ! empty( $args['unit'] ) ) ? ''. esc_attr( $args['unit'] ) .'' : ''; 35 | echo '
    '; 36 | echo '
    '; 37 | 38 | echo $this->field_after(); 39 | 40 | } 41 | 42 | public function enqueue($enq_js = true) { 43 | 44 | // if ( ! wp_script_is( 'jquery-ui-slider' ) ) { 45 | // wp_enqueue_script( 'jquery-ui-slider' ); 46 | // } 47 | if ($enq_js){ 48 | return enqueue_script_helper('jquery-ui-slider'); 49 | } 50 | } 51 | 52 | public function output() { 53 | 54 | $output = ''; 55 | $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] ); 56 | $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : ''; 57 | $mode = ( ! empty( $this->field['output_mode'] ) ) ? $this->field['output_mode'] : 'width'; 58 | $unit = ( ! empty( $this->field['unit'] ) ) ? $this->field['unit'] : 'px'; 59 | 60 | if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) { 61 | foreach ( $elements as $key_property => $element ) { 62 | if ( is_numeric( $key_property ) ) { 63 | if ( $mode ) { 64 | $output = implode( ',', $elements ) .'{'. $mode .':'. $this->value . $unit . $important .';}'; 65 | } 66 | break; 67 | } else { 68 | $output .= $element .'{'. $key_property .':'. $this->value . $unit . $important .'}'; 69 | } 70 | } 71 | } 72 | 73 | $this->parent->output_css .= $output; 74 | 75 | return $output; 76 | 77 | } 78 | 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/sortable/sortable.php: -------------------------------------------------------------------------------- 1 | field_before(); 20 | 21 | echo '
    '; 22 | 23 | $pre_sortby = array(); 24 | $pre_fields = array(); 25 | 26 | // Add array-keys to defined fields for sort by 27 | foreach ( $this->field['fields'] as $key => $field ) { 28 | $pre_fields[$field['id']] = $field; 29 | } 30 | 31 | // Set sort by by saved-value or default-value 32 | if ( ! empty( $this->value ) ) { 33 | 34 | foreach ( $this->value as $key => $value ) { 35 | $pre_sortby[$key] = $pre_fields[$key]; 36 | } 37 | 38 | $diff = array_diff_key( $pre_fields, $this->value ); 39 | 40 | if( ! empty( $diff ) ) { 41 | $pre_sortby = array_merge( $pre_sortby, $diff ); 42 | } 43 | 44 | } else { 45 | 46 | foreach ( $pre_fields as $key => $value ) { 47 | $pre_sortby[$key] = $value; 48 | } 49 | 50 | } 51 | 52 | foreach ( $pre_sortby as $key => $field ) { 53 | 54 | echo '
    '; 55 | 56 | echo '
    '; 57 | 58 | $field_default = ( isset( $this->field['default'][$key] ) ) ? $this->field['default'][$key] : ''; 59 | $field_value = ( isset( $this->value[$key] ) ) ? $this->value[$key] : $field_default; 60 | $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id']; 61 | 62 | CSF::field( $field, $field_value, $unique_id, 'field/sortable' ); 63 | 64 | echo '
    '; 65 | 66 | echo '
    '; 67 | 68 | echo '
    '; 69 | 70 | } 71 | 72 | echo '
    '; 73 | 74 | echo $this->field_after(); 75 | 76 | } 77 | 78 | public function enqueue($enq_js = true) { 79 | 80 | // if ( ! wp_script_is( 'jquery-ui-sortable' ) ) { 81 | // wp_enqueue_script( 'jquery-ui-sortable' ); 82 | // } 83 | if ($enq_js){ 84 | return enqueue_script_helper('jquery-ui-sortable'); 85 | } 86 | 87 | } 88 | 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/sorter/sorter.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'disabled' => true, 21 | 'enabled_title' => esc_html__( 'Enabled', 'csf' ), 22 | 'disabled_title' => esc_html__( 'Disabled', 'csf' ), 23 | ) ); 24 | 25 | echo $this->field_before(); 26 | 27 | $this->value = ( ! empty( $this->value ) ) ? $this->value : $this->field['default']; 28 | $enabled_options = ( ! empty( $this->value['enabled'] ) ) ? $this->value['enabled'] : array(); 29 | $disabled_options = ( ! empty( $this->value['disabled'] ) ) ? $this->value['disabled'] : array(); 30 | 31 | echo '
    '; 32 | 33 | echo ( $args['disabled'] ) ? '
    ' : ''; 34 | 35 | echo ( ! empty( $args['enabled_title'] ) ) ? '
    '. esc_attr( $args['enabled_title'] ) .'
    ' : ''; 36 | echo '
      '; 37 | if ( ! empty( $enabled_options ) ) { 38 | foreach ( $enabled_options as $key => $value ) { 39 | echo '
    • '; 40 | } 41 | } 42 | echo '
    '; 43 | 44 | // Check for hide/show disabled section 45 | if ( $args['disabled'] ) { 46 | 47 | echo '
    '; 48 | 49 | echo '
    '; 50 | echo ( ! empty( $args['disabled_title'] ) ) ? '
    '. esc_attr( $args['disabled_title'] ) .'
    ' : ''; 51 | echo '
      '; 52 | if ( ! empty( $disabled_options ) ) { 53 | foreach ( $disabled_options as $key => $value ) { 54 | echo '
    • '; 55 | } 56 | } 57 | echo '
    '; 58 | echo '
    '; 59 | 60 | } 61 | 62 | 63 | echo $this->field_after(); 64 | 65 | } 66 | 67 | public function enqueue($enq_js = true) { 68 | 69 | // if ( ! wp_script_is( 'jquery-ui-sortable' ) ) { 70 | // wp_enqueue_script( 'jquery-ui-sortable' ); 71 | // } 72 | if ($enq_js){ 73 | return enqueue_script_helper('jquery-ui-sortable'); 74 | } 75 | 76 | } 77 | 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/spinner/spinner.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'max' => 100, 21 | 'min' => 0, 22 | 'step' => 1, 23 | 'unit' => '', 24 | ) ); 25 | 26 | echo $this->field_before(); 27 | 28 | echo '
    field_attributes( array( 'class' => 'csf-input-number' ) ) .' data-min="'. esc_attr( $args['min'] ) .'" data-max="'. esc_attr( $args['max'] ) .'" data-step="'. esc_attr( $args['step'] ) .'" data-unit="'. esc_attr( $args['unit'] ) .'" step="any" />
    '; 29 | 30 | echo $this->field_after(); 31 | 32 | } 33 | 34 | public function enqueue($enq_js = true) { 35 | 36 | // if ( ! wp_script_is( 'jquery-ui-spinner' ) ) { 37 | // wp_enqueue_script( 'jquery-ui-spinner' ); 38 | // } 39 | if ($enq_js){ 40 | return enqueue_script_helper('jquery-ui-button').enqueue_script_helper('jquery-ui-spinner'); 41 | } 42 | 43 | } 44 | 45 | public function output() { 46 | 47 | $output = ''; 48 | $elements = ( is_array( $this->field['output'] ) ) ? $this->field['output'] : array_filter( (array) $this->field['output'] ); 49 | $important = ( ! empty( $this->field['output_important'] ) ) ? '!important' : ''; 50 | $mode = ( ! empty( $this->field['output_mode'] ) ) ? $this->field['output_mode'] : 'width'; 51 | $unit = ( ! empty( $this->field['unit'] ) ) ? $this->field['unit'] : 'px'; 52 | 53 | if ( ! empty( $elements ) && isset( $this->value ) && $this->value !== '' ) { 54 | foreach ( $elements as $key_property => $element ) { 55 | if ( is_numeric( $key_property ) ) { 56 | if ( $mode ) { 57 | $output = implode( ',', $elements ) .'{'. $mode .':'. $this->value . $unit . $important .';}'; 58 | } 59 | break; 60 | } else { 61 | $output .= $element .'{'. $key_property .':'. $this->value . $unit . $important .'}'; 62 | } 63 | } 64 | } 65 | 66 | $this->parent->output_css .= $output; 67 | 68 | return $output; 69 | 70 | } 71 | 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/subheading/subheading.php: -------------------------------------------------------------------------------- 1 | field['content'] ) ) ? $this->field['content'] : ''; 20 | 21 | } 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/submessage/submessage.php: -------------------------------------------------------------------------------- 1 | field['style'] ) ) ? $this->field['style'] : 'normal'; 20 | 21 | echo '
    '. $this->field['content'] .'
    '; 22 | 23 | } 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/switcher/switcher.php: -------------------------------------------------------------------------------- 1 | value ) ) ? ' csf--active' : ''; 20 | $text_on = ( ! empty( $this->field['text_on'] ) ) ? $this->field['text_on'] : esc_html__( 'On', 'csf' ); 21 | $text_off = ( ! empty( $this->field['text_off'] ) ) ? $this->field['text_off'] : esc_html__( 'Off', 'csf' ); 22 | $text_width = ( ! empty( $this->field['text_width'] ) ) ? ' style="width: '. esc_attr( $this->field['text_width'] ) .'px;"': ''; 23 | 24 | echo $this->field_before(); 25 | 26 | echo '
    '; 27 | echo ''. esc_attr( $text_on ) .''; 28 | echo ''. esc_attr( $text_off ) .''; 29 | echo ''; 30 | echo 'field_attributes() .' />'; 31 | echo '
    '; 32 | 33 | echo ( ! empty( $this->field['label'] ) ) ? ''. esc_attr( $this->field['label'] ) . '' : ''; 34 | 35 | echo $this->field_after(); 36 | 37 | } 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/tabbed/tabbed.php: -------------------------------------------------------------------------------- 1 | field_before(); 22 | 23 | echo '
    '; 24 | foreach ( $this->field['tabs'] as $key => $tab ) { 25 | 26 | $tabbed_icon = ( ! empty( $tab['icon'] ) ) ? '' : ''; 27 | $tabbed_active = ( empty( $key ) ) ? 'csf-tabbed-active' : ''; 28 | 29 | echo ''. $tabbed_icon . esc_attr( $tab['title'] ) .''; 30 | 31 | } 32 | echo '
    '; 33 | 34 | echo '
    '; 35 | foreach ( $this->field['tabs'] as $key => $tab ) { 36 | 37 | $tabbed_hidden = ( ! empty( $key ) ) ? ' hidden' : ''; 38 | 39 | echo '
    '; 40 | 41 | foreach ( $tab['fields'] as $field ) { 42 | 43 | if ( in_array( $field['type'], $unallows ) ) { $field['_notice'] = true; } 44 | 45 | $field_id = ( isset( $field['id'] ) ) ? $field['id'] : ''; 46 | $field_default = ( isset( $field['default'] ) ) ? $field['default'] : ''; 47 | $field_value = ( isset( $this->value[$field_id] ) ) ? $this->value[$field_id] : $field_default; 48 | $unique_id = ( ! empty( $this->unique ) ) ? $this->unique .'['. $this->field['id'] .']' : $this->field['id']; 49 | 50 | CSF::field( $field, $field_value, $unique_id, 'field/tabbed' ); 51 | 52 | } 53 | 54 | echo '
    '; 55 | 56 | } 57 | echo '
    '; 58 | 59 | echo $this->field_after(); 60 | 61 | } 62 | 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/text/text.php: -------------------------------------------------------------------------------- 1 | field['attributes']['type'] ) ) ? $this->field['attributes']['type'] : 'text'; 20 | 21 | echo $this->field_before(); 22 | 23 | echo 'field_attributes() .' />'; 24 | 25 | echo $this->field_after(); 26 | 27 | } 28 | 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/textarea/textarea.php: -------------------------------------------------------------------------------- 1 | field_before(); 20 | echo $this->shortcoder(); 21 | echo ''; 22 | echo $this->field_after(); 23 | 24 | } 25 | 26 | public function shortcoder() { 27 | 28 | if ( ! empty( $this->field['shortcoder'] ) ) { 29 | 30 | $instances = ( is_array( $this->field['shortcoder'] ) ) ? $this->field['shortcoder'] : array_filter( (array) $this->field['shortcoder'] ); 31 | 32 | foreach ( $instances as $instance_key ) { 33 | 34 | if ( isset( CSF::$shortcode_instances[$instance_key] ) ) { 35 | 36 | $button_title = CSF::$shortcode_instances[$instance_key]['button_title']; 37 | 38 | echo ''. $button_title .''; 39 | 40 | } 41 | 42 | } 43 | 44 | } 45 | 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/upload/upload.php: -------------------------------------------------------------------------------- 1 | field, array( 20 | 'library' => array(), 21 | 'preview' => true, 22 | 'preview_width' => '', 23 | 'preview_height' => '', 24 | 'button_title' => esc_html__( 'Upload', 'csf' ), 25 | 'remove_title' => esc_html__( 'Remove', 'csf' ), 26 | ) ); 27 | 28 | echo $this->field_before(); 29 | 30 | $library = ( is_array( $args['library'] ) ) ? $args['library'] : array_filter( (array) $args['library'] ); 31 | $library = ( ! empty( $library ) ) ? implode(',', $library ) : ''; 32 | $hidden = ( empty( $this->value ) ) ? ' hidden' : ''; 33 | 34 | if ( ! empty( $args['preview'] ) ) { 35 | 36 | $preview_type = ( ! empty( $this->value ) ) ? strtolower( substr( strrchr( $this->value, '.' ), 1 ) ) : ''; 37 | $preview_src = ( ! empty( $preview_type ) && in_array( $preview_type, array( 'jpg', 'jpeg', 'gif', 'png', 'svg', 'webp' ) ) ) ? $this->value : ''; 38 | $preview_width = ( ! empty( $args['preview_width'] ) ) ? 'max-width:'. esc_attr( $args['preview_width'] ) .'px;' : ''; 39 | $preview_height = ( ! empty( $args['preview_height'] ) ) ? 'max-height:'. esc_attr( $args['preview_height'] ) .'px;' : ''; 40 | $preview_style = ( ! empty( $preview_width ) || ! empty( $preview_height ) ) ? ' style="'. esc_attr( $preview_width . $preview_height ) .'"': ''; 41 | $preview_hidden = ( empty( $preview_src ) ) ? ' hidden' : ''; 42 | 43 | echo '
    '; 44 | echo '
    '; 45 | echo ''; 46 | echo '
    '; 47 | echo '
    '; 48 | 49 | } 50 | 51 | echo '
    '; 52 | echo 'field_attributes() .'/>'; 53 | echo ''. $args['button_title'] .''; 54 | echo ''. $args['remove_title'] .''; 55 | echo '
    '; 56 | 57 | echo $this->field_after(); 58 | 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/fields/wp_editor/wp_editor.php: -------------------------------------------------------------------------------- 1 | field, array( 22 | 'tinymce' => true, 23 | 'quicktags' => true, 24 | 'media_buttons' => true, 25 | 'wpautop' => false, 26 | 'height' => '', 27 | ) ); 28 | 29 | $attributes = array( 30 | 'rows' => 10, 31 | 'class' => 'wp-editor-area', 32 | 'autocomplete' => 'off', 33 | ); 34 | 35 | $editor_height = ( ! empty( $args['height'] ) ) ? ' style="height:'. esc_attr( $args['height'] ) .';"' : ''; 36 | 37 | $editor_settings = array( 38 | 'tinymce' => $args['tinymce'], 39 | 'quicktags' => $args['quicktags'], 40 | 'media_buttons' => $args['media_buttons'], 41 | 'wpautop' => $args['wpautop'], 42 | ); 43 | 44 | echo $this->field_before(); 45 | 46 | echo ( csf_wp_editor_api() ) ? '
    ' : ''; 47 | 48 | echo ''; 49 | 50 | echo ( csf_wp_editor_api() ) ? '
    ' : ''; 51 | 52 | echo $this->field_after(); 53 | 54 | } 55 | 56 | public function enqueue() { 57 | 58 | if ( csf_wp_editor_api() && function_exists( 'wp_enqueue_editor' ) ) { 59 | 60 | wp_enqueue_editor(); 61 | 62 | $this->setup_wp_editor_settings(); 63 | 64 | // add_action( 'print_default_editor_scripts', array( $this, 'setup_wp_editor_media_buttons' ) ); 65 | 66 | } 67 | 68 | } 69 | 70 | // Setup wp editor media buttons 71 | public function setup_wp_editor_media_buttons() { 72 | 73 | if ( ! function_exists( 'media_buttons' ) ) { 74 | return; 75 | } 76 | 77 | ob_start(); 78 | echo '
    '; 79 | do_action( 'media_buttons' ); 80 | echo '
    '; 81 | $media_buttons = ob_get_clean(); 82 | 83 | echo ''; 86 | 87 | } 88 | 89 | // Setup wp editor settings 90 | public function setup_wp_editor_settings() { 91 | 92 | if ( csf_wp_editor_api() && class_exists( '_WP_Editors') ) { 93 | 94 | $defaults = apply_filters( 'csf_wp_editor', array( 95 | 'tinymce' => array( 96 | 'wp_skip_init' => true 97 | ), 98 | ) ); 99 | 100 | $setup = _WP_Editors::parse_settings( 'csf_wp_editor', $defaults ); 101 | 102 | _WP_Editors::editor_settings( 'csf_wp_editor', $setup ); 103 | 104 | } 105 | 106 | } 107 | 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/functions/class.wp_roles.php: -------------------------------------------------------------------------------- 1 | roles = [ 22 | 'administrator' => [ 23 | 'name' => '管理员' 24 | ], 25 | 'editor' => [ 26 | 'name' => '编辑' 27 | ], 28 | 'contributor' => [ 29 | 'name' => '贡献者' 30 | ], 31 | 'subscriber' => [ 32 | 'name' => '关注者' 33 | ], 34 | 'visitor' => [ 35 | 'name' => '访问者' 36 | ], 37 | ]; 38 | 39 | } 40 | 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/functions/helpers.php: -------------------------------------------------------------------------------- 1 | =' ); 59 | } 60 | } 61 | 62 | 63 | if (!function_exists('get_plugin_theme_name')){ 64 | function get_plugin_theme_name(){ 65 | $requestObject = \Typecho\Request::getInstance(); 66 | $curUri = $requestObject->getRequestUri(); 67 | if (strpos($curUri, 'options-plugin.php')!==false){ // if is plugin 68 | parse_str(parse_url($curUri,PHP_URL_QUERY),$query_arr); 69 | 70 | if (array_key_exists('config', $query_arr)){ 71 | return $query_arr['config']; 72 | 73 | } 74 | } elseif (strpos($curUri, 'options-theme.php')!==false){ 75 | $options = Options::alloc(); 76 | return $options->theme; 77 | } 78 | return null; 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/functions/sanitize.php: -------------------------------------------------------------------------------- 1 | add( 'required', esc_html__( 'Please enter a valid email address.', 'csf' ) ); 87 | } 88 | 89 | return $validity; 90 | 91 | } 92 | } 93 | 94 | /** 95 | * 96 | * Numeric validate for Customizer 97 | * 98 | * @since 1.0.0 99 | * @version 1.0.0 100 | * 101 | */ 102 | if ( ! function_exists( 'csf_customize_validate_numeric' ) ) { 103 | function csf_customize_validate_numeric( $validity, $value, $wp_customize ) { 104 | 105 | if ( ! is_numeric( $value ) ) { 106 | $validity->add( 'required', esc_html__( 'Please enter a valid number.', 'csf' ) ); 107 | } 108 | 109 | return $validity; 110 | 111 | } 112 | } 113 | 114 | /** 115 | * 116 | * Required validate for Customizer 117 | * 118 | * @since 1.0.0 119 | * @version 1.0.0 120 | * 121 | */ 122 | if ( ! function_exists( 'csf_customize_validate_required' ) ) { 123 | function csf_customize_validate_required( $validity, $value, $wp_customize ) { 124 | 125 | if ( empty( $value ) ) { 126 | $validity->add( 'required', esc_html__( 'This field is required.', 'csf' ) ); 127 | } 128 | 129 | return $validity; 130 | 131 | } 132 | } 133 | 134 | /** 135 | * 136 | * URL validate for Customizer 137 | * 138 | * @since 1.0.0 139 | * @version 1.0.0 140 | * 141 | */ 142 | if ( ! function_exists( 'csf_customize_validate_url' ) ) { 143 | function csf_customize_validate_url( $validity, $value, $wp_customize ) { 144 | 145 | if ( ! filter_var( $value, FILTER_VALIDATE_URL ) ) { 146 | $validity->add( 'required', esc_html__( 'Please enter a valid URL.', 'csf' ) ); 147 | } 148 | 149 | return $validity; 150 | 151 | } 152 | } 153 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/functions/walker.php: -------------------------------------------------------------------------------- 1 | ID, $item, $depth, $args ); 21 | $custom_fields = ob_get_clean(); 22 | 23 | $output .= preg_replace( '/(?=<(fieldset|p)[^>]+class="[^"]*field-move)/', $custom_fields, $html ); 24 | 25 | } 26 | 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /配套插件/BearDocsCore/index.php: -------------------------------------------------------------------------------- 1 |