PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 3.8.9
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v3.8.9
4.9.1 4.9.0 4.8.2 4.8.1 4.8.0 4.7.0 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 3.3.4 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.5.2 All 199 releases
← All changes | includes/Core/Scripts.php +113 -59 3.5.23.8.9 View file →
@@ -1,80 +1,134 @@
1 1 <?php
2 2
3 3 namespace WPDeveloper\BetterDocs\Core;
4 +
4 5 use WPDeveloper\BetterDocs\Utils\Base;
6 +use WPDeveloper\BetterDocs\Utils\Helper;
5 7
6 8 class Scripts extends Base {
7 - protected $settings;
9 + protected $settings;
8 10
9 - public function __construct( Settings $settings ) {
10 - $this->settings = $settings;
11 + public function __construct( Settings $settings ) {
12 + $this->settings = $settings;
11 13
12 - add_action( 'init', [$this, 'init'], 1 );
13 - }
14 + add_action( 'init', [ $this, 'init' ], 1 );
15 + }
14 16
15 - public function init() {
16 - $assets = betterdocs()->assets;
17 + public function init() {
18 + $assets = betterdocs()->assets;
17 19
18 - // Vendor CSS
19 - $assets->register( 'simplebar', 'vendor/css/simplebar.css' );
20 + // Vendor CSS
21 + $assets->register( 'simplebar', 'vendor/css/simplebar.css' );
20 22
21 - // Vendor JS
22 - $assets->register( 'simplebar', 'vendor/js/simplebar.js' );
23 - $assets->register( 'clipboard', 'vendor/js/clipboard.min.js' );
23 + // Vendor JS
24 + $assets->register( 'simplebar', 'vendor/js/simplebar.js' );
24 25
25 - // Shortcodes Styles Registrations
26 - $assets->register( 'betterdocs-search', 'public/css/search.css' );
27 - $assets->register( 'betterdocs-social-share', 'public/css/social-share.css' );
28 - $assets->register( 'betterdocs-feedback-form', 'public/css/feedback-form.css' );
29 - $assets->register( 'betterdocs-reactions', 'public/css/reactions.css' );
30 - $assets->register( 'betterdocs-toc', 'public/css/toc.css' );
31 - $assets->register( 'betterdocs-faq', 'public/css/faq.css' );
32 - $assets->register( 'betterdocs-category-tab-grid', 'public/css/category-tab-grid.css' );
33 - $assets->register( 'reading-time', 'public/css/reading-time.css' );
26 + if ( ! wp_script_is( 'clipboard', 'registered' ) ) {
27 + $assets->register( 'clipboard', 'vendor/js/clipboard.min.js' );
28 + }
34 29
35 - // Template Parts
36 - $assets->register( 'betterdocs-sidebar', 'public/css/sidebar.css' );
37 - $assets->register( 'betterdocs-breadcrumb', 'public/css/breadcrumb.css' );
38 - $assets->register( 'betterdocs-single', 'public/css/single.css' );
39 - $assets->register( 'betterdocs-docs', 'public/css/docs.css' );
40 - $assets->register( 'betterdocs-doc_category', 'public/css/tax-doc_category.css', ['betterdocs-breadcrumb'] );
30 + // Shortcodes Styles Registrations
31 + $assets->register( 'betterdocs-search', 'public/css/search.css' );
32 + $assets->register( 'betterdocs-search-modal', 'public/css/search-modal.css' );
33 + $assets->register( 'betterdocs-social-share', 'public/css/social-share.css' );
34 + $assets->register( 'betterdocs-feedback-form', 'public/css/feedback-form.css' );
35 + $assets->register( 'betterdocs-reactions', 'public/css/reactions.css' );
36 + $assets->register( 'betterdocs-toc', 'public/css/toc.css' );
37 + $assets->register( 'betterdocs-faq', 'public/css/faq.css' );
38 + $assets->register( 'betterdocs-category-tab-grid', 'public/css/category-tab-grid.css' );
39 + $assets->register( 'reading-time', 'public/css/reading-time.css' );
41 40
42 - $assets->register( 'betterdocs-category-grid', 'public/css/category-grid.css', ['simplebar'] );
43 - $assets->register( 'betterdocs-category-box', 'public/css/category-box.css' );
44 - $assets->register( 'betterdocs-category-grid-list', 'public/css/category-grid-list.css' );
41 + // Template Parts
42 + $assets->register( 'betterdocs-sidebar', 'public/css/sidebar.css' );
43 + $assets->register( 'betterdocs-breadcrumb', 'public/css/breadcrumb.css' );
44 + $assets->register( 'betterdocs-single', 'public/css/single.css' );
45 + $assets->register( 'betterdocs-docs', 'public/css/docs.css' );
46 + $assets->register( 'betterdocs-pagination', 'public/css/pagination.css' );
47 + $assets->register( 'betterdocs-doc_category', 'public/css/tax-doc_category.css', [ 'betterdocs-breadcrumb', 'betterdocs-pagination' ] );
48 + $assets->register( 'betterdocs-category-archive-header', 'public/css/archive-header.css' );
49 + $assets->register( 'betterdocs-category-archive-doc-list', 'public/css/archive-doc-list.css' );
50 + $assets->register( 'betterdocs-author', 'public/css/author.css' );
45 51
46 - // JS
47 - $assets->register( 'betterdocs', 'public/js/betterdocs.js', ['jquery'] );
48 - // Shortcode JS
49 - $assets->register( 'betterdocs-category-toggler', 'public/js/category-toggler.js', ['jquery'] );
50 - $assets->register( 'betterdocs-category-grid', 'public/js/category-grid.js', [
51 - 'jquery', 'masonry', 'simplebar', 'betterdocs-category-toggler'
52 - ] );
53 - $assets->register( 'betterdocs-faq', 'shortcodes/js/faq.js', ['jquery'] );
54 - $assets->register( 'betterdocs-reactions', 'shortcodes/js/reactions.js', ['jquery'] );
55 - $assets->register( 'betterdocs-search', 'shortcodes/js/search.js', ['jquery'] );
52 + $assets->register( 'betterdocs-category-grid', 'public/css/category-grid.css', [ 'simplebar' ] );
53 + $assets->register( 'betterdocs-category-box', 'public/css/category-box.css' );
54 + $assets->register( 'betterdocs-category-grid-list', 'public/css/category-grid-list.css' );
56 55
57 - $assets->localize( 'betterdocs', 'betterdocsConfig', [
58 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
59 - 'copy_text' => __( 'Copied', 'betterdocs' ),
60 - 'sticky_toc_offset' => $this->settings->get( 'sticky_toc_offset' )
61 - ] );
56 + // JS
57 + $assets->register( 'betterdocs', 'public/js/betterdocs.js', [ 'jquery' ] );
58 + // Shortcode JS
59 + $assets->register( 'betterdocs-category-toggler', 'public/js/category-toggler.js', [ 'jquery' ] );
60 + $assets->register(
61 + 'betterdocs-category-grid',
62 + 'public/js/category-grid.js',
63 + [
64 + 'jquery',
65 + 'masonry',
66 + 'simplebar',
67 + 'betterdocs-category-toggler'
68 + ]
69 + );
70 + $assets->register( 'betterdocs-faq', 'shortcodes/js/faq.js', [ 'jquery' ] );
71 + $assets->register( 'betterdocs-reactions', 'shortcodes/js/reactions.js', [ 'jquery' ] );
72 + $assets->register( 'betterdocs-search', 'shortcodes/js/search.js', [ 'jquery' ] );
73 + $assets->register( 'betterdocs-search-modal', 'shortcodes/js/search-modal.js', [ 'jquery' ] );
62 74
63 - $assets->localize( 'betterdocs-search', 'betterdocsSearchConfig', [
64 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
65 - 'search_letter_limit' => $this->settings->get( 'search_letter_limit' )
66 - ] );
75 + $assets->localize(
76 + 'betterdocs',
77 + 'betterdocsConfig',
78 + [
79 + 'ajax_url' => admin_url( 'admin-ajax.php' ),
80 + 'copy_text' => __( 'Copied', 'betterdocs' ),
81 + 'sticky_toc_offset' => $this->settings->get( 'sticky_toc_offset' )
82 + ]
83 + );
67 84
68 - $this->blocks( $assets );
85 + $assets->localize(
86 + 'betterdocs-search',
87 + 'betterdocsSearchConfig',
88 + [
89 + 'ajax_url' => admin_url( 'admin-ajax.php' ),
90 + 'search_letter_limit' => $this->settings->get( 'search_letter_limit' )
91 + ]
92 + );
69 93
70 - return $assets;
71 - }
94 + $assets->localize(
95 + 'betterdocs-search-modal',
96 + 'betterdocsSearchModalConfig',
97 + [
98 + 'ajax_url' => admin_url( 'admin-ajax.php' ),
99 + 'rest_url' => esc_url_raw(rest_url()),
100 + 'advance_search' => $this->settings->get( 'advance_search' ),
101 + 'child_category_exclude' => $this->settings->get( 'child_category_exclude' ),
102 + 'popular_keyword_limit' => $this->settings->get( 'popular_keyword_limit' ),
103 + 'search_letter_limit' => $this->settings->get( 'search_letter_limit' ),
104 + 'search_placeholder' => $this->settings->get( 'search_placeholder' ),
105 + 'search_button_text' => $this->settings->get( 'search_button_text' ),
106 + 'search_not_found_text' => $this->settings->get( 'search_not_found_text' ),
107 + 'kb_based_search' => $this->settings->get( 'kb_based_search' )
108 + ]
109 + );
72 110
73 - public function blocks( $assets ) {
74 - $assets->register( 'betterdocs-fontawesome', 'vendor/css/font-awesome5.css' );
75 - $assets->register( 'betterdocs-blocks-category-box', 'blocks/categorybox/default.css' );
76 - $assets->register( 'betterdocs-blocks-category-grid', 'blocks/categorygrid/default.css' );
77 - $assets->register( 'betterdocs-feedback-form-editor', 'blocks/feedback-form/style-feedback-editor.css' );
78 - $assets->register( 'betterdocs-doc-archive-list', 'blocks/doc-archive-list/default.css' );
79 - }
111 + /**
112 + * Localize This In Order To Know If This Shortcode Is Arriving From Betterdocs Templates Or Not
113 + */
114 + betterdocs()->assets->localize(
115 + 'betterdocs-category-grid',
116 + 'betterdocsCategoryGridConfig',
117 + [
118 + 'is_betterdocs_templates' => betterdocs()->helper->is_templates() ? true : false
119 + ]
120 + );
121 +
122 + $this->blocks( $assets );
123 +
124 + return $assets;
125 + }
126 +
127 + public function blocks( $assets ) {
128 + $assets->register( 'betterdocs-fontawesome', 'vendor/css/font-awesome5.css' );
129 + $assets->register( 'betterdocs-blocks-category-box', 'blocks/categorybox/default.css' );
130 + $assets->register( 'betterdocs-blocks-category-grid', 'blocks/categorygrid/default.css' );
131 + $assets->register( 'betterdocs-feedback-form-editor', 'blocks/feedback-form/style-feedback-editor.css' );
132 + $assets->register( 'betterdocs-doc-archive-list', 'blocks/doc-archive-list/default.css' );
133 + }
80 134 }