presently 0.1.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.
- checksums.yaml +7 -0
- data/bin/presently +13 -0
- data/lib/presently/application.rb +104 -0
- data/lib/presently/clock.rb +77 -0
- data/lib/presently/display_view.rb +73 -0
- data/lib/presently/environment/application.rb +62 -0
- data/lib/presently/page.rb +38 -0
- data/lib/presently/page.xrb +31 -0
- data/lib/presently/presentation.rb +72 -0
- data/lib/presently/presentation_controller.rb +181 -0
- data/lib/presently/presenter_view.rb +264 -0
- data/lib/presently/slide.rb +148 -0
- data/lib/presently/slide_view.rb +92 -0
- data/lib/presently/state.rb +66 -0
- data/lib/presently/version.rb +9 -0
- data/lib/presently.rb +9 -0
- data/license.md +21 -0
- data/public/_components/@socketry/syntax/Syntax/CodeElement.js +337 -0
- data/public/_components/@socketry/syntax/Syntax/Errors.js +52 -0
- data/public/_components/@socketry/syntax/Syntax/Language/apache.js +49 -0
- data/public/_components/@socketry/syntax/Syntax/Language/applescript.js +157 -0
- data/public/_components/@socketry/syntax/Syntax/Language/assembly.js +42 -0
- data/public/_components/@socketry/syntax/Syntax/Language/bash-script.js +108 -0
- data/public/_components/@socketry/syntax/Syntax/Language/bash.js +32 -0
- data/public/_components/@socketry/syntax/Syntax/Language/basic.js +232 -0
- data/public/_components/@socketry/syntax/Syntax/Language/c++.js +1 -0
- data/public/_components/@socketry/syntax/Syntax/Language/c.js +1 -0
- data/public/_components/@socketry/syntax/Syntax/Language/clang.js +201 -0
- data/public/_components/@socketry/syntax/Syntax/Language/cpp.js +1 -0
- data/public/_components/@socketry/syntax/Syntax/Language/csharp.js +166 -0
- data/public/_components/@socketry/syntax/Syntax/Language/css.js +244 -0
- data/public/_components/@socketry/syntax/Syntax/Language/diff.js +24 -0
- data/public/_components/@socketry/syntax/Syntax/Language/go.js +135 -0
- data/public/_components/@socketry/syntax/Syntax/Language/haskell.js +110 -0
- data/public/_components/@socketry/syntax/Syntax/Language/html.js +69 -0
- data/public/_components/@socketry/syntax/Syntax/Language/io.js +68 -0
- data/public/_components/@socketry/syntax/Syntax/Language/java.js +134 -0
- data/public/_components/@socketry/syntax/Syntax/Language/javascript.js +89 -0
- data/public/_components/@socketry/syntax/Syntax/Language/json.js +36 -0
- data/public/_components/@socketry/syntax/Syntax/Language/lisp.js +38 -0
- data/public/_components/@socketry/syntax/Syntax/Language/lua.js +87 -0
- data/public/_components/@socketry/syntax/Syntax/Language/markdown.js +112 -0
- data/public/_components/@socketry/syntax/Syntax/Language/nginx.js +37 -0
- data/public/_components/@socketry/syntax/Syntax/Language/objective-c.js +1 -0
- data/public/_components/@socketry/syntax/Syntax/Language/ocaml.js +225 -0
- data/public/_components/@socketry/syntax/Syntax/Language/pascal.js +166 -0
- data/public/_components/@socketry/syntax/Syntax/Language/patch.js +2 -0
- data/public/_components/@socketry/syntax/Syntax/Language/perl5.js +317 -0
- data/public/_components/@socketry/syntax/Syntax/Language/php-script.js +112 -0
- data/public/_components/@socketry/syntax/Syntax/Language/php.js +18 -0
- data/public/_components/@socketry/syntax/Syntax/Language/plain.js +20 -0
- data/public/_components/@socketry/syntax/Syntax/Language/protobuf.js +77 -0
- data/public/_components/@socketry/syntax/Syntax/Language/python.js +208 -0
- data/public/_components/@socketry/syntax/Syntax/Language/ruby.js +124 -0
- data/public/_components/@socketry/syntax/Syntax/Language/scala.js +81 -0
- data/public/_components/@socketry/syntax/Syntax/Language/smalltalk.js +30 -0
- data/public/_components/@socketry/syntax/Syntax/Language/sql.js +865 -0
- data/public/_components/@socketry/syntax/Syntax/Language/super-collider.js +70 -0
- data/public/_components/@socketry/syntax/Syntax/Language/swift.js +176 -0
- data/public/_components/@socketry/syntax/Syntax/Language/xml.js +76 -0
- data/public/_components/@socketry/syntax/Syntax/Language/xrb.js +33 -0
- data/public/_components/@socketry/syntax/Syntax/Language/yaml.js +29 -0
- data/public/_components/@socketry/syntax/Syntax/Language.js +276 -0
- data/public/_components/@socketry/syntax/Syntax/Loader.js +78 -0
- data/public/_components/@socketry/syntax/Syntax/Match.js +546 -0
- data/public/_components/@socketry/syntax/Syntax/Rule.js +306 -0
- data/public/_components/@socketry/syntax/Syntax.js +356 -0
- data/public/_components/@socketry/syntax/bin/syntax-ast.js +42 -0
- data/public/_components/@socketry/syntax/examples/_template.html +53 -0
- data/public/_components/@socketry/syntax/examples/apache.html +72 -0
- data/public/_components/@socketry/syntax/examples/applescript.html +72 -0
- data/public/_components/@socketry/syntax/examples/assembly.html +74 -0
- data/public/_components/@socketry/syntax/examples/bash.html +90 -0
- data/public/_components/@socketry/syntax/examples/basic.html +87 -0
- data/public/_components/@socketry/syntax/examples/c.html +141 -0
- data/public/_components/@socketry/syntax/examples/clang.html +202 -0
- data/public/_components/@socketry/syntax/examples/csharp.html +110 -0
- data/public/_components/@socketry/syntax/examples/css-colors.html +179 -0
- data/public/_components/@socketry/syntax/examples/custom-theme.html +155 -0
- data/public/_components/@socketry/syntax/examples/diff.html +142 -0
- data/public/_components/@socketry/syntax/examples/examples.css +216 -0
- data/public/_components/@socketry/syntax/examples/go.html +413 -0
- data/public/_components/@socketry/syntax/examples/haskell.html +373 -0
- data/public/_components/@socketry/syntax/examples/html.html +316 -0
- data/public/_components/@socketry/syntax/examples/index.html +97 -0
- data/public/_components/@socketry/syntax/examples/io.html +552 -0
- data/public/_components/@socketry/syntax/examples/java.html +786 -0
- data/public/_components/@socketry/syntax/examples/javascript.html +199 -0
- data/public/_components/@socketry/syntax/examples/json.html +150 -0
- data/public/_components/@socketry/syntax/examples/lisp.html +476 -0
- data/public/_components/@socketry/syntax/examples/lua.html +737 -0
- data/public/_components/@socketry/syntax/examples/markdown.html +121 -0
- data/public/_components/@socketry/syntax/examples/mixed.html +306 -0
- data/public/_components/@socketry/syntax/examples/nginx.html +554 -0
- data/public/_components/@socketry/syntax/examples/ocaml.html +596 -0
- data/public/_components/@socketry/syntax/examples/pascal.html +762 -0
- data/public/_components/@socketry/syntax/examples/perl5.html +488 -0
- data/public/_components/@socketry/syntax/examples/php-script.html +142 -0
- data/public/_components/@socketry/syntax/examples/php.html +95 -0
- data/public/_components/@socketry/syntax/examples/plain.html +222 -0
- data/public/_components/@socketry/syntax/examples/protobuf.html +405 -0
- data/public/_components/@socketry/syntax/examples/python.html +82 -0
- data/public/_components/@socketry/syntax/examples/readme.md +79 -0
- data/public/_components/@socketry/syntax/examples/ruby.html +58 -0
- data/public/_components/@socketry/syntax/examples/scala.html +41 -0
- data/public/_components/@socketry/syntax/examples/smalltalk.html +436 -0
- data/public/_components/@socketry/syntax/examples/sql.html +373 -0
- data/public/_components/@socketry/syntax/examples/super-collider.html +55 -0
- data/public/_components/@socketry/syntax/examples/swift.html +176 -0
- data/public/_components/@socketry/syntax/examples/wrap-demo.html +103 -0
- data/public/_components/@socketry/syntax/examples/xml.html +112 -0
- data/public/_components/@socketry/syntax/examples/xrb.html +37 -0
- data/public/_components/@socketry/syntax/examples/yaml.html +72 -0
- data/public/_components/@socketry/syntax/license.md +21 -0
- data/public/_components/@socketry/syntax/package-lock.json +834 -0
- data/public/_components/@socketry/syntax/package.json +43 -0
- data/public/_components/@socketry/syntax/readme.md +162 -0
- data/public/_components/@socketry/syntax/test/Syntax/CodeElement.js +306 -0
- data/public/_components/@socketry/syntax/test/Syntax/ErrorHandling.js +85 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/apache.js +153 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/applescript.js +198 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/assembly.js +209 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/bash-script.js +225 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/bash.js +162 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/basic.js +265 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/clang.js +390 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/csharp.js +436 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/css.js +431 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/diff.js +206 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/go.js +386 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/haskell.js +454 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/html.js +111 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/io.js +229 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/java.js +362 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/javascript.js +101 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/json.js +101 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/lisp.js +224 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/lua.js +307 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/markdown.js +163 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/nginx.js +267 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/ocaml.js +299 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/pascal.js +311 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/perl5.js +333 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/php-script.js +197 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/php.js +92 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/plain.js +327 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/protobuf.js +294 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/python.js +213 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/ruby.js +70 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/scala.js +75 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/smalltalk.js +223 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/sql.js +281 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/super-collider.js +66 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/swift.js +71 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/xml.js +170 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/xrb.js +57 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language/yaml.js +123 -0
- data/public/_components/@socketry/syntax/test/Syntax/Language.js +62 -0
- data/public/_components/@socketry/syntax/test/Syntax/Match.js +40 -0
- data/public/_components/@socketry/syntax/test/Syntax/Rule.js +251 -0
- data/public/_components/@socketry/syntax/test/Syntax.js +38 -0
- data/public/_components/@socketry/syntax/test/helpers/ast-matcher.js +90 -0
- data/public/_components/@socketry/syntax/themes/base/apache.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/applescript.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/assembly.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/bash.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/basic.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/c.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/clang.css +0 -0
- data/public/_components/@socketry/syntax/themes/base/csharp.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/css.css +22 -0
- data/public/_components/@socketry/syntax/themes/base/diff.css +48 -0
- data/public/_components/@socketry/syntax/themes/base/go.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/haskell.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/html.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/io.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/java.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/javascript.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/json.css +41 -0
- data/public/_components/@socketry/syntax/themes/base/lisp.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/lua.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/markdown.css +16 -0
- data/public/_components/@socketry/syntax/themes/base/nginx.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/ocaml.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/pascal.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/perl5.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/php-script.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/php.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/plain.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/protobuf.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/python.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/ruby.css +23 -0
- data/public/_components/@socketry/syntax/themes/base/scala.css +3 -0
- data/public/_components/@socketry/syntax/themes/base/smalltalk.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/sql.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/super-collider.css +33 -0
- data/public/_components/@socketry/syntax/themes/base/swift.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/syntax.css +63 -0
- data/public/_components/@socketry/syntax/themes/base/xml.css +1 -0
- data/public/_components/@socketry/syntax/themes/base/xrb.css +29 -0
- data/public/_components/@socketry/syntax/themes/base/yaml.css +1 -0
- data/public/_components/@socketry/syntax/themes/theming.md +233 -0
- data/public/_components/@socketry/syntax/update-examples.js +135 -0
- data/public/_static/index.css +593 -0
- data/public/application.js +147 -0
- data/readme.md +69 -0
- data/releases.md +3 -0
- data/templates/code.xrb +12 -0
- data/templates/default.xrb +5 -0
- data/templates/image.xrb +8 -0
- data/templates/section.xrb +5 -0
- data/templates/title.xrb +8 -0
- data/templates/translation.xrb +8 -0
- data/templates/two_column.xrb +8 -0
- metadata +280 -0
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>JavaScript Examples - @socketry/syntax</title>
|
|
7
|
+
<link rel="stylesheet" href="examples.css">
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<header>
|
|
11
|
+
<h1>JavaScript Examples</h1>
|
|
12
|
+
<p class="subtitle">Modern ES6+ features and syntax patterns</p>
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<nav>
|
|
16
|
+
<a href="index.html">Back to Examples</a>
|
|
17
|
+
<a href="html.html">HTML</a>
|
|
18
|
+
<a href="mixed.html">Mixed Content</a>
|
|
19
|
+
</nav>
|
|
20
|
+
|
|
21
|
+
<div class="example">
|
|
22
|
+
<h2>ES6+ Features</h2>
|
|
23
|
+
<p class="description">Modern JavaScript with classes, async/await, and arrow functions:</p>
|
|
24
|
+
|
|
25
|
+
<syntax-code language="javascript">
|
|
26
|
+
// Modern JavaScript class
|
|
27
|
+
class EventEmitter {
|
|
28
|
+
#listeners = new Map();
|
|
29
|
+
|
|
30
|
+
constructor() {
|
|
31
|
+
this.maxListeners = 10;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
on(event, callback) {
|
|
35
|
+
if (!this.#listeners.has(event)) {
|
|
36
|
+
this.#listeners.set(event, []);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
this.#listeners.get(event).push(callback);
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
emit(event, ...args) {
|
|
44
|
+
const callbacks = this.#listeners.get(event);
|
|
45
|
+
if (!callbacks) return false;
|
|
46
|
+
|
|
47
|
+
callbacks.forEach(cb => cb(...args));
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
off(event, callback) {
|
|
52
|
+
const callbacks = this.#listeners.get(event);
|
|
53
|
+
if (!callbacks) return this;
|
|
54
|
+
|
|
55
|
+
const index = callbacks.indexOf(callback);
|
|
56
|
+
if (index !== -1) {
|
|
57
|
+
callbacks.splice(index, 1);
|
|
58
|
+
}
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Async/await example
|
|
64
|
+
async function fetchUserData(userId) {
|
|
65
|
+
try {
|
|
66
|
+
const response = await fetch(`/api/users/${userId}`);
|
|
67
|
+
if (!response.ok) {
|
|
68
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
69
|
+
}
|
|
70
|
+
const data = await response.json();
|
|
71
|
+
return data;
|
|
72
|
+
} catch (error) {
|
|
73
|
+
console.error('Failed to fetch user data:', error);
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
</syntax-code>
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
<div class="example">
|
|
81
|
+
<h2>Template Literals</h2>
|
|
82
|
+
<p class="description">Template strings with expressions:</p>
|
|
83
|
+
|
|
84
|
+
<syntax-code language="javascript">
|
|
85
|
+
const name = 'World';
|
|
86
|
+
const greeting = `Hello, ${name}!`;
|
|
87
|
+
|
|
88
|
+
const multiline = `
|
|
89
|
+
This is a multi-line
|
|
90
|
+
template literal with ${greeting}
|
|
91
|
+
and expressions: ${2 + 2}
|
|
92
|
+
`;
|
|
93
|
+
|
|
94
|
+
// Tagged template
|
|
95
|
+
function highlight(strings, ...values) {
|
|
96
|
+
return strings.reduce((result, str, i) => {
|
|
97
|
+
return result + str + (values[i] ? `<mark>${values[i]}</mark>` : '');
|
|
98
|
+
}, '');
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const emphasized = highlight`The answer is ${42}!`;
|
|
102
|
+
</syntax-code>
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
<div class="example">
|
|
106
|
+
<h2>Regular Expressions</h2>
|
|
107
|
+
<p class="description">Pattern matching and text processing:</p>
|
|
108
|
+
|
|
109
|
+
<syntax-code language="javascript">
|
|
110
|
+
// Email validation
|
|
111
|
+
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
|
|
112
|
+
const isValidEmail = email => emailRegex.test(email);
|
|
113
|
+
|
|
114
|
+
// URL parsing
|
|
115
|
+
const urlPattern = /^(https?):\/\/([^\/]+)(\/.*)?$/;
|
|
116
|
+
const match = 'https://example.com/path'.match(urlPattern);
|
|
117
|
+
|
|
118
|
+
// Replace with function
|
|
119
|
+
const text = 'Hello world, hello universe';
|
|
120
|
+
const replaced = text.replace(/hello/gi, match => {
|
|
121
|
+
return match.toUpperCase();
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
// Named capture groups (ES2018)
|
|
125
|
+
const dateRegex = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/;
|
|
126
|
+
const { groups } = '2025-10-26'.match(dateRegex);
|
|
127
|
+
console.log(groups.year, groups.month, groups.day);
|
|
128
|
+
</syntax-code>
|
|
129
|
+
</div>
|
|
130
|
+
|
|
131
|
+
<div class="example">
|
|
132
|
+
<h2>Array Methods</h2>
|
|
133
|
+
<p class="description">Functional programming with arrays:</p>
|
|
134
|
+
|
|
135
|
+
<syntax-code language="javascript">
|
|
136
|
+
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
|
137
|
+
|
|
138
|
+
// Map, filter, reduce
|
|
139
|
+
const doubled = numbers.map(n => n * 2);
|
|
140
|
+
const evens = numbers.filter(n => n % 2 === 0);
|
|
141
|
+
const sum = numbers.reduce((acc, n) => acc + n, 0);
|
|
142
|
+
|
|
143
|
+
// Find and includes
|
|
144
|
+
const firstEven = numbers.find(n => n % 2 === 0);
|
|
145
|
+
const hasThree = numbers.includes(3);
|
|
146
|
+
|
|
147
|
+
// Some and every
|
|
148
|
+
const hasLarge = numbers.some(n => n > 5);
|
|
149
|
+
const allPositive = numbers.every(n => n > 0);
|
|
150
|
+
|
|
151
|
+
// FlatMap (ES2019)
|
|
152
|
+
const nested = [[1, 2], [3, 4], [5]];
|
|
153
|
+
const flat = nested.flatMap(arr => arr.map(n => n * 2));
|
|
154
|
+
</syntax-code>
|
|
155
|
+
</div>
|
|
156
|
+
|
|
157
|
+
<div class="example">
|
|
158
|
+
<h2>Comments</h2>
|
|
159
|
+
<p class="description">Different comment styles:</p>
|
|
160
|
+
|
|
161
|
+
<syntax-code language="javascript">
|
|
162
|
+
// Single-line comment
|
|
163
|
+
let x = 42; // Inline comment
|
|
164
|
+
|
|
165
|
+
/*
|
|
166
|
+
* Multi-line comment
|
|
167
|
+
* spanning multiple lines
|
|
168
|
+
*/
|
|
169
|
+
function calculate(a, b) {
|
|
170
|
+
return a + b; /* inline block comment */
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* JSDoc documentation comment
|
|
175
|
+
* @param {string} name - The user's name
|
|
176
|
+
* @param {number} age - The user's age
|
|
177
|
+
* @returns {Object} User object
|
|
178
|
+
*/
|
|
179
|
+
function createUser(name, age) {
|
|
180
|
+
return { name, age };
|
|
181
|
+
}
|
|
182
|
+
</syntax-code>
|
|
183
|
+
</div>
|
|
184
|
+
|
|
185
|
+
<script type="module">
|
|
186
|
+
import Syntax from '../Syntax.js';
|
|
187
|
+
import registerJavaScript from '../Syntax/Language/javascript.js';
|
|
188
|
+
|
|
189
|
+
// Register the JavaScript language
|
|
190
|
+
registerJavaScript(Syntax.default);
|
|
191
|
+
|
|
192
|
+
// Initialize highlighting
|
|
193
|
+
await Syntax.highlight({
|
|
194
|
+
autoUpgrade: true,
|
|
195
|
+
syntax: Syntax.default
|
|
196
|
+
});
|
|
197
|
+
</script>
|
|
198
|
+
</body>
|
|
199
|
+
</html>
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>JSON Examples - @socketry/syntax</title>
|
|
7
|
+
<link rel="stylesheet" href="examples.css">
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<header>
|
|
11
|
+
<h1>JSON Examples</h1>
|
|
12
|
+
<p class="subtitle">JSON syntax highlighting</p>
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<nav>
|
|
16
|
+
<a href="index.html">Back to Examples</a>
|
|
17
|
+
</nav>
|
|
18
|
+
|
|
19
|
+
<h1>JSON Examples</h1>
|
|
20
|
+
|
|
21
|
+
<nav>
|
|
22
|
+
<a href="index.html">← Back</a>
|
|
23
|
+
<a href="javascript.html">JavaScript</a>
|
|
24
|
+
<a href="html.html">HTML</a>
|
|
25
|
+
</nav>
|
|
26
|
+
|
|
27
|
+
<div class="example">
|
|
28
|
+
<h2>Basic JSON Object</h2>
|
|
29
|
+
<p class="description">Simple object with various value types:</p>
|
|
30
|
+
|
|
31
|
+
<syntax-code language="json">
|
|
32
|
+
{
|
|
33
|
+
"name": "John Doe",
|
|
34
|
+
"age": 30,
|
|
35
|
+
"active": true,
|
|
36
|
+
"balance": 123.45,
|
|
37
|
+
"address": null
|
|
38
|
+
}
|
|
39
|
+
</syntax-code>
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
<div class="example">
|
|
43
|
+
<h2>JSON Array</h2>
|
|
44
|
+
<p class="description">Array with mixed types:</p>
|
|
45
|
+
|
|
46
|
+
<syntax-code language="json">
|
|
47
|
+
[
|
|
48
|
+
1,
|
|
49
|
+
2,
|
|
50
|
+
3.14,
|
|
51
|
+
"string",
|
|
52
|
+
true,
|
|
53
|
+
false,
|
|
54
|
+
null
|
|
55
|
+
]
|
|
56
|
+
</syntax-code>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div class="example">
|
|
60
|
+
<h2>Nested Structure</h2>
|
|
61
|
+
<p class="description">Complex nested objects and arrays:</p>
|
|
62
|
+
|
|
63
|
+
<syntax-code language="json">
|
|
64
|
+
{
|
|
65
|
+
"user": {
|
|
66
|
+
"id": 12345,
|
|
67
|
+
"username": "johndoe",
|
|
68
|
+
"email": "john@example.com",
|
|
69
|
+
"profile": {
|
|
70
|
+
"firstName": "John",
|
|
71
|
+
"lastName": "Doe",
|
|
72
|
+
"bio": "Software developer"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"posts": [
|
|
76
|
+
{
|
|
77
|
+
"id": 1,
|
|
78
|
+
"title": "First Post",
|
|
79
|
+
"published": true,
|
|
80
|
+
"likes": 42
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": 2,
|
|
84
|
+
"title": "Second Post",
|
|
85
|
+
"published": false,
|
|
86
|
+
"likes": 0
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"metadata": {
|
|
90
|
+
"created": "2025-10-26T12:00:00Z",
|
|
91
|
+
"version": "1.0.0"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
</syntax-code>
|
|
95
|
+
</div>
|
|
96
|
+
|
|
97
|
+
<div class="example">
|
|
98
|
+
<h2>Scientific Notation</h2>
|
|
99
|
+
<p class="description">Numbers with scientific notation:</p>
|
|
100
|
+
|
|
101
|
+
<syntax-code language="json">
|
|
102
|
+
{
|
|
103
|
+
"smallNumber": 1.23e-10,
|
|
104
|
+
"largeNumber": 6.022e23,
|
|
105
|
+
"negative": -2.5e-3,
|
|
106
|
+
"positive": 1.5E+5
|
|
107
|
+
}
|
|
108
|
+
</syntax-code>
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
<div class="example">
|
|
112
|
+
<h2>API Response Example</h2>
|
|
113
|
+
<p class="description">Typical REST API response structure:</p>
|
|
114
|
+
|
|
115
|
+
<syntax-code language="json">
|
|
116
|
+
{
|
|
117
|
+
"status": "success",
|
|
118
|
+
"code": 200,
|
|
119
|
+
"data": {
|
|
120
|
+
"items": [
|
|
121
|
+
{
|
|
122
|
+
"id": "abc123",
|
|
123
|
+
"type": "product",
|
|
124
|
+
"attributes": {
|
|
125
|
+
"name": "Widget",
|
|
126
|
+
"price": 29.99,
|
|
127
|
+
"inStock": true,
|
|
128
|
+
"quantity": 150
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
],
|
|
132
|
+
"total": 1,
|
|
133
|
+
"hasMore": false
|
|
134
|
+
},
|
|
135
|
+
"timestamp": "2025-10-26T14:30:00.000Z"
|
|
136
|
+
}
|
|
137
|
+
</syntax-code>
|
|
138
|
+
</div>
|
|
139
|
+
|
|
140
|
+
<script type="module">
|
|
141
|
+
import Syntax from '../Syntax.js';
|
|
142
|
+
|
|
143
|
+
// Initialize highlighting
|
|
144
|
+
await Syntax.highlight({
|
|
145
|
+
autoUpgrade: true,
|
|
146
|
+
syntax: Syntax.default
|
|
147
|
+
});
|
|
148
|
+
</script>
|
|
149
|
+
</body>
|
|
150
|
+
</html>
|