PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.2.6
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.2.6
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 +120 -59 3.5.14.2.6 View file →
@@ -1,80 +1,141 @@
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-article-summary', 'public/css/article-summary.css' );
51 + $assets->register( 'betterdocs-author', 'public/css/author.css' );
45 52
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'] );
53 + $assets->register( 'betterdocs-category-grid', 'public/css/category-grid.css', [ 'simplebar' ] );
54 + $assets->register( 'betterdocs-category-box', 'public/css/category-box.css' );
55 + $assets->register( 'betterdocs-category-grid-list', 'public/css/category-grid-list.css' );
56 56
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 - ] );
57 + // JS
58 + $assets->register( 'betterdocs', 'public/js/betterdocs.js', [ 'jquery' ] );
59 + // Shortcode JS
60 + $assets->register( 'betterdocs-category-toggler', 'public/js/category-toggler.js', [ 'jquery' ] );
61 + $assets->register(
62 + 'betterdocs-category-grid',
63 + 'public/js/category-grid.js',
64 + [
65 + 'jquery',
66 + 'masonry',
67 + 'simplebar',
68 + 'betterdocs-category-toggler'
69 + ]
70 + );
71 + $assets->register( 'betterdocs-faq', 'shortcodes/js/faq.js', [ 'jquery' ] );
72 + $assets->register( 'betterdocs-reactions', 'shortcodes/js/reactions.js', [ 'jquery' ] );
73 + $assets->register( 'betterdocs-search', 'shortcodes/js/search.js', [ 'jquery' ] );
74 + $assets->register( 'betterdocs-search-modal', 'shortcodes/js/search-modal.js', [ 'jquery' ] );
62 75
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 - ] );
76 + $assets->localize(
77 + 'betterdocs',
78 + 'betterdocsConfig',
79 + [
80 + 'ajax_url' => admin_url( 'admin-ajax.php' ),
81 + 'copy_text' => __( 'Copied', 'betterdocs' ),
82 + 'sticky_toc_offset' => $this->settings->get( 'sticky_toc_offset' ),
83 + 'summary_nonce' => wp_create_nonce( 'betterdocs_article_summary_nonce' ),
84 + 'summary_error' => __( 'Failed to generate doc summary. Please try again.', 'betterdocs' )
85 + ]
86 + );
67 87
68 - $this->blocks( $assets );
88 + $assets->localize(
89 + 'betterdocs-search',
90 + 'betterdocsSearchConfig',
91 + [
92 + 'ajax_url' => admin_url( 'admin-ajax.php' ),
93 + 'search_letter_limit' => $this->settings->get( 'search_letter_limit' )
94 + ]
95 + );
69 96
70 - return $assets;
71 - }
97 + $assets->localize(
98 + 'betterdocs-search-modal',
99 + 'betterdocsSearchModalConfig',
100 + [
101 + 'ajax_url' => admin_url( 'admin-ajax.php' ),
102 + 'rest_url' => esc_url_raw(rest_url()),
103 + 'advance_search' => $this->settings->get( 'advance_search' ),
104 + 'child_category_exclude' => $this->settings->get( 'child_category_exclude' ),
105 + 'popular_keyword_limit' => $this->settings->get( 'popular_keyword_limit' ),
106 + 'search_letter_limit' => $this->settings->get( 'search_letter_limit' ),
107 + 'search_placeholder' => $this->settings->get( 'search_placeholder' ),
108 + 'search_button_text' => $this->settings->get( 'search_button_text' ),
109 + 'search_not_found_text' => $this->settings->get( 'search_not_found_text' ),
110 + 'kb_based_search' => $this->settings->get( 'kb_based_search' )
111 + ]
112 + );
72 113
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 - }
114 + /**
115 + * Localize This In Order To Know If This Shortcode Is Arriving From Betterdocs Templates Or Not
116 + */
117 + betterdocs()->assets->localize(
118 + 'betterdocs-category-grid',
119 + 'betterdocsCategoryGridConfig',
120 + [
121 + 'is_betterdocs_templates' => betterdocs()->helper->is_templates() ? true : false
122 + ]
123 + );
124 +
125 + $this->blocks( $assets );
126 +
127 + return $assets;
128 + }
129 +
130 +
131 +
132 + public function blocks( $assets ) {
133 + $assets->register( 'betterdocs-fontawesome', 'vendor/css/font-awesome5.css' );
134 + $assets->register( 'betterdocs-blocks-category-box', 'blocks/categorybox/default.css' );
135 + $assets->register( 'betterdocs-blocks-category-grid', 'blocks/categorygrid/default.css' );
136 + $assets->register( 'betterdocs-blocks-category-tech-layout', 'blocks/category-tech-layout/default.css' );
137 + $assets->register( 'betterdocs-blocks-category-slate-layout', 'blocks/category-slate-layout/default.css' );
138 + $assets->register( 'betterdocs-feedback-form-editor', 'blocks/feedback-form/style-feedback-editor.css' );
139 + $assets->register( 'betterdocs-doc-archive-list', 'blocks/doc-archive-list/default.css' );
140 + }
80 141 }