PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.9.0
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.9.0
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
betterdocs / includes / Core / Scripts.php

Scripts.php in BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot 4.9.0, at includes/Core/Scripts.php

154 lines 6.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace WPDeveloper\BetterDocs\Core;
3
4 if ( ! defined( 'ABSPATH' ) ) {
5 exit;
6 }
7
8
9 use WPDeveloper\BetterDocs\Utils\Base;
10 use WPDeveloper\BetterDocs\Utils\Helper;
11
12 class Scripts extends Base {
13 protected $settings;
14
15 public function __construct( Settings $settings ) {
16 $this->settings = $settings;
17
18 add_action( 'init', [ $this, 'init' ], 1 );
19 }
20
21 public function init() {
22 $assets = betterdocs()->assets;
23
24 // Vendor CSS
25 $assets->register( 'simplebar', 'vendor/css/simplebar.css' );
26
27 // Vendor JS
28 $assets->register( 'simplebar', 'vendor/js/simplebar.js' );
29
30 if ( ! wp_script_is( 'clipboard', 'registered' ) ) {
31 $assets->register( 'clipboard', 'vendor/js/clipboard.min.js' );
32 }
33
34 // Shortcodes Styles Registrations
35 $assets->register( 'betterdocs-search', 'public/css/search.css' );
36 $assets->register( 'betterdocs-search-modal', 'public/css/search-modal.css' );
37 $assets->register( 'betterdocs-social-share', 'public/css/social-share.css' );
38 $assets->register( 'betterdocs-feedback-form', 'public/css/feedback-form.css' );
39 $assets->register( 'betterdocs-reactions', 'public/css/reactions.css' );
40 $assets->register( 'betterdocs-toc', 'public/css/toc.css' );
41 $assets->register( 'betterdocs-faq', 'public/css/faq.css' );
42 $assets->register( 'betterdocs-category-tab-grid', 'public/css/category-tab-grid.css' );
43 $assets->register( 'reading-time', 'public/css/reading-time.css' );
44
45 // Template Parts
46 $assets->register( 'betterdocs-sidebar', 'public/css/sidebar.css' );
47 $assets->register( 'betterdocs-breadcrumb', 'public/css/breadcrumb.css' );
48 $assets->register( 'betterdocs-single', 'public/css/single.css' );
49 $assets->register( 'betterdocs-docs', 'public/css/docs.css' );
50 $assets->register( 'betterdocs-pagination', 'public/css/pagination.css' );
51 $assets->register( 'betterdocs-doc_category', 'public/css/tax-doc_category.css', [ 'betterdocs-breadcrumb', 'betterdocs-pagination' ] );
52 $assets->register( 'betterdocs-category-archive-header', 'public/css/archive-header.css' );
53 $assets->register( 'betterdocs-category-archive-doc-list', 'public/css/archive-doc-list.css' );
54 $assets->register( 'betterdocs-article-summary', 'public/css/article-summary.css' );
55 $assets->register( 'betterdocs-author', 'public/css/author.css' );
56
57 $assets->register( 'betterdocs-category-grid', 'public/css/category-grid.css', [ 'simplebar' ] );
58 $assets->register( 'betterdocs-category-box', 'public/css/category-box.css' );
59 $assets->register( 'betterdocs-category-grid-list', 'public/css/category-grid-list.css' );
60
61 // JS
62 $assets->register( 'betterdocs', 'public/js/betterdocs.js', [ 'jquery' ] );
63 // Shortcode JS
64 $assets->register( 'betterdocs-category-toggler', 'public/js/category-toggler.js', [ 'jquery' ] );
65 $assets->register(
66 'betterdocs-category-grid',
67 'public/js/category-grid.js',
68 [
69 'jquery',
70 'masonry',
71 'simplebar',
72 'betterdocs-category-toggler'
73 ]
74 );
75 $assets->register( 'betterdocs-faq', 'shortcodes/js/faq.js', [ 'jquery' ] );
76 $assets->register( 'betterdocs-reactions', 'shortcodes/js/reactions.js', [ 'jquery' ] );
77 $assets->register( 'betterdocs-search', 'shortcodes/js/search.js', [ 'jquery' ] );
78 $assets->register( 'betterdocs-search-modal', 'shortcodes/js/search-modal.js', [ 'jquery' ] );
79
80 $assets->localize(
81 'betterdocs',
82 'betterdocsConfig',
83 [
84 'ajax_url' => admin_url( 'admin-ajax.php' ),
85 'copy_text' => __( 'Copied', 'betterdocs' ),
86 'sticky_toc_offset' => $this->settings->get( 'sticky_toc_offset' ),
87 'summary_nonce' => wp_create_nonce( 'betterdocs_article_summary_nonce' ),
88 'summary_error' => __( 'Failed to generate doc summary. Please try again.', 'betterdocs' )
89 ]
90 );
91
92 $assets->localize(
93 'betterdocs-search',
94 'betterdocsSearchConfig',
95 [
96 'ajax_url' => admin_url( 'admin-ajax.php' ),
97 'search_letter_limit' => $this->settings->get( 'search_letter_limit' )
98 ]
99 );
100
101 $assets->localize(
102 'betterdocs-search-modal',
103 'betterdocsSearchModalConfig',
104 [
105 'ajax_url' => admin_url( 'admin-ajax.php' ),
106 'rest_url' => esc_url_raw(rest_url()),
107 'advance_search' => $this->settings->get( 'advance_search' ),
108 'child_category_exclude' => $this->settings->get( 'child_category_exclude' ),
109 'popular_keyword_limit' => $this->settings->get( 'popular_keyword_limit' ),
110 'search_letter_limit' => $this->settings->get( 'search_letter_limit' ),
111 'search_placeholder' => $this->settings->get( 'search_placeholder' ),
112 'search_button_text' => $this->settings->get( 'search_button_text' ),
113 'search_not_found_text' => $this->settings->get( 'search_not_found_text' ),
114 'kb_based_search' => $this->settings->get( 'kb_based_search' )
115 ]
116 );
117
118 /**
119 * Localize This In Order To Know If This Shortcode Is Arriving From Betterdocs Templates Or Not
120 */
121 betterdocs()->assets->localize(
122 'betterdocs-category-grid',
123 'betterdocsCategoryGridConfig',
124 [
125 'is_betterdocs_templates' => betterdocs()->helper->is_templates() ? true : false,
126 'ajax_url' => admin_url( 'admin-ajax.php' ),
127 'lazy_load_action' => 'betterdocs_lazy_category_body'
128 ]
129 );
130
131 $this->blocks( $assets );
132 $this->admin_assets( $assets );
133
134 return $assets;
135 }
136
137
138
139 public function blocks( $assets ) {
140 $assets->register( 'betterdocs-fontawesome', 'vendor/css/font-awesome5.css' );
141 $assets->register( 'betterdocs-blocks-category-box', 'blocks/categorybox/default.css' );
142 $assets->register( 'betterdocs-blocks-category-grid', 'blocks/categorygrid/default.css' );
143 $assets->register( 'betterdocs-blocks-category-tech-layout', 'blocks/category-tech-layout/default.css' );
144 $assets->register( 'betterdocs-blocks-category-slate-layout', 'blocks/category-slate-layout/default.css' );
145 $assets->register( 'betterdocs-feedback-form-editor', 'blocks/feedback-form/style-feedback-editor.css' );
146 $assets->register( 'betterdocs-doc-archive-list', 'blocks/doc-archive-list/default.css' );
147 }
148
149 public function admin_assets( $assets ) {
150 $assets->register( 'betterdocs-article-quality-score', 'admin/js/article-quality-score.js', [ 'jquery' ] );
151
152 }
153 }
154