PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 3.5.3
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v3.5.3
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 +60 -155 4.9.13.5.3 View file →
@@ -1,175 +1,80 @@
1 1 <?php
2 +
2 3 namespace WPDeveloper\BetterDocs\Core;
3 -
4 -if ( ! defined( 'ABSPATH' ) ) {
5 - exit;
6 -}
7 -
8 -
9 4 use WPDeveloper\BetterDocs\Utils\Base;
10 -use WPDeveloper\BetterDocs\Utils\Helper;
11 -use WPDeveloper\BetterDocs\FrontEnd\PrintTemplate;
12 5
13 6 class Scripts extends Base {
14 - protected $settings;
7 + protected $settings;
15 8
16 - public function __construct( Settings $settings ) {
17 - $this->settings = $settings;
9 + public function __construct( Settings $settings ) {
10 + $this->settings = $settings;
18 11
19 - add_action( 'init', [ $this, 'init' ], 1 );
20 - }
12 + add_action( 'init', [$this, 'init'], 1 );
13 + }
21 14
22 - public function init() {
23 - $assets = betterdocs()->assets;
15 + public function init() {
16 + $assets = betterdocs()->assets;
24 17
25 - // Vendor CSS
26 - $assets->register( 'simplebar', 'vendor/css/simplebar.css' );
18 + // Vendor CSS
19 + $assets->register( 'simplebar', 'vendor/css/simplebar.css' );
27 20
28 - // Vendor JS
29 - $assets->register( 'simplebar', 'vendor/js/simplebar.js' );
21 + // Vendor JS
22 + $assets->register( 'simplebar', 'vendor/js/simplebar.js' );
23 + $assets->register( 'clipboard', 'vendor/js/clipboard.min.js' );
30 24
31 - if ( ! wp_script_is( 'clipboard', 'registered' ) ) {
32 - $assets->register( 'clipboard', 'vendor/js/clipboard.min.js' );
33 - }
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' );
34 34
35 - // Shortcodes Styles Registrations
36 - $assets->register( 'betterdocs-search', 'public/css/search.css' );
37 - $assets->register( 'betterdocs-search-modal', 'public/css/search-modal.css' );
38 - $assets->register( 'betterdocs-social-share', 'public/css/social-share.css' );
39 - $assets->register( 'betterdocs-feedback-form', 'public/css/feedback-form.css' );
40 - $assets->register( 'betterdocs-reactions', 'public/css/reactions.css' );
41 - $assets->register( 'betterdocs-toc', 'public/css/toc.css' );
42 - $assets->register( 'betterdocs-faq', 'public/css/faq.css' );
43 - $assets->register( 'betterdocs-category-tab-grid', 'public/css/category-tab-grid.css' );
44 - $assets->register( 'reading-time', 'public/css/reading-time.css' );
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'] );
45 41
46 - // Template Parts
47 - $assets->register( 'betterdocs-sidebar', 'public/css/sidebar.css' );
48 - $assets->register( 'betterdocs-breadcrumb', 'public/css/breadcrumb.css' );
49 - $assets->register( 'betterdocs-single', 'public/css/single.css' );
50 - $assets->register( 'betterdocs-docs', 'public/css/docs.css' );
51 - $assets->register( 'betterdocs-pagination', 'public/css/pagination.css' );
52 - $assets->register( 'betterdocs-doc_category', 'public/css/tax-doc_category.css', [ 'betterdocs-breadcrumb', 'betterdocs-pagination' ] );
53 - $assets->register( 'betterdocs-category-archive-header', 'public/css/archive-header.css' );
54 - $assets->register( 'betterdocs-category-archive-doc-list', 'public/css/archive-doc-list.css' );
55 - $assets->register( 'betterdocs-article-summary', 'public/css/article-summary.css' );
56 - $assets->register( 'betterdocs-author', 'public/css/author.css' );
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' );
57 45
58 - $assets->register( 'betterdocs-category-grid', 'public/css/category-grid.css', [ 'simplebar' ] );
59 - $assets->register( 'betterdocs-category-box', 'public/css/category-box.css' );
60 - $assets->register( 'betterdocs-category-grid-list', 'public/css/category-grid-list.css' );
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'] );
61 56
62 - // JS
63 - $assets->register( 'betterdocs', 'public/js/betterdocs.js', [ 'jquery' ] );
64 - // Shortcode JS
65 - $assets->register( 'betterdocs-category-toggler', 'public/js/category-toggler.js', [ 'jquery' ] );
66 - $assets->register(
67 - 'betterdocs-category-grid',
68 - 'public/js/category-grid.js',
69 - [
70 - 'jquery',
71 - 'masonry',
72 - 'simplebar',
73 - 'betterdocs-category-toggler'
74 - ]
75 - );
76 - $assets->register( 'betterdocs-faq', 'shortcodes/js/faq.js', [ 'jquery' ] );
77 - $assets->register( 'betterdocs-reactions', 'shortcodes/js/reactions.js', [ 'jquery' ] );
78 - $assets->register( 'betterdocs-search', 'shortcodes/js/search.js', [ 'jquery' ] );
79 - $assets->register( 'betterdocs-search-modal', 'shortcodes/js/search-modal.js', [ 'jquery' ] );
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 + ] );
80 62
81 - /**
82 - * Print template config for the single-doc Print / Save-as-PDF button.
83 - *
84 - * These values feed the print *popup* opened by the BetterDocs print
85 - * icon. The browser's own Ctrl/Cmd+P route is handled separately by
86 - * {@see PrintTemplate}, which resolves the same two values — see that
87 - * class for why the two routes use different layout mechanisms.
88 - *
89 - * Both toggles live in `betterdocs_settings` (BetterDocs → Settings →
90 - * Layout → Single Doc → General) rather than theme mods, so they stay
91 - * reachable on block/FSE themes, which have no Customizer. Both default
92 - * to OFF; while a toggle is off the value resolves empty and the print
93 - * script renders nothing for it.
94 - */
95 - $print_logo = PrintTemplate::get_logo();
96 - $print_footer = PrintTemplate::get_footer();
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 + ] );
97 67
98 - $assets->localize(
99 - 'betterdocs',
100 - 'betterdocsConfig',
101 - [
102 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
103 - 'copy_text' => __( 'Copied', 'betterdocs' ),
104 - 'sticky_toc_offset' => $this->settings->get( 'sticky_toc_offset' ),
105 - 'summary_nonce' => wp_create_nonce( 'betterdocs_article_summary_nonce' ),
106 - 'summary_error' => __( 'Failed to generate doc summary. Please try again.', 'betterdocs' ),
107 - 'print' => [
108 - 'logo' => $print_logo ? esc_url( $print_logo ) : '',
109 - 'footer' => $print_footer ? wp_kses_post( $print_footer ) : ''
110 - ]
111 - ]
112 - );
68 + $this->blocks( $assets );
113 69
114 - $assets->localize(
115 - 'betterdocs-search',
116 - 'betterdocsSearchConfig',
117 - [
118 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
119 - 'search_letter_limit' => $this->settings->get( 'search_letter_limit' )
120 - ]
121 - );
70 + return $assets;
71 + }
122 72
123 - $assets->localize(
124 - 'betterdocs-search-modal',
125 - 'betterdocsSearchModalConfig',
126 - [
127 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
128 - 'rest_url' => esc_url_raw(rest_url()),
129 - 'advance_search' => $this->settings->get( 'advance_search' ),
130 - 'child_category_exclude' => $this->settings->get( 'child_category_exclude' ),
131 - 'popular_keyword_limit' => $this->settings->get( 'popular_keyword_limit' ),
132 - 'search_letter_limit' => $this->settings->get( 'search_letter_limit' ),
133 - 'search_placeholder' => $this->settings->get( 'search_placeholder' ),
134 - 'search_button_text' => $this->settings->get( 'search_button_text' ),
135 - 'search_not_found_text' => $this->settings->get( 'search_not_found_text' ),
136 - 'kb_based_search' => $this->settings->get( 'kb_based_search' )
137 - ]
138 - );
139 -
140 - /**
141 - * Localize This In Order To Know If This Shortcode Is Arriving From Betterdocs Templates Or Not
142 - */
143 - betterdocs()->assets->localize(
144 - 'betterdocs-category-grid',
145 - 'betterdocsCategoryGridConfig',
146 - [
147 - 'is_betterdocs_templates' => betterdocs()->helper->is_templates() ? true : false,
148 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
149 - 'lazy_load_action' => 'betterdocs_lazy_category_body'
150 - ]
151 - );
152 -
153 - $this->blocks( $assets );
154 - $this->admin_assets( $assets );
155 -
156 - return $assets;
157 - }
158 -
159 -
160 -
161 - public function blocks( $assets ) {
162 - $assets->register( 'betterdocs-fontawesome', 'vendor/css/font-awesome5.css' );
163 - $assets->register( 'betterdocs-blocks-category-box', 'blocks/categorybox/default.css' );
164 - $assets->register( 'betterdocs-blocks-category-grid', 'blocks/categorygrid/default.css' );
165 - $assets->register( 'betterdocs-blocks-category-tech-layout', 'blocks/category-tech-layout/default.css' );
166 - $assets->register( 'betterdocs-blocks-category-slate-layout', 'blocks/category-slate-layout/default.css' );
167 - $assets->register( 'betterdocs-feedback-form-editor', 'blocks/feedback-form/style-feedback-editor.css' );
168 - $assets->register( 'betterdocs-doc-archive-list', 'blocks/doc-archive-list/default.css' );
169 - }
170 -
171 - public function admin_assets( $assets ) {
172 - $assets->register( 'betterdocs-article-quality-score', 'admin/js/article-quality-score.js', [ 'jquery' ] );
173 -
174 - }
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 + }
175 80 }