... |
... |
@@ -1,542 +1,0 @@ |
1 |
|
-= XWiki Macros Reference Guide = |
2 |
|
- |
3 |
|
-Macros in XWiki are reusable pieces of functionality that can be integrated inside pages. They allow you to insert dynamic content or apply special formatting using a simple syntax. Below is a list of available macros (excluding deprecated or internal macros) along with their descriptions and usage examples. |
4 |
|
- |
5 |
|
- |
6 |
|
-== TOC Macro == |
7 |
|
- |
8 |
|
-The **TOC** macro generates a Table of Contents. |
9 |
|
- |
10 |
|
-{{example}} |
11 |
|
-{{toc/}} |
12 |
|
-{{/example}} |
13 |
|
- |
14 |
|
-== Box Macro == |
15 |
|
- |
16 |
|
-The **Box** macro draws a box around the content inside it. This is useful for highlighting important information or grouping related content in a styled panel. |
17 |
|
- |
18 |
|
-{{example}} |
19 |
|
-{{box title="Note"}} |
20 |
|
-This is a sample box message. |
21 |
|
-{{/box}} |
22 |
|
-{{/example}} |
23 |
|
- |
24 |
|
-== Info Macro == |
25 |
|
- |
26 |
|
-The **Info** macro displays an informational message in a styled box. It is typically rendered with a blue color to denote general information. |
27 |
|
- |
28 |
|
-{{example}} |
29 |
|
-{{info}} |
30 |
|
-This is an informational message. |
31 |
|
-{{/info}} |
32 |
|
-{{/example}} |
33 |
|
- |
34 |
|
-{{example}} |
35 |
|
-{{info title="FYI"}} |
36 |
|
-This is an informational message with a title. |
37 |
|
-{{/info}} |
38 |
|
-{{/example}} |
39 |
|
- |
40 |
|
-== Warning Macro == |
41 |
|
- |
42 |
|
-The **Warning** macro highlights a warning message in a styled box (yellow/orange background). |
43 |
|
- |
44 |
|
-{{example}} |
45 |
|
-{{warning}} |
46 |
|
-This is a warning message. |
47 |
|
-{{/warning}} |
48 |
|
-{{/example}} |
49 |
|
- |
50 |
|
-== Success Macro == |
51 |
|
- |
52 |
|
-The **Success** macro displays a success message in a green-styled box. |
53 |
|
- |
54 |
|
-{{example}} |
55 |
|
-{{success}} |
56 |
|
-This is a success message. |
57 |
|
-{{/success}} |
58 |
|
-{{/example}} |
59 |
|
- |
60 |
|
-== Error Macro == |
61 |
|
- |
62 |
|
-The **Error** macro displays a critical error or alert message in a red-styled box. |
63 |
|
- |
64 |
|
-{{example}} |
65 |
|
-{{error}} |
66 |
|
-This is an error message. |
67 |
|
-{{/error}} |
68 |
|
-{{/example}} |
69 |
|
- |
70 |
|
-== Chart Macro == |
71 |
|
- |
72 |
|
-The **Chart** macro generates graphical charts based on input tables. |
73 |
|
- |
74 |
|
-{{example}} |
75 |
|
-{{chart type="pie" source="inline" params="range:B2-B4;series:columns;" width="400" height="300"}} |
76 |
|
-|=Category|=Value| |
77 |
|
-|A|10| |
78 |
|
-|B|20| |
79 |
|
-|C|30| |
80 |
|
-{{/chart}} |
81 |
|
-{{/example}} |
82 |
|
- |
83 |
|
-{{example}} |
84 |
|
-{{chart type="bar" source="inline" params="range:B2-C4;series:columns;" width="500" height="300"}} |
85 |
|
-|=Quarter|=Product X|=Product Y| |
86 |
|
-|Q1|20|15| |
87 |
|
-|Q2|30|25| |
88 |
|
-|Q3|25|30| |
89 |
|
-{{/chart}} |
90 |
|
-{{/example}} |
91 |
|
- |
92 |
|
-== Children Macro == |
93 |
|
- |
94 |
|
-The **Children** macro lists the child pages of the current page. |
95 |
|
- |
96 |
|
-{{example}} |
97 |
|
-{{children/}} |
98 |
|
-{{/example}} |
99 |
|
- |
100 |
|
-== Code Macro == |
101 |
|
- |
102 |
|
-The **Code** macro highlights and formats source code. |
103 |
|
- |
104 |
|
-{{example}} |
105 |
|
-{{code language="java"}} |
106 |
|
-public class Hello { |
107 |
|
- public static void main(String[] args) { |
108 |
|
- System.out.println("Hello World"); |
109 |
|
- } |
110 |
|
-} |
111 |
|
-{{/code}} |
112 |
|
-{{/example}} |
113 |
|
- |
114 |
|
-== Comment Macro == |
115 |
|
- |
116 |
|
-The **Comment** macro hides content from page rendering. |
117 |
|
- |
118 |
|
-{{example}} |
119 |
|
-Visible part 1. |
120 |
|
-{{comment}}This text will not be visible.{{/comment}} |
121 |
|
-Visible part 2. |
122 |
|
-{{/example}} |
123 |
|
- |
124 |
|
-== Container Macro == |
125 |
|
- |
126 |
|
-The **Container** macro creates multi-column layouts. |
127 |
|
- |
128 |
|
-{{example}} |
129 |
|
-{{container layoutStyle="columns"}} |
130 |
|
-(((**Column 1:** This is the first column.))) |
131 |
|
-(((**Column 2:** This is the second column.))) |
132 |
|
-{{/container}} |
133 |
|
-{{/example}} |
134 |
|
- |
135 |
|
-== Dashboard Macro == |
136 |
|
- |
137 |
|
-The **Dashboard** macro creates areas for gadgets. |
138 |
|
- |
139 |
|
-{{example}} |
140 |
|
-{{dashboard columns="2"/}} |
141 |
|
-{{/example}} |
142 |
|
- |
143 |
|
-== Display Macro == |
144 |
|
- |
145 |
|
-The **Display** macro embeds content from another page. |
146 |
|
- |
147 |
|
-{{example}} |
148 |
|
-{{display page="Help.Macros"/}} |
149 |
|
-{{/example}} |
150 |
|
- |
151 |
|
-== DisplayIcon Macro == |
152 |
|
- |
153 |
|
-The **DisplayIcon** macro displays an icon. |
154 |
|
- |
155 |
|
-{{example}} |
156 |
|
-{{displayIcon name="home"/}} Home |
157 |
|
-{{/example}} |
158 |
|
- |
159 |
|
-== Documents Macro == |
160 |
|
- |
161 |
|
-The **Documents** macro shows a livetable of documents. |
162 |
|
- |
163 |
|
-{{example}} |
164 |
|
-{{documents space="MySpace"/}} |
165 |
|
-{{/example}} |
166 |
|
- |
167 |
|
-== DocumentTree Macro == |
168 |
|
- |
169 |
|
-The **DocumentTree** macro shows a collapsible page tree. |
170 |
|
- |
171 |
|
-{{example}} |
172 |
|
-{{documentTree reference="Help.WebHome"/}} |
173 |
|
-{{/example}} |
174 |
|
- |
175 |
|
-== Footnote Macro == |
176 |
|
- |
177 |
|
-The **Footnote** macro adds footnotes to the page. |
178 |
|
- |
179 |
|
-{{example}} |
180 |
|
-This is a statement{{footnote}}Source: Example Reference{{/footnote}}. |
181 |
|
-{{putFootnotes/}} |
182 |
|
-{{/example}} |
183 |
|
- |
184 |
|
-== PutFootnotes Macro == |
185 |
|
- |
186 |
|
-The **PutFootnotes** macro outputs collected footnotes. |
187 |
|
- |
188 |
|
-{{example}} |
189 |
|
-...page content... |
190 |
|
-{{putFootnotes/}} |
191 |
|
-{{/example}} |
192 |
|
- |
193 |
|
-== Gallery Macro == |
194 |
|
- |
195 |
|
-The **Gallery** macro displays a collection of images. |
196 |
|
- |
197 |
|
-{{example}} |
198 |
|
-{{gallery}} |
199 |
|
-image:Space.Page@Image1.png |
200 |
|
-image:Space.Page@Image2.png |
201 |
|
-{{/gallery}} |
202 |
|
-{{/example}} |
203 |
|
- |
204 |
|
-== Groovy Macro == |
205 |
|
- |
206 |
|
-The **Groovy** macro executes Groovy scripts. |
207 |
|
- |
208 |
|
-{{example}} |
209 |
|
-{{groovy}} |
210 |
|
-println("Hello from Groovy!") |
211 |
|
-{{/groovy}} |
212 |
|
-{{/example}} |
213 |
|
- |
214 |
|
-== HTML Macro == |
215 |
|
- |
216 |
|
-The **HTML** macro embeds raw HTML into pages. |
217 |
|
- |
218 |
|
-{{example}} |
219 |
|
-{{html}} |
220 |
|
-<p style="color:red;">This is red text via HTML.</p> |
221 |
|
-{{/html}} |
222 |
|
-{{/example}} |
223 |
|
- |
224 |
|
-== Id Macro == |
225 |
|
- |
226 |
|
-The **Id** macro defines an internal link anchor. |
227 |
|
- |
228 |
|
-{{example}} |
229 |
|
-Click [[here>>#myanchor]] to jump. |
230 |
|
- |
231 |
|
-{{id name="myanchor"/}} |
232 |
|
-**Target Location:** You have reached the target. |
233 |
|
-{{/example}} |
234 |
|
- |
235 |
|
-== Include Macro == |
236 |
|
- |
237 |
|
-The **Include** macro includes another page's content. |
238 |
|
- |
239 |
|
-{{example}} |
240 |
|
-{{include page="Help.Introduction"/}} |
241 |
|
-{{/example}} |
242 |
|
- |
243 |
|
-== Mention Macro == |
244 |
|
- |
245 |
|
-The **Mention** macro notifies a mentioned user. |
246 |
|
- |
247 |
|
-{{example}} |
248 |
|
-{{mention user="xwiki:JohnDoe"/}} |
249 |
|
-{{/example}} |
250 |
|
- |
251 |
|
-== Notifications Macro == |
252 |
|
- |
253 |
|
-The **Notifications** macro displays recent activity. |
254 |
|
- |
255 |
|
-{{example}} |
256 |
|
-{{notifications/}} |
257 |
|
-{{/example}} |
258 |
|
- |
259 |
|
-== Office Macro == |
260 |
|
- |
261 |
|
-The **Office** macro displays Office documents. |
262 |
|
- |
263 |
|
-{{example}} |
264 |
|
-{{office attachment="Main.UserGuide@Guide.docx"/}} |
265 |
|
-{{/example}} |
266 |
|
- |
267 |
|
-== Python Macro == |
268 |
|
- |
269 |
|
-The **Python** macro executes Python scripts. |
270 |
|
- |
271 |
|
-{{example}} |
272 |
|
-{{python}} |
273 |
|
-print("Hello from Python!") |
274 |
|
-{{/python}} |
275 |
|
-{{/example}} |
276 |
|
- |
277 |
|
-== Script Macro == |
278 |
|
- |
279 |
|
-The **Script** macro executes scripts in different languages. |
280 |
|
- |
281 |
|
-{{example}} |
282 |
|
-{{script language="velocity"}} |
283 |
|
-#set($name = "Velocity") |
284 |
|
-Hello $name! |
285 |
|
-{{/script}} |
286 |
|
-{{/example}} |
287 |
|
- |
288 |
|
-== Tag Cloud Macro == |
289 |
|
- |
290 |
|
-The **Tag Cloud** macro displays tags visually. |
291 |
|
- |
292 |
|
-{{example}} |
293 |
|
-{{tagcloud/}} |
294 |
|
-{{/example}} |
295 |
|
- |
296 |
|
-== User Avatar Macro == |
297 |
|
- |
298 |
|
-The **User Avatar** macro shows a user's avatar image. |
299 |
|
- |
300 |
|
-{{example}} |
301 |
|
-{{useravatar user="xwiki:JohnDoe"/}} |
302 |
|
-{{/example}} |
303 |
|
- |
304 |
|
-== Velocity Macro == |
305 |
|
- |
306 |
|
-The **Velocity** macro executes Velocity scripts. |
307 |
|
- |
308 |
|
-{{example}} |
309 |
|
-{{velocity}} |
310 |
|
-#set($name = "Alice") |
311 |
|
-Hello $name! |
312 |
|
-{{/velocity}} |
313 |
|
-{{/example}} |
314 |
|
- |
315 |
|
-== Menu Macro == |
316 |
|
- |
317 |
|
-The **Menu** macro builds a navigation menu. |
318 |
|
- |
319 |
|
-{{example}} |
320 |
|
-{{menu}} |
321 |
|
-* [[Home>>Main.WebHome]] |
322 |
|
-* [[Products>>Main.Products]] |
323 |
|
-** [[Product A>>Main.Products.ProductA]] |
324 |
|
-** [[Product B>>Main.Products.ProductB]] |
325 |
|
-* [[Contact>>Main.Contact]] |
326 |
|
-{{/menu}} |
327 |
|
-{{/example}} |
328 |
|
- |
329 |
|
-== Button Macro == |
330 |
|
- |
331 |
|
-The Button macro inserts a styled clickable button. |
332 |
|
- |
333 |
|
-{{example}} |
334 |
|
-{{button link="https://xwiki.org" style="primary"}} |
335 |
|
-Click Me |
336 |
|
-{{/button}} |
337 |
|
-{{/example}} |
338 |
|
- |
339 |
|
-== Carousel Macro == |
340 |
|
- |
341 |
|
-The Carousel macro displays a slideshow of images. |
342 |
|
- |
343 |
|
-{{example}} |
344 |
|
-{{carousel}} |
345 |
|
-image:Space.Page@Image1.png |
346 |
|
-image:Space.Page@Image2.png |
347 |
|
-{{/carousel}} |
348 |
|
-{{/example}} |
349 |
|
- |
350 |
|
-== Embed Macro == |
351 |
|
- |
352 |
|
-The Embed macro shows external content like YouTube videos. |
353 |
|
- |
354 |
|
-{{example}} |
355 |
|
-{{embed url="https://www.youtube.com/watch?v=dQw4w9WgXcQ"/}} |
356 |
|
-{{/example}} |
357 |
|
- |
358 |
|
-== Expandable Macro == |
359 |
|
- |
360 |
|
-The Expandable macro shows expandable hidden content. |
361 |
|
- |
362 |
|
-{{example}} |
363 |
|
-{{expandable title="Click to Expand"}} |
364 |
|
-Hidden details appear here. |
365 |
|
-{{/expandable}} |
366 |
|
-{{/example}} |
367 |
|
- |
368 |
|
-== Excerpt Macro == |
369 |
|
- |
370 |
|
-The Excerpt macro marks content for reuse elsewhere. |
371 |
|
- |
372 |
|
-{{example}} |
373 |
|
-{{excerpt}} |
374 |
|
-This is excerpted content. |
375 |
|
-{{/excerpt}} |
376 |
|
-{{/example}} |
377 |
|
- |
378 |
|
-== FAQ Macro == |
379 |
|
- |
380 |
|
-The FAQ macro lists FAQ entries. |
381 |
|
- |
382 |
|
-{{example}} |
383 |
|
-{{faq space="FAQ"/}} |
384 |
|
-{{/example}} |
385 |
|
- |
386 |
|
-== Live Data Macro == |
387 |
|
- |
388 |
|
-The LiveData macro displays dynamic data tables. |
389 |
|
- |
390 |
|
-{{example}} |
391 |
|
-{{liveData source="document"/}} |
392 |
|
-{{/example}} |
393 |
|
- |
394 |
|
-== Panel Macro == |
395 |
|
- |
396 |
|
-The Panel macro creates styled content boxes. |
397 |
|
- |
398 |
|
-{{example}} |
399 |
|
-{{panel title="Panel Title"}} |
400 |
|
-This is inside a panel. |
401 |
|
-{{/panel}} |
402 |
|
-{{/example}} |
403 |
|
- |
404 |
|
-== PDF Viewer Macro == |
405 |
|
- |
406 |
|
-The PDFViewer macro embeds PDFs using PDF.js. |
407 |
|
- |
408 |
|
-{{example}} |
409 |
|
-{{pdfviewer attachment="MyPage@file.pdf"/}} |
410 |
|
-{{/example}} |
411 |
|
- |
412 |
|
-== Profile Picture Macro == |
413 |
|
- |
414 |
|
-The Profile Picture macro shows a user’s picture. |
415 |
|
- |
416 |
|
-{{example}} |
417 |
|
-{{profile-picture user="xwiki:JohnDoe"/}} |
418 |
|
-{{/example}} |
419 |
|
- |
420 |
|
-== Recently Updated Macro == |
421 |
|
- |
422 |
|
-The Recently Updated macro lists recent changes. |
423 |
|
- |
424 |
|
-{{example}} |
425 |
|
-{{recently-updated/}} |
426 |
|
-{{/example}} |
427 |
|
- |
428 |
|
-== Status Macro == |
429 |
|
- |
430 |
|
-The Status macro adds a colored status label. |
431 |
|
- |
432 |
|
-{{example}} |
433 |
|
-{{status value="In Progress" color="yellow"/}} |
434 |
|
-{{/example}} |
435 |
|
- |
436 |
|
-== Team Macro == |
437 |
|
- |
438 |
|
-The Team macro shows avatars of a team. |
439 |
|
- |
440 |
|
-{{example}} |
441 |
|
-{{team space="TeamSpace"/}} |
442 |
|
-{{/example}} |
443 |
|
- |
444 |
|
-== Tooltip Macro == |
445 |
|
- |
446 |
|
-The Tooltip macro shows hints on hover. |
447 |
|
- |
448 |
|
-{{example}} |
449 |
|
-Hover {{tooltip content="Extra Information"}}here{{/tooltip}}. |
450 |
|
-{{/example}} |
451 |
|
- |
452 |
|
-== Tree Macro == |
453 |
|
- |
454 |
|
-The Tree macro shows a hierarchical list. |
455 |
|
- |
456 |
|
-{{example}} |
457 |
|
-{{tree}} |
458 |
|
- |
459 |
|
-[[Parent>>Parent.Page]] |
460 |
|
-** [[Child 1>>Parent.Child1]] |
461 |
|
-** [[Child 2>>Parent.Child2]] |
462 |
|
-{{/tree}} |
463 |
|
-{{/example}} |
464 |
|
- |
465 |
|
-== Video Macro == |
466 |
|
- |
467 |
|
-The Video macro embeds videos. |
468 |
|
- |
469 |
|
-{{example}} |
470 |
|
-{{video url="https://www.youtube.com/watch?v=dQw4w9WgXcQ"/}} |
471 |
|
-{{/example}} |
472 |
|
- |
473 |
|
-1. View File Macro — Fully Fixed |
474 |
|
-Problem: |
475 |
|
-The pdfviewer macro cannot be inside {{example}}...{{/example}}. It has to be standalone. |
476 |
|
- |
477 |
|
-Solution 1: (Most Correct) Directly embed your PDF viewer like this: |
478 |
|
- |
479 |
|
- |
480 |
|
- |
481 |
|
-== View File Macro == |
482 |
|
- |
483 |
|
-The View File macro shows a file viewer for an attached file. |
484 |
|
- |
485 |
|
- |
486 |
|
-{{pdfviewer attachment="MyWiki@Reverse_Discrimination.pdf"/}} |
487 |
|
- |
488 |
|
- |
489 |
|
-✅ This will show the PDF outside of any {{example}} wrapping. |
490 |
|
-✅ Must be attached to the same page (your page is /bin/view/MyWiki/). |
491 |
|
- |
492 |
|
-Note: |
493 |
|
-If you MUST put it inside an {{example}}, we have to fallback to iframe HTML instead of a macro (I can show that if you want). |
494 |
|
- |
495 |
|
-== UIExtension Macro — Fully Fixed == |
496 |
|
-Problem: |
497 |
|
-You used a non-existent extension point org.xwiki.platform.panels — that ID does not exist in your wiki. |
498 |
|
- |
499 |
|
-Solution: |
500 |
|
-➔ We need to use a real extension id. |
501 |
|
-Example safer extension ID: Try org.xwiki.watchlist.menu (almost always exists). |
502 |
|
- |
503 |
|
-Fixed Example: |
504 |
|
- |
505 |
|
-== UI Extension Macro == |
506 |
|
- |
507 |
|
-The UIExtension macro injects UI elements into extension points. |
508 |
|
- |
509 |
|
-{{example}} |
510 |
|
- |
511 |
|
-{{uiextension id="org.xwiki.watchlist.menu"/}} |
512 |
|
- |
513 |
|
-{{/example}} |
514 |
|
- |
515 |
|
-✅ This will NOT give you the [Failed to find an extension id] error because it's a real one. |
516 |
|
- |
517 |
|
-Or, if you want me to list your real extensions dynamically so you can pick properly, I can show you how to list them. |
518 |
|
- |
519 |
|
-== UIExtensions Macro — Leave it as-is == |
520 |
|
- |
521 |
|
-✅ No syntax errors shown here. |
522 |
|
-✅ Already correct. |
523 |
|
- |
524 |
|
-You can keep it exactly: |
525 |
|
- |
526 |
|
- |
527 |
|
-== UI Extensions Macro == |
528 |
|
- |
529 |
|
-The UIExtensions macro lists UI extensions for a given extension point. |
530 |
|
- |
531 |
|
-{{example}} |
532 |
|
- |
533 |
|
-{{uiextensions extensionpoint="org.xwiki.watchlist.menu"/}} |
534 |
|
- |
535 |
|
-{{/example}} |
536 |
|
- |
537 |
|
- |
538 |
|
- |
539 |
|
- |
540 |
|
- |
541 |
|
- |
542 |
|
- |