ima-claude 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +463 -0
  3. package/dist/cli.js +1064 -0
  4. package/package.json +49 -0
  5. package/platforms/claude/adapter.ts +115 -0
  6. package/platforms/junie/adapter.ts +254 -0
  7. package/platforms/junie/agents-template.md +113 -0
  8. package/platforms/junie/hook-translations.md +84 -0
  9. package/platforms/shared/detector.ts +27 -0
  10. package/platforms/shared/installer.ts +202 -0
  11. package/platforms/shared/types.ts +78 -0
  12. package/plugins/ima-claude/.claude-plugin/plugin.json +25 -0
  13. package/plugins/ima-claude/agents/explorer.md +30 -0
  14. package/plugins/ima-claude/agents/implementer.md +30 -0
  15. package/plugins/ima-claude/agents/memory.md +42 -0
  16. package/plugins/ima-claude/agents/reviewer.md +53 -0
  17. package/plugins/ima-claude/agents/tester.md +33 -0
  18. package/plugins/ima-claude/agents/wp-developer.md +46 -0
  19. package/plugins/ima-claude/hooks/README.md +145 -0
  20. package/plugins/ima-claude/hooks/atlassian_prereqs.py +112 -0
  21. package/plugins/ima-claude/hooks/block_sed_edits.py +59 -0
  22. package/plugins/ima-claude/hooks/bootstrap.sh +90 -0
  23. package/plugins/ima-claude/hooks/bootstrap_utility_check.py +94 -0
  24. package/plugins/ima-claude/hooks/composer_autoload_check.py +70 -0
  25. package/plugins/ima-claude/hooks/docs_organization.py +104 -0
  26. package/plugins/ima-claude/hooks/enforce_rg_over_grep.py +56 -0
  27. package/plugins/ima-claude/hooks/fp_utility_check.py +90 -0
  28. package/plugins/ima-claude/hooks/hook_logger.py +69 -0
  29. package/plugins/ima-claude/hooks/hooks.json +239 -0
  30. package/plugins/ima-claude/hooks/jira_issue_fetch.py +79 -0
  31. package/plugins/ima-claude/hooks/jquery_in_wordpress.py +92 -0
  32. package/plugins/ima-claude/hooks/memory_bootstrap.py +79 -0
  33. package/plugins/ima-claude/hooks/memory_store_reminder.py +75 -0
  34. package/plugins/ima-claude/hooks/prompt_coach.py +125 -0
  35. package/plugins/ima-claude/hooks/prompt_coach_digest.md +48 -0
  36. package/plugins/ima-claude/hooks/prompt_coach_system.md +30 -0
  37. package/plugins/ima-claude/hooks/sequential_thinking_check.py +81 -0
  38. package/plugins/ima-claude/hooks/serena_over_grep.py +96 -0
  39. package/plugins/ima-claude/hooks/serena_over_read.py +66 -0
  40. package/plugins/ima-claude/hooks/serena_project_check.py +133 -0
  41. package/plugins/ima-claude/hooks/sql_injection_check.py +73 -0
  42. package/plugins/ima-claude/hooks/task_master_after_plan.py +31 -0
  43. package/plugins/ima-claude/hooks/task_master_before_impl.py +93 -0
  44. package/plugins/ima-claude/hooks/tavily_extract_advanced.py +48 -0
  45. package/plugins/ima-claude/hooks/vestige_before_external.py +86 -0
  46. package/plugins/ima-claude/hooks/webfetch_to_tavily.py +42 -0
  47. package/plugins/ima-claude/hooks/websearch_to_tavily.py +41 -0
  48. package/plugins/ima-claude/hooks/wp_security_check.py +150 -0
  49. package/plugins/ima-claude/personalities/README.md +45 -0
  50. package/plugins/ima-claude/personalities/enable-40k.md +69 -0
  51. package/plugins/ima-claude/personalities/enable-templars.md +69 -0
  52. package/plugins/ima-claude/skills/.research-summary.md +340 -0
  53. package/plugins/ima-claude/skills/architect/SKILL.md +304 -0
  54. package/plugins/ima-claude/skills/compound-bridge/SKILL.md +200 -0
  55. package/plugins/ima-claude/skills/discourse/SKILL.md +440 -0
  56. package/plugins/ima-claude/skills/discourse-admin/SKILL.md +192 -0
  57. package/plugins/ima-claude/skills/discourse-admin/references/api-endpoints.md +441 -0
  58. package/plugins/ima-claude/skills/discourse-admin/references/gotchas.md +107 -0
  59. package/plugins/ima-claude/skills/discourse-admin/references/staging-defaults.md +98 -0
  60. package/plugins/ima-claude/skills/discourse-admin/scripts/discourse-admin.py +319 -0
  61. package/plugins/ima-claude/skills/docs-organize/SKILL.md +254 -0
  62. package/plugins/ima-claude/skills/docs-organize/templates/active-README.md +50 -0
  63. package/plugins/ima-claude/skills/docs-organize/templates/archive-README.md +57 -0
  64. package/plugins/ima-claude/skills/docs-organize/templates/docs-README.md +43 -0
  65. package/plugins/ima-claude/skills/docs-organize/templates/phase-archive-README.md +83 -0
  66. package/plugins/ima-claude/skills/docs-organize/templates/section-README.md +48 -0
  67. package/plugins/ima-claude/skills/docs-organize/templates/transient-README.md +79 -0
  68. package/plugins/ima-claude/skills/docs-organize/templates/transient-gitignore +9 -0
  69. package/plugins/ima-claude/skills/ember-discourse/SKILL.md +496 -0
  70. package/plugins/ima-claude/skills/functional-programmer/SKILL.md +258 -0
  71. package/plugins/ima-claude/skills/ima-bootstrap/SKILL.md +278 -0
  72. package/plugins/ima-claude/skills/ima-bootstrap/references/bootstrap-patterns.md +356 -0
  73. package/plugins/ima-claude/skills/ima-bootstrap/references/ima-brand.md +273 -0
  74. package/plugins/ima-claude/skills/ima-bootstrap/references/theme-integration.md +212 -0
  75. package/plugins/ima-claude/skills/ima-brand/SKILL.md +108 -0
  76. package/plugins/ima-claude/skills/ima-brand/references/brand-identity.md +140 -0
  77. package/plugins/ima-claude/skills/ima-brand/references/digital-standards.md +180 -0
  78. package/plugins/ima-claude/skills/ima-brand/references/visual-system.md +173 -0
  79. package/plugins/ima-claude/skills/ima-forms-expert/SKILL.md +175 -0
  80. package/plugins/ima-claude/skills/ima-forms-expert/references/container-components.md +154 -0
  81. package/plugins/ima-claude/skills/ima-forms-expert/references/examples.md +328 -0
  82. package/plugins/ima-claude/skills/ima-forms-expert/references/field-components.md +298 -0
  83. package/plugins/ima-claude/skills/ima-forms-expert/references/form-factory.md +193 -0
  84. package/plugins/ima-claude/skills/ima-forms-expert/references/quick-reference.md +153 -0
  85. package/plugins/ima-claude/skills/ima-forms-expert/references/validation-engine.md +336 -0
  86. package/plugins/ima-claude/skills/jira-checkpoint/SKILL.md +178 -0
  87. package/plugins/ima-claude/skills/jquery/SKILL.md +413 -0
  88. package/plugins/ima-claude/skills/js-fp/SKILL.md +463 -0
  89. package/plugins/ima-claude/skills/js-fp/core-principles.md +487 -0
  90. package/plugins/ima-claude/skills/js-fp/examples/pure-functions.js +260 -0
  91. package/plugins/ima-claude/skills/js-fp/examples/tests/pure-functions.test.js +262 -0
  92. package/plugins/ima-claude/skills/js-fp/references/anti-patterns.md +120 -0
  93. package/plugins/ima-claude/skills/js-fp/references/performance-patterns.md +116 -0
  94. package/plugins/ima-claude/skills/js-fp/references/testing-patterns.md +134 -0
  95. package/plugins/ima-claude/skills/js-fp-api/SKILL.md +280 -0
  96. package/plugins/ima-claude/skills/js-fp-api/examples/crud-endpoint.js +258 -0
  97. package/plugins/ima-claude/skills/js-fp-api/references/middleware-patterns.md +134 -0
  98. package/plugins/ima-claude/skills/js-fp-api/references/security-sql.md +110 -0
  99. package/plugins/ima-claude/skills/js-fp-api/references/validation-patterns.md +165 -0
  100. package/plugins/ima-claude/skills/js-fp-react/SKILL.md +447 -0
  101. package/plugins/ima-claude/skills/js-fp-react/examples/ProductCard.tsx +65 -0
  102. package/plugins/ima-claude/skills/js-fp-react/references/hooks-advanced.md +136 -0
  103. package/plugins/ima-claude/skills/js-fp-react/references/performance-patterns.md +175 -0
  104. package/plugins/ima-claude/skills/js-fp-vue/SKILL.md +322 -0
  105. package/plugins/ima-claude/skills/js-fp-vue/references/complete-examples.md +397 -0
  106. package/plugins/ima-claude/skills/js-fp-vue/references/composables-advanced.md +282 -0
  107. package/plugins/ima-claude/skills/js-fp-vue/references/reactivity-patterns.md +348 -0
  108. package/plugins/ima-claude/skills/js-fp-vue/references/testing.md +314 -0
  109. package/plugins/ima-claude/skills/js-fp-wordpress/SKILL.md +301 -0
  110. package/plugins/ima-claude/skills/js-fp-wordpress/references/ajax-patterns.md +192 -0
  111. package/plugins/ima-claude/skills/js-fp-wordpress/references/event-patterns.md +136 -0
  112. package/plugins/ima-claude/skills/js-fp-wordpress/references/wp-integration.md +248 -0
  113. package/plugins/ima-claude/skills/livecanvas/SKILL.md +209 -0
  114. package/plugins/ima-claude/skills/livecanvas/references/livecanvas-features.md +311 -0
  115. package/plugins/ima-claude/skills/livecanvas/references/loops-and-logic.md +730 -0
  116. package/plugins/ima-claude/skills/livecanvas/references/picostrap.md +227 -0
  117. package/plugins/ima-claude/skills/mcp-atlassian/SKILL.md +339 -0
  118. package/plugins/ima-claude/skills/mcp-context7/SKILL.md +109 -0
  119. package/plugins/ima-claude/skills/mcp-memory/SKILL.md +182 -0
  120. package/plugins/ima-claude/skills/mcp-qdrant/SKILL.md +233 -0
  121. package/plugins/ima-claude/skills/mcp-sequential/SKILL.md +149 -0
  122. package/plugins/ima-claude/skills/mcp-serena/SKILL.md +174 -0
  123. package/plugins/ima-claude/skills/mcp-tavily/SKILL.md +118 -0
  124. package/plugins/ima-claude/skills/mcp-vestige/SKILL.md +259 -0
  125. package/plugins/ima-claude/skills/php-authnet/SKILL.md +275 -0
  126. package/plugins/ima-claude/skills/php-authnet/references/api-reference.md +624 -0
  127. package/plugins/ima-claude/skills/php-authnet/references/sandbox-testing.md +424 -0
  128. package/plugins/ima-claude/skills/php-fp/SKILL.md +333 -0
  129. package/plugins/ima-claude/skills/php-fp/examples/pure-functions.php +403 -0
  130. package/plugins/ima-claude/skills/php-fp/examples/tests/PureFunctionsTest.php +515 -0
  131. package/plugins/ima-claude/skills/php-fp/references/core-principles.md +277 -0
  132. package/plugins/ima-claude/skills/php-fp/references/testing-patterns.md +374 -0
  133. package/plugins/ima-claude/skills/php-fp-wordpress/SKILL.md +216 -0
  134. package/plugins/ima-claude/skills/php-fp-wordpress/references/fp-patterns.md +275 -0
  135. package/plugins/ima-claude/skills/php-fp-wordpress/references/plugin-architecture.md +295 -0
  136. package/plugins/ima-claude/skills/php-fp-wordpress/references/security-examples.md +203 -0
  137. package/plugins/ima-claude/skills/php-fp-wordpress/references/testing-strategy.md +259 -0
  138. package/plugins/ima-claude/skills/phpunit-wp/SKILL.md +716 -0
  139. package/plugins/ima-claude/skills/playwright/SKILL.md +434 -0
  140. package/plugins/ima-claude/skills/playwright/references/accessibility-testing.md +153 -0
  141. package/plugins/ima-claude/skills/playwright/references/ci-cd.md +268 -0
  142. package/plugins/ima-claude/skills/playwright/references/network-mocking.md +270 -0
  143. package/plugins/ima-claude/skills/playwright/references/visual-regression.md +215 -0
  144. package/plugins/ima-claude/skills/py-fp/SKILL.md +663 -0
  145. package/plugins/ima-claude/skills/py-fp/examples/pure-functions.py +185 -0
  146. package/plugins/ima-claude/skills/py-fp/examples/tests/test_pure_functions.py +244 -0
  147. package/plugins/ima-claude/skills/py-fp/references/core-principles.md +381 -0
  148. package/plugins/ima-claude/skills/py-fp/references/testing-patterns.md +283 -0
  149. package/plugins/ima-claude/skills/quasar-fp/SKILL.md +327 -0
  150. package/plugins/ima-claude/skills/quasar-fp/metadata.json +85 -0
  151. package/plugins/ima-claude/skills/quasar-fp/references/component-patterns.md +257 -0
  152. package/plugins/ima-claude/skills/quasar-fp/references/theme-integration.md +233 -0
  153. package/plugins/ima-claude/skills/quasar-fp/references/utility-classes.md +237 -0
  154. package/plugins/ima-claude/skills/quickstart/SKILL.md +129 -0
  155. package/plugins/ima-claude/skills/rails/SKILL.md +359 -0
  156. package/plugins/ima-claude/skills/resume-session/SKILL.md +68 -0
  157. package/plugins/ima-claude/skills/rg/SKILL.md +205 -0
  158. package/plugins/ima-claude/skills/ruby-fp/SKILL.md +336 -0
  159. package/plugins/ima-claude/skills/save-session/SKILL.md +81 -0
  160. package/plugins/ima-claude/skills/scorecard/SKILL.md +96 -0
  161. package/plugins/ima-claude/skills/skill-analyzer/SKILL.md +127 -0
  162. package/plugins/ima-claude/skills/skill-analyzer/references/advanced-checklist.md +44 -0
  163. package/plugins/ima-claude/skills/skill-analyzer/references/core-checklist.md +60 -0
  164. package/plugins/ima-claude/skills/skill-analyzer/scripts/analyze_skill.py +418 -0
  165. package/plugins/ima-claude/skills/skill-creator/LICENSE.txt +202 -0
  166. package/plugins/ima-claude/skills/skill-creator/SKILL.md +343 -0
  167. package/plugins/ima-claude/skills/skill-creator/references/output-patterns.md +82 -0
  168. package/plugins/ima-claude/skills/skill-creator/references/workflows.md +28 -0
  169. package/plugins/ima-claude/skills/skill-creator/scripts/init_skill.py +303 -0
  170. package/plugins/ima-claude/skills/skill-creator/scripts/package_skill.py +110 -0
  171. package/plugins/ima-claude/skills/skill-creator/scripts/quick_validate.py +103 -0
  172. package/plugins/ima-claude/skills/task-master/SKILL.md +51 -0
  173. package/plugins/ima-claude/skills/task-planner/SKILL.md +228 -0
  174. package/plugins/ima-claude/skills/task-runner/SKILL.md +192 -0
  175. package/plugins/ima-claude/skills/unit-testing/SKILL.md +198 -0
  176. package/plugins/ima-claude/skills/unit-testing/references/mock-patterns.md +181 -0
  177. package/plugins/ima-claude/skills/unit-testing/references/tdd-workflow.md +177 -0
  178. package/plugins/ima-claude/skills/unit-testing/references/test-strategy.md +126 -0
  179. package/plugins/ima-claude/skills/wp-local/SKILL.md +246 -0
  180. package/plugins/ima-claude/skills/wp-local/references/configuration.md +198 -0
  181. package/plugins/ima-claude/skills/wp-local/references/wp-cli-reference.md +406 -0
  182. package/plugins/ima-claude/skills/wp-local/scripts/wp-local.sh +61 -0
@@ -0,0 +1,311 @@
1
+ # LiveCanvas Features Reference
2
+
3
+ LiveCanvas v4.9+ — premium WordPress page builder. Bootstrap-native, HTML-first, zero CSS/JS overhead.
4
+
5
+ **Docs**: https://docs.livecanvas.com/
6
+
7
+ ## Table of Contents
8
+
9
+ 1. [Editor Workflow](#editor-workflow)
10
+ 2. [Content Storage](#content-storage)
11
+ 3. [LiveCanvas Shortcodes](#livecanvas-shortcodes)
12
+ 4. [WooCommerce Shortcodes](#woocommerce-shortcodes)
13
+ 5. [Forms API](#forms-api)
14
+ 6. [Template Assignment](#template-assignment)
15
+ 7. [Reusable Sections](#reusable-sections)
16
+ 8. [Editor Features](#editor-features)
17
+
18
+ ---
19
+
20
+ ## Editor Workflow
21
+
22
+ LiveCanvas edits pages on the frontend. The editor provides:
23
+
24
+ - **Tree View**: DOM structure visualization
25
+ - **Code Editor**: Full HTML editor with Emmet support
26
+ - **Responsive Preview**: XS (412px), SM (576px), MD (768px), LG (992px), XL (1200px), XXL (1400px)
27
+ - **Properties Panel**: ID, class, style always pinned at top
28
+ - **Grid Builder**: Divide horizontal space into responsive columns
29
+ - **Universal Selection**: Click any element to select and edit
30
+ - **Undo/Redo**: Full step history
31
+ - **Unsplash Integration**: Free image search
32
+ - **AI Assistant**: Supports OpenAI, Claude, Gemini, Grok (via OpenRouter)
33
+
34
+ ### Editable Attributes
35
+ ```html
36
+ <h1 editable="inline">Single-line text</h1>
37
+ <div editable="rich">Rich text with formatting toolbar</div>
38
+ ```
39
+
40
+ ### The lc-block
41
+ Smallest building unit:
42
+ ```html
43
+ <div class="lc-block">
44
+ <h2 editable="inline">Heading</h2>
45
+ <p editable="rich">Paragraph content</p>
46
+ </div>
47
+ ```
48
+
49
+ ---
50
+
51
+ ## Content Storage
52
+
53
+ Content is stored in the WordPress database as plain HTML:
54
+ - Page HTML → `wp_posts.post_content`
55
+ - LiveCanvas flag → `wp_postmeta`
56
+ - Empty page template assigned to the page
57
+ - Global CSS → stored separately (Options > Edit Global CSS)
58
+ - Reusable sections → custom post type
59
+
60
+ **No vendor lock-in**: Disable plugin and content remains as HTML in the database.
61
+
62
+ ---
63
+
64
+ ## LiveCanvas Shortcodes
65
+
66
+ ### Post/Page Data
67
+ ```
68
+ [lc_the_title] Post title
69
+ [lc_the_content] Full content
70
+ [lc_the_excerpt] Excerpt
71
+ [lc_the_date format="F j, Y"] Publish date
72
+ [lc_the_date type="modified"] Modified date
73
+ [lc_the_permalink] Post URL
74
+ [lc_the_author field="display_name"] Author info
75
+ [lc_the_thumbnail size="large"] Featured image
76
+ [lc_the_cf field="field_name"] Custom field value
77
+ ```
78
+
79
+ ### Taxonomy
80
+ ```
81
+ [lc_the_terms taxonomy="category" separator=", "]
82
+ [lc_the_categories separator=", " link="true"]
83
+ [lc_the_tags separator=", "]
84
+ ```
85
+
86
+ ### Site Options
87
+ ```
88
+ [lc_the_option option="blogname"] Site name
89
+ [lc_the_option option="blogdescription"] Tagline
90
+ [lc_the_option option="siteurl"] Site URL
91
+ ```
92
+
93
+ ### Conditional
94
+ ```
95
+ [lc_if condition="is_user_logged_in"]
96
+ Welcome back!
97
+ [/lc_if]
98
+
99
+ [lc_if condition="is_single"]
100
+ Single post content
101
+ [/lc_if]
102
+ ```
103
+ Calls WordPress conditional functions: `is_user_logged_in`, `is_single`, `is_page`, `is_home`, `is_front_page`, `is_archive`, `is_category`, `is_tag`, `is_search`, `is_404`, etc.
104
+
105
+ ### Post Query Loop
106
+ ```
107
+ [lc_get_posts post_type="post" posts_per_page="3" orderby="date" order="DESC" category_name="news"]
108
+ <h3>[lc_the_title]</h3>
109
+ <p>[lc_the_excerpt]</p>
110
+ <a href="[lc_the_permalink]">Read more</a>
111
+ [/lc_get_posts]
112
+ ```
113
+
114
+ ### Translation
115
+ ```
116
+ [lc_i18n]Translatable string[/lc_i18n]
117
+ ```
118
+
119
+ ### Function Call
120
+ ```
121
+ [lc_function name="function_name" arg1="value"]
122
+ ```
123
+
124
+ ### Template Part
125
+ ```
126
+ [lc_get_template_part slug="template-parts/content" name="single"]
127
+ ```
128
+
129
+ ### Pagination
130
+ ```
131
+ [lc_the_pagination]
132
+ ```
133
+
134
+ ### Comments
135
+ ```
136
+ [lc_the_comments]
137
+ ```
138
+
139
+ ### Reusable Section
140
+ ```
141
+ [lc_html_section id="123"]
142
+ ```
143
+
144
+ ---
145
+
146
+ ## WooCommerce Shortcodes
147
+
148
+ Enable WooCommerce support in LiveCanvas backend settings.
149
+
150
+ ### Product Data
151
+ ```
152
+ [lc_wc_product data="title"]
153
+ [lc_wc_product data="price"] Regular + sale price HTML
154
+ [lc_wc_product data="regular_price"]
155
+ [lc_wc_product data="sale_price"]
156
+ [lc_wc_product data="description"]
157
+ [lc_wc_product data="short_description"]
158
+ [lc_wc_product data="sku"]
159
+ [lc_wc_product data="stock_status"]
160
+ [lc_wc_product data="stock_quantity"]
161
+ [lc_wc_product data="weight"]
162
+ [lc_wc_product data="dimensions"]
163
+ [lc_wc_product data="average_rating"]
164
+ [lc_wc_product data="review_count"]
165
+ ```
166
+
167
+ ### Product Components
168
+ ```
169
+ [lc_wc_carousel] Product image carousel (Bootstrap 5)
170
+ [lc_wc_product_add_to_cart] Add to cart form
171
+ [lc_wc_notices] WooCommerce notices
172
+ [lc_wc_product_rating] Star rating with review link
173
+ [lc_wc_product_tab_description] Description tab content
174
+ [lc_wc_product_tab_additional_information] Additional info tab
175
+ [lc_wc_product_tab_reviews] Reviews + form
176
+ [lc_wc_related] Related products
177
+ [lc_wc_on_sale_badge] Sale badge
178
+ ```
179
+
180
+ ### Shop/Archive Components
181
+ ```
182
+ [lc_wc_add_to_cart] Loop add-to-cart button
183
+ [lc_wc_order_by] Product sorting dropdown
184
+ [lc_wc_result_count] "Showing X of Y results"
185
+ [lc_wc_sidebar] Shop sidebar/filters
186
+ ```
187
+
188
+ ### WooCommerce Blocks & URLs
189
+ ```
190
+ [lc_wc_block block="mini-cart"] WC Gutenberg block
191
+ [lc_wc_get_page_url page="cart"] Cart URL
192
+ [lc_wc_get_page_url page="checkout"] Checkout URL
193
+ [lc_wc_get_page_url page="myaccount"] My Account URL
194
+ [lc_wc_get_page_url page="shop"] Shop URL
195
+ ```
196
+
197
+ ### Labels
198
+ ```
199
+ [lc_wc_label label="add_to_cart"] Translatable WC labels
200
+ ```
201
+
202
+ ### Supported Template Types
203
+ - Single Product
204
+ - Product Category/Archive
205
+ - Shop Page
206
+ - Cart, Checkout
207
+ - Per-category templates (e.g., "shoes" vs "hats")
208
+
209
+ ---
210
+
211
+ ## Forms API
212
+
213
+ LiveCanvas provides AJAX form handling via shortcode:
214
+
215
+ ```html
216
+ [lc_form action="my_custom_action"]
217
+ <div class="mb-3">
218
+ <label class="form-label">Name</label>
219
+ <input type="text" name="name" class="form-control" required />
220
+ </div>
221
+ <div class="mb-3">
222
+ <label class="form-label">Email</label>
223
+ <input type="email" name="email" class="form-control" required />
224
+ </div>
225
+ <button type="submit" class="btn btn-primary">Submit</button>
226
+ [/lc_form]
227
+ ```
228
+
229
+ Handle in PHP via standard WordPress AJAX hooks:
230
+ ```php
231
+ add_action('wp_ajax_my_custom_action', 'handle_my_form');
232
+ add_action('wp_ajax_nopriv_my_custom_action', 'handle_my_form');
233
+
234
+ function handle_my_form() {
235
+ $name = sanitize_text_field($_POST['name']);
236
+ $email = sanitize_email($_POST['email']);
237
+ // Process form...
238
+ wp_send_json_success(['message' => 'Thank you!']);
239
+ }
240
+ ```
241
+
242
+ ---
243
+
244
+ ## Template Assignment
245
+
246
+ LiveCanvas can handle WordPress templates (enable "Handle WordPress Templates" in settings).
247
+
248
+ **Target any WordPress view**:
249
+ - Single post/page (per post type)
250
+ - Archive (per post type, per category, per taxonomy)
251
+ - Search results
252
+ - 404 page
253
+ - WooCommerce pages (product, shop, cart, checkout)
254
+ - Author archive
255
+ - Date archive
256
+ - Front page / blog page
257
+
258
+ **Granular rules**: Assign different templates per category, per post type, per taxonomy term.
259
+
260
+ ---
261
+
262
+ ## Reusable Sections
263
+
264
+ ### Saving
265
+ Select any `<section>` in the editor → Save to personal library.
266
+
267
+ ### Using
268
+ ```html
269
+ [lc_html_section id="123"]
270
+ ```
271
+ Or in PHP:
272
+ ```php
273
+ echo do_shortcode('[lc_html_section id="123"]');
274
+ ```
275
+
276
+ ### Storage
277
+ - Stored as a custom post type in WordPress
278
+ - Edits propagate to all pages using the section
279
+ - Can also store custom sections in child theme: `/livecanvas/sections/`
280
+
281
+ ### Child Theme Pages
282
+ Store readymade page templates in: `/livecanvas/pages/`
283
+
284
+ ---
285
+
286
+ ## Editor Features
287
+
288
+ ### Keyboard Shortcuts
289
+ See: https://docs.livecanvas.com/keyboard-shortcuts/
290
+
291
+ ### Emmet Support
292
+ The code editor supports Emmet abbreviations for rapid HTML generation:
293
+ ```
294
+ div.container>div.row>div.col-md-6*2>div.lc-block
295
+ ```
296
+
297
+ ### Export
298
+ Download any page as standalone HTML file.
299
+
300
+ ### Section Library
301
+ - Built-in readymade sections (Bootstrap-based)
302
+ - Dynamic Posts Loop sections (rebuilt in v4.8+ with Tangible syntax)
303
+ - Community sections
304
+ - Child theme custom sections
305
+
306
+ ### AI Assistant
307
+ Supports multiple providers via API key:
308
+ - OpenAI
309
+ - Anthropic Claude
310
+ - Google Gemini
311
+ - xAI Grok (via OpenRouter)