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.
Files changed (215) hide show
  1. checksums.yaml +7 -0
  2. data/bin/presently +13 -0
  3. data/lib/presently/application.rb +104 -0
  4. data/lib/presently/clock.rb +77 -0
  5. data/lib/presently/display_view.rb +73 -0
  6. data/lib/presently/environment/application.rb +62 -0
  7. data/lib/presently/page.rb +38 -0
  8. data/lib/presently/page.xrb +31 -0
  9. data/lib/presently/presentation.rb +72 -0
  10. data/lib/presently/presentation_controller.rb +181 -0
  11. data/lib/presently/presenter_view.rb +264 -0
  12. data/lib/presently/slide.rb +148 -0
  13. data/lib/presently/slide_view.rb +92 -0
  14. data/lib/presently/state.rb +66 -0
  15. data/lib/presently/version.rb +9 -0
  16. data/lib/presently.rb +9 -0
  17. data/license.md +21 -0
  18. data/public/_components/@socketry/syntax/Syntax/CodeElement.js +337 -0
  19. data/public/_components/@socketry/syntax/Syntax/Errors.js +52 -0
  20. data/public/_components/@socketry/syntax/Syntax/Language/apache.js +49 -0
  21. data/public/_components/@socketry/syntax/Syntax/Language/applescript.js +157 -0
  22. data/public/_components/@socketry/syntax/Syntax/Language/assembly.js +42 -0
  23. data/public/_components/@socketry/syntax/Syntax/Language/bash-script.js +108 -0
  24. data/public/_components/@socketry/syntax/Syntax/Language/bash.js +32 -0
  25. data/public/_components/@socketry/syntax/Syntax/Language/basic.js +232 -0
  26. data/public/_components/@socketry/syntax/Syntax/Language/c++.js +1 -0
  27. data/public/_components/@socketry/syntax/Syntax/Language/c.js +1 -0
  28. data/public/_components/@socketry/syntax/Syntax/Language/clang.js +201 -0
  29. data/public/_components/@socketry/syntax/Syntax/Language/cpp.js +1 -0
  30. data/public/_components/@socketry/syntax/Syntax/Language/csharp.js +166 -0
  31. data/public/_components/@socketry/syntax/Syntax/Language/css.js +244 -0
  32. data/public/_components/@socketry/syntax/Syntax/Language/diff.js +24 -0
  33. data/public/_components/@socketry/syntax/Syntax/Language/go.js +135 -0
  34. data/public/_components/@socketry/syntax/Syntax/Language/haskell.js +110 -0
  35. data/public/_components/@socketry/syntax/Syntax/Language/html.js +69 -0
  36. data/public/_components/@socketry/syntax/Syntax/Language/io.js +68 -0
  37. data/public/_components/@socketry/syntax/Syntax/Language/java.js +134 -0
  38. data/public/_components/@socketry/syntax/Syntax/Language/javascript.js +89 -0
  39. data/public/_components/@socketry/syntax/Syntax/Language/json.js +36 -0
  40. data/public/_components/@socketry/syntax/Syntax/Language/lisp.js +38 -0
  41. data/public/_components/@socketry/syntax/Syntax/Language/lua.js +87 -0
  42. data/public/_components/@socketry/syntax/Syntax/Language/markdown.js +112 -0
  43. data/public/_components/@socketry/syntax/Syntax/Language/nginx.js +37 -0
  44. data/public/_components/@socketry/syntax/Syntax/Language/objective-c.js +1 -0
  45. data/public/_components/@socketry/syntax/Syntax/Language/ocaml.js +225 -0
  46. data/public/_components/@socketry/syntax/Syntax/Language/pascal.js +166 -0
  47. data/public/_components/@socketry/syntax/Syntax/Language/patch.js +2 -0
  48. data/public/_components/@socketry/syntax/Syntax/Language/perl5.js +317 -0
  49. data/public/_components/@socketry/syntax/Syntax/Language/php-script.js +112 -0
  50. data/public/_components/@socketry/syntax/Syntax/Language/php.js +18 -0
  51. data/public/_components/@socketry/syntax/Syntax/Language/plain.js +20 -0
  52. data/public/_components/@socketry/syntax/Syntax/Language/protobuf.js +77 -0
  53. data/public/_components/@socketry/syntax/Syntax/Language/python.js +208 -0
  54. data/public/_components/@socketry/syntax/Syntax/Language/ruby.js +124 -0
  55. data/public/_components/@socketry/syntax/Syntax/Language/scala.js +81 -0
  56. data/public/_components/@socketry/syntax/Syntax/Language/smalltalk.js +30 -0
  57. data/public/_components/@socketry/syntax/Syntax/Language/sql.js +865 -0
  58. data/public/_components/@socketry/syntax/Syntax/Language/super-collider.js +70 -0
  59. data/public/_components/@socketry/syntax/Syntax/Language/swift.js +176 -0
  60. data/public/_components/@socketry/syntax/Syntax/Language/xml.js +76 -0
  61. data/public/_components/@socketry/syntax/Syntax/Language/xrb.js +33 -0
  62. data/public/_components/@socketry/syntax/Syntax/Language/yaml.js +29 -0
  63. data/public/_components/@socketry/syntax/Syntax/Language.js +276 -0
  64. data/public/_components/@socketry/syntax/Syntax/Loader.js +78 -0
  65. data/public/_components/@socketry/syntax/Syntax/Match.js +546 -0
  66. data/public/_components/@socketry/syntax/Syntax/Rule.js +306 -0
  67. data/public/_components/@socketry/syntax/Syntax.js +356 -0
  68. data/public/_components/@socketry/syntax/bin/syntax-ast.js +42 -0
  69. data/public/_components/@socketry/syntax/examples/_template.html +53 -0
  70. data/public/_components/@socketry/syntax/examples/apache.html +72 -0
  71. data/public/_components/@socketry/syntax/examples/applescript.html +72 -0
  72. data/public/_components/@socketry/syntax/examples/assembly.html +74 -0
  73. data/public/_components/@socketry/syntax/examples/bash.html +90 -0
  74. data/public/_components/@socketry/syntax/examples/basic.html +87 -0
  75. data/public/_components/@socketry/syntax/examples/c.html +141 -0
  76. data/public/_components/@socketry/syntax/examples/clang.html +202 -0
  77. data/public/_components/@socketry/syntax/examples/csharp.html +110 -0
  78. data/public/_components/@socketry/syntax/examples/css-colors.html +179 -0
  79. data/public/_components/@socketry/syntax/examples/custom-theme.html +155 -0
  80. data/public/_components/@socketry/syntax/examples/diff.html +142 -0
  81. data/public/_components/@socketry/syntax/examples/examples.css +216 -0
  82. data/public/_components/@socketry/syntax/examples/go.html +413 -0
  83. data/public/_components/@socketry/syntax/examples/haskell.html +373 -0
  84. data/public/_components/@socketry/syntax/examples/html.html +316 -0
  85. data/public/_components/@socketry/syntax/examples/index.html +97 -0
  86. data/public/_components/@socketry/syntax/examples/io.html +552 -0
  87. data/public/_components/@socketry/syntax/examples/java.html +786 -0
  88. data/public/_components/@socketry/syntax/examples/javascript.html +199 -0
  89. data/public/_components/@socketry/syntax/examples/json.html +150 -0
  90. data/public/_components/@socketry/syntax/examples/lisp.html +476 -0
  91. data/public/_components/@socketry/syntax/examples/lua.html +737 -0
  92. data/public/_components/@socketry/syntax/examples/markdown.html +121 -0
  93. data/public/_components/@socketry/syntax/examples/mixed.html +306 -0
  94. data/public/_components/@socketry/syntax/examples/nginx.html +554 -0
  95. data/public/_components/@socketry/syntax/examples/ocaml.html +596 -0
  96. data/public/_components/@socketry/syntax/examples/pascal.html +762 -0
  97. data/public/_components/@socketry/syntax/examples/perl5.html +488 -0
  98. data/public/_components/@socketry/syntax/examples/php-script.html +142 -0
  99. data/public/_components/@socketry/syntax/examples/php.html +95 -0
  100. data/public/_components/@socketry/syntax/examples/plain.html +222 -0
  101. data/public/_components/@socketry/syntax/examples/protobuf.html +405 -0
  102. data/public/_components/@socketry/syntax/examples/python.html +82 -0
  103. data/public/_components/@socketry/syntax/examples/readme.md +79 -0
  104. data/public/_components/@socketry/syntax/examples/ruby.html +58 -0
  105. data/public/_components/@socketry/syntax/examples/scala.html +41 -0
  106. data/public/_components/@socketry/syntax/examples/smalltalk.html +436 -0
  107. data/public/_components/@socketry/syntax/examples/sql.html +373 -0
  108. data/public/_components/@socketry/syntax/examples/super-collider.html +55 -0
  109. data/public/_components/@socketry/syntax/examples/swift.html +176 -0
  110. data/public/_components/@socketry/syntax/examples/wrap-demo.html +103 -0
  111. data/public/_components/@socketry/syntax/examples/xml.html +112 -0
  112. data/public/_components/@socketry/syntax/examples/xrb.html +37 -0
  113. data/public/_components/@socketry/syntax/examples/yaml.html +72 -0
  114. data/public/_components/@socketry/syntax/license.md +21 -0
  115. data/public/_components/@socketry/syntax/package-lock.json +834 -0
  116. data/public/_components/@socketry/syntax/package.json +43 -0
  117. data/public/_components/@socketry/syntax/readme.md +162 -0
  118. data/public/_components/@socketry/syntax/test/Syntax/CodeElement.js +306 -0
  119. data/public/_components/@socketry/syntax/test/Syntax/ErrorHandling.js +85 -0
  120. data/public/_components/@socketry/syntax/test/Syntax/Language/apache.js +153 -0
  121. data/public/_components/@socketry/syntax/test/Syntax/Language/applescript.js +198 -0
  122. data/public/_components/@socketry/syntax/test/Syntax/Language/assembly.js +209 -0
  123. data/public/_components/@socketry/syntax/test/Syntax/Language/bash-script.js +225 -0
  124. data/public/_components/@socketry/syntax/test/Syntax/Language/bash.js +162 -0
  125. data/public/_components/@socketry/syntax/test/Syntax/Language/basic.js +265 -0
  126. data/public/_components/@socketry/syntax/test/Syntax/Language/clang.js +390 -0
  127. data/public/_components/@socketry/syntax/test/Syntax/Language/csharp.js +436 -0
  128. data/public/_components/@socketry/syntax/test/Syntax/Language/css.js +431 -0
  129. data/public/_components/@socketry/syntax/test/Syntax/Language/diff.js +206 -0
  130. data/public/_components/@socketry/syntax/test/Syntax/Language/go.js +386 -0
  131. data/public/_components/@socketry/syntax/test/Syntax/Language/haskell.js +454 -0
  132. data/public/_components/@socketry/syntax/test/Syntax/Language/html.js +111 -0
  133. data/public/_components/@socketry/syntax/test/Syntax/Language/io.js +229 -0
  134. data/public/_components/@socketry/syntax/test/Syntax/Language/java.js +362 -0
  135. data/public/_components/@socketry/syntax/test/Syntax/Language/javascript.js +101 -0
  136. data/public/_components/@socketry/syntax/test/Syntax/Language/json.js +101 -0
  137. data/public/_components/@socketry/syntax/test/Syntax/Language/lisp.js +224 -0
  138. data/public/_components/@socketry/syntax/test/Syntax/Language/lua.js +307 -0
  139. data/public/_components/@socketry/syntax/test/Syntax/Language/markdown.js +163 -0
  140. data/public/_components/@socketry/syntax/test/Syntax/Language/nginx.js +267 -0
  141. data/public/_components/@socketry/syntax/test/Syntax/Language/ocaml.js +299 -0
  142. data/public/_components/@socketry/syntax/test/Syntax/Language/pascal.js +311 -0
  143. data/public/_components/@socketry/syntax/test/Syntax/Language/perl5.js +333 -0
  144. data/public/_components/@socketry/syntax/test/Syntax/Language/php-script.js +197 -0
  145. data/public/_components/@socketry/syntax/test/Syntax/Language/php.js +92 -0
  146. data/public/_components/@socketry/syntax/test/Syntax/Language/plain.js +327 -0
  147. data/public/_components/@socketry/syntax/test/Syntax/Language/protobuf.js +294 -0
  148. data/public/_components/@socketry/syntax/test/Syntax/Language/python.js +213 -0
  149. data/public/_components/@socketry/syntax/test/Syntax/Language/ruby.js +70 -0
  150. data/public/_components/@socketry/syntax/test/Syntax/Language/scala.js +75 -0
  151. data/public/_components/@socketry/syntax/test/Syntax/Language/smalltalk.js +223 -0
  152. data/public/_components/@socketry/syntax/test/Syntax/Language/sql.js +281 -0
  153. data/public/_components/@socketry/syntax/test/Syntax/Language/super-collider.js +66 -0
  154. data/public/_components/@socketry/syntax/test/Syntax/Language/swift.js +71 -0
  155. data/public/_components/@socketry/syntax/test/Syntax/Language/xml.js +170 -0
  156. data/public/_components/@socketry/syntax/test/Syntax/Language/xrb.js +57 -0
  157. data/public/_components/@socketry/syntax/test/Syntax/Language/yaml.js +123 -0
  158. data/public/_components/@socketry/syntax/test/Syntax/Language.js +62 -0
  159. data/public/_components/@socketry/syntax/test/Syntax/Match.js +40 -0
  160. data/public/_components/@socketry/syntax/test/Syntax/Rule.js +251 -0
  161. data/public/_components/@socketry/syntax/test/Syntax.js +38 -0
  162. data/public/_components/@socketry/syntax/test/helpers/ast-matcher.js +90 -0
  163. data/public/_components/@socketry/syntax/themes/base/apache.css +1 -0
  164. data/public/_components/@socketry/syntax/themes/base/applescript.css +1 -0
  165. data/public/_components/@socketry/syntax/themes/base/assembly.css +1 -0
  166. data/public/_components/@socketry/syntax/themes/base/bash.css +1 -0
  167. data/public/_components/@socketry/syntax/themes/base/basic.css +1 -0
  168. data/public/_components/@socketry/syntax/themes/base/c.css +1 -0
  169. data/public/_components/@socketry/syntax/themes/base/clang.css +0 -0
  170. data/public/_components/@socketry/syntax/themes/base/csharp.css +1 -0
  171. data/public/_components/@socketry/syntax/themes/base/css.css +22 -0
  172. data/public/_components/@socketry/syntax/themes/base/diff.css +48 -0
  173. data/public/_components/@socketry/syntax/themes/base/go.css +1 -0
  174. data/public/_components/@socketry/syntax/themes/base/haskell.css +1 -0
  175. data/public/_components/@socketry/syntax/themes/base/html.css +1 -0
  176. data/public/_components/@socketry/syntax/themes/base/io.css +1 -0
  177. data/public/_components/@socketry/syntax/themes/base/java.css +1 -0
  178. data/public/_components/@socketry/syntax/themes/base/javascript.css +1 -0
  179. data/public/_components/@socketry/syntax/themes/base/json.css +41 -0
  180. data/public/_components/@socketry/syntax/themes/base/lisp.css +1 -0
  181. data/public/_components/@socketry/syntax/themes/base/lua.css +1 -0
  182. data/public/_components/@socketry/syntax/themes/base/markdown.css +16 -0
  183. data/public/_components/@socketry/syntax/themes/base/nginx.css +1 -0
  184. data/public/_components/@socketry/syntax/themes/base/ocaml.css +1 -0
  185. data/public/_components/@socketry/syntax/themes/base/pascal.css +1 -0
  186. data/public/_components/@socketry/syntax/themes/base/perl5.css +1 -0
  187. data/public/_components/@socketry/syntax/themes/base/php-script.css +1 -0
  188. data/public/_components/@socketry/syntax/themes/base/php.css +1 -0
  189. data/public/_components/@socketry/syntax/themes/base/plain.css +1 -0
  190. data/public/_components/@socketry/syntax/themes/base/protobuf.css +1 -0
  191. data/public/_components/@socketry/syntax/themes/base/python.css +1 -0
  192. data/public/_components/@socketry/syntax/themes/base/ruby.css +23 -0
  193. data/public/_components/@socketry/syntax/themes/base/scala.css +3 -0
  194. data/public/_components/@socketry/syntax/themes/base/smalltalk.css +1 -0
  195. data/public/_components/@socketry/syntax/themes/base/sql.css +1 -0
  196. data/public/_components/@socketry/syntax/themes/base/super-collider.css +33 -0
  197. data/public/_components/@socketry/syntax/themes/base/swift.css +1 -0
  198. data/public/_components/@socketry/syntax/themes/base/syntax.css +63 -0
  199. data/public/_components/@socketry/syntax/themes/base/xml.css +1 -0
  200. data/public/_components/@socketry/syntax/themes/base/xrb.css +29 -0
  201. data/public/_components/@socketry/syntax/themes/base/yaml.css +1 -0
  202. data/public/_components/@socketry/syntax/themes/theming.md +233 -0
  203. data/public/_components/@socketry/syntax/update-examples.js +135 -0
  204. data/public/_static/index.css +593 -0
  205. data/public/application.js +147 -0
  206. data/readme.md +69 -0
  207. data/releases.md +3 -0
  208. data/templates/code.xrb +12 -0
  209. data/templates/default.xrb +5 -0
  210. data/templates/image.xrb +8 -0
  211. data/templates/section.xrb +5 -0
  212. data/templates/title.xrb +8 -0
  213. data/templates/translation.xrb +8 -0
  214. data/templates/two_column.xrb +8 -0
  215. metadata +280 -0
@@ -0,0 +1,53 @@
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>[Language] Examples - @socketry/syntax</title>
7
+ <link rel="stylesheet" href="examples.css">
8
+ </head>
9
+ <body>
10
+ <header>
11
+ <h1>[Language] Examples</h1>
12
+ <p class="subtitle">[Brief description of the language or focus]</p>
13
+ </header>
14
+
15
+ <nav>
16
+ <a href="index.html">Back to Examples</a>
17
+ <a href="[related].html">[Related Language]</a>
18
+ <a href="[related2].html">[Another Related]</a>
19
+ </nav>
20
+
21
+ <div class="example">
22
+ <h2>[Feature Name]</h2>
23
+ <p class="description">[Brief description of what this example demonstrates]</p>
24
+
25
+ <syntax-code language="[language-id]">
26
+ [code example here]
27
+ </syntax-code>
28
+ </div>
29
+
30
+ <div class="example">
31
+ <h2>[Another Feature]</h2>
32
+ <p class="description">[Description]</p>
33
+
34
+ <syntax-code language="[language-id]">
35
+ [code example here]
36
+ </syntax-code>
37
+ </div>
38
+
39
+ <script type="module">
40
+ import Syntax from '../Syntax.js';
41
+ import register[Language] from '../Syntax/Language/[language].js';
42
+
43
+ // Register the language (if needed - some are auto-registered)
44
+ register[Language](Syntax.default);
45
+
46
+ // Initialize highlighting
47
+ await Syntax.highlight({
48
+ autoUpgrade: true,
49
+ syntax: Syntax.default
50
+ });
51
+ </script>
52
+ </body>
53
+ </html>
@@ -0,0 +1,72 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Apache Examples - @socketry/syntax</title>
7
+ <link rel="stylesheet" href="examples.css">
8
+ </head>
9
+ <body>
10
+ <header>
11
+ <h1>Apache Examples</h1>
12
+ <p class="subtitle">Apache syntax highlighting</p>
13
+ </header>
14
+
15
+ <nav>
16
+ <a href="index.html">Back to Examples</a>
17
+ </nav>
18
+
19
+ <h1>Apache Configuration Syntax Highlighting</h1>
20
+
21
+ <syntax-code language="apache">
22
+ # Apache Configuration Example
23
+
24
+ ServerRoot "/etc/apache2"
25
+ Listen 80
26
+ Listen 443
27
+
28
+ LoadModule ssl_module modules/mod_ssl.so
29
+ LoadModule rewrite_module modules/mod_rewrite.so
30
+
31
+ <VirtualHost *:80>
32
+ ServerName example.com
33
+ ServerAlias www.example.com
34
+ DocumentRoot /var/www/html
35
+
36
+ <Directory /var/www/html>
37
+ Options Indexes FollowSymLinks
38
+ AllowOverride All
39
+ Require all granted
40
+ </Directory>
41
+
42
+ ErrorLog ${APACHE_LOG_DIR}/error.log
43
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
44
+
45
+ # Redirect to HTTPS
46
+ RewriteEngine On
47
+ RewriteCond %{HTTPS} off
48
+ RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
49
+ </VirtualHost>
50
+
51
+ <VirtualHost *:443>
52
+ ServerName example.com
53
+ DocumentRoot /var/www/html
54
+
55
+ SSLEngine on
56
+ SSLCertificateFile /etc/ssl/certs/example.crt
57
+ SSLCertificateKeyFile /etc/ssl/private/example.key
58
+
59
+ <FilesMatch "\.(cgi|shtml|phtml|php)$">
60
+ SSLOptions +StdEnvVars
61
+ </FilesMatch>
62
+ </VirtualHost>
63
+ </syntax-code>
64
+ </div>
65
+
66
+ <script type="module">
67
+ import Syntax from '../Syntax.js';
68
+
69
+ await Syntax.highlight({ autoUpgrade: true });
70
+ </script>
71
+ </body>
72
+ </html>
@@ -0,0 +1,72 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>AppleScript Examples - @socketry/syntax</title>
7
+ <link rel="stylesheet" href="examples.css">
8
+ </head>
9
+ <body>
10
+ <header>
11
+ <h1>AppleScript Examples</h1>
12
+ <p class="subtitle">AppleScript syntax highlighting</p>
13
+ </header>
14
+
15
+ <nav>
16
+ <a href="index.html">Back to Examples</a>
17
+ </nav>
18
+
19
+ <h1>AppleScript Syntax Highlighting</h1>
20
+
21
+ <syntax-code language="applescript">
22
+ -- File Management Script
23
+
24
+ on processFiles(fileList)
25
+ set resultList to {}
26
+
27
+ repeat with theFile in fileList
28
+ try
29
+ tell application "Finder"
30
+ set fileName to name of theFile
31
+ set fileSize to size of theFile
32
+
33
+ if fileSize > 1000000 then
34
+ set end of resultList to fileName
35
+ end if
36
+ end tell
37
+ on error errMsg
38
+ display dialog "Error: " & errMsg
39
+ end try
40
+ end repeat
41
+
42
+ return resultList
43
+ end processFiles
44
+
45
+ -- Main script
46
+ tell application "Finder"
47
+ set desktopFolder to path to desktop
48
+ set allFiles to every file of desktopFolder
49
+
50
+ -- Filter large files
51
+ set largeFiles to my processFiles(allFiles)
52
+
53
+ if (count of largeFiles) > 0 then
54
+ display dialog "Found " & (count of largeFiles) & " large files"
55
+ else
56
+ display notification "No large files found"
57
+ end if
58
+ end tell
59
+
60
+ -- Text manipulation
61
+ set myString to "Hello, World!"
62
+ set upperString to do shell script "echo " & quoted form of myString & " | tr '[:lower:]' '[:upper:]'"
63
+ </syntax-code>
64
+ </div>
65
+
66
+ <script type="module">
67
+ import Syntax from '../Syntax.js';
68
+
69
+ await Syntax.highlight({ autoUpgrade: true });
70
+ </script>
71
+ </body>
72
+ </html>
@@ -0,0 +1,74 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Assembly Examples - @socketry/syntax</title>
7
+ <link rel="stylesheet" href="examples.css">
8
+ </head>
9
+ <body>
10
+ <header>
11
+ <h1>Assembly Examples</h1>
12
+ <p class="subtitle">Assembly syntax highlighting</p>
13
+ </header>
14
+
15
+ <nav>
16
+ <a href="index.html">Back to Examples</a>
17
+ </nav>
18
+
19
+ <h1>Assembly Syntax Highlighting</h1>
20
+
21
+ <syntax-code language="assembly">
22
+ ; Simple x86 Assembly Example
23
+ ; Print "Hello, World!" using Linux syscall
24
+
25
+ section .data
26
+ msg db 'Hello, World!', 0x0A ; message with newline
27
+ len equ $ - msg ; calculate length
28
+
29
+ section .bss
30
+ buffer resb 64 ; reserve 64 bytes
31
+
32
+ section .text
33
+ global _start
34
+
35
+ _start:
36
+ ; write syscall
37
+ mov eax, 4 ; sys_write
38
+ mov ebx, 1 ; stdout
39
+ mov ecx, msg ; message address
40
+ mov edx, len ; message length
41
+ int 0x80 ; kernel interrupt
42
+
43
+ ; exit syscall
44
+ mov eax, 1 ; sys_exit
45
+ xor ebx, ebx ; return 0
46
+ int 0x80
47
+
48
+ ; Function to add two numbers
49
+ add_numbers:
50
+ push ebp
51
+ mov ebp, esp
52
+
53
+ mov eax, [ebp+8] ; first parameter
54
+ add eax, [ebp+12] ; second parameter
55
+
56
+ pop ebp
57
+ ret
58
+
59
+ ; Data alignment example
60
+ align 4
61
+ mydata:
62
+ dd 0x12345678 ; double word
63
+ dw 0xABCD ; word
64
+ db 0xFF ; byte
65
+ </syntax-code>
66
+ </div>
67
+
68
+ <script type="module">
69
+ import Syntax from '../Syntax.js';
70
+
71
+ await Syntax.highlight({ autoUpgrade: true });
72
+ </script>
73
+ </body>
74
+ </html>
@@ -0,0 +1,90 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Bash Examples - @socketry/syntax</title>
7
+ <link rel="stylesheet" href="examples.css">
8
+ </head>
9
+ <body>
10
+ <header>
11
+ <h1>Bash Examples</h1>
12
+ <p class="subtitle">Bash syntax highlighting</p>
13
+ </header>
14
+
15
+ <nav>
16
+ <a href="index.html">Back to Examples</a>
17
+ </nav>
18
+
19
+ <h1>Bash Script Syntax Highlighting</h1>
20
+
21
+ <syntax-code language="bash-script">
22
+ #!/bin/bash
23
+
24
+ # Backup Script with Error Handling
25
+
26
+ set -e # Exit on error
27
+ set -u # Exit on undefined variable
28
+
29
+ # Variables
30
+ BACKUP_DIR="/backup"
31
+ SOURCE_DIR="/var/www"
32
+ DATE=$(date +%Y%m%d_%H%M%S)
33
+ BACKUP_FILE="backup_${DATE}.tar.gz"
34
+
35
+ # Functions
36
+ function log_message() {
37
+ echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1"
38
+ }
39
+
40
+ function create_backup() {
41
+ local source=$1
42
+ local dest=$2
43
+
44
+ log_message "Starting backup of ${source}"
45
+
46
+ if [ -d "${source}" ]; then
47
+ tar -czf "${dest}" "${source}" 2>&1 | tee -a backup.log
48
+
49
+ if [ ${PIPESTATUS[0]} -eq 0 ]; then
50
+ log_message "Backup completed successfully"
51
+ return 0
52
+ else
53
+ log_message "Backup failed!"
54
+ return 1
55
+ fi
56
+ else
57
+ log_message "Error: Source directory not found"
58
+ return 1
59
+ fi
60
+ }
61
+
62
+ # Main script
63
+ if [ ! -d "${BACKUP_DIR}" ]; then
64
+ mkdir -p "${BACKUP_DIR}"
65
+ fi
66
+
67
+ # Check available space
68
+ available_space=$(df -BG "${BACKUP_DIR}" | awk 'NR==2 {print $4}' | sed 's/G//')
69
+
70
+ if [ "${available_space}" -lt 10 ]; then
71
+ log_message "Warning: Less than 10GB available"
72
+ fi
73
+
74
+ # Create backup
75
+ create_backup "${SOURCE_DIR}" "${BACKUP_DIR}/${BACKUP_FILE}"
76
+
77
+ # Cleanup old backups (keep last 7 days)
78
+ find "${BACKUP_DIR}" -name "backup_*.tar.gz" -mtime +7 -delete
79
+
80
+ log_message "Backup process completed"
81
+ </syntax-code>
82
+ </div>
83
+
84
+ <script type="module">
85
+ import Syntax from '../Syntax.js';
86
+
87
+ await Syntax.highlight({ autoUpgrade: true });
88
+ </script>
89
+ </body>
90
+ </html>
@@ -0,0 +1,87 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>BASIC/VB Examples - @socketry/syntax</title>
7
+ <link rel="stylesheet" href="examples.css">
8
+ </head>
9
+ <body>
10
+ <header>
11
+ <h1>BASIC/VB Examples</h1>
12
+ <p class="subtitle">BASIC/VB syntax highlighting</p>
13
+ </header>
14
+
15
+ <nav>
16
+ <a href="index.html">Back to Examples</a>
17
+ </nav>
18
+
19
+ <h1>BASIC / Visual Basic Syntax Highlighting</h1>
20
+
21
+ <syntax-code language="basic">
22
+ ' Simple BASIC Program Example
23
+
24
+ DIM name AS STRING
25
+ DIM age AS INTEGER
26
+ DIM score AS DOUBLE
27
+
28
+ ' Get user input
29
+ PRINT "Enter your name: "
30
+ INPUT name
31
+
32
+ PRINT "Enter your age: "
33
+ INPUT age
34
+
35
+ ' Calculate something
36
+ score = age * 1.5 + 10
37
+
38
+ ' Conditional logic
39
+ IF age >= 18 THEN
40
+ PRINT name & " is an adult"
41
+ ELSE
42
+ PRINT name & " is a minor"
43
+ END IF
44
+
45
+ ' Loop example
46
+ FOR i = 1 TO 10
47
+ PRINT "Number: " & i
48
+ NEXT i
49
+
50
+ ' While loop
51
+ counter = 0
52
+ WHILE counter < 5
53
+ PRINT "Counter: " & counter
54
+ counter = counter + 1
55
+ WEND
56
+
57
+ ' Subroutine
58
+ GOSUB DisplayInfo
59
+ END
60
+
61
+ DisplayInfo:
62
+ PRINT "Name: " & name
63
+ PRINT "Age: " & age
64
+ PRINT "Score: " & score
65
+ RETURN
66
+
67
+ ' Function example (VB.NET style)
68
+ Function CalculateTotal(price As Double, quantity As Integer) As Double
69
+ Dim total As Double
70
+ total = price * quantity
71
+
72
+ If total > 100 Then
73
+ total = total * 0.9 ' 10% discount
74
+ End If
75
+
76
+ Return total
77
+ End Function
78
+ </syntax-code>
79
+ </div>
80
+
81
+ <script type="module">
82
+ import Syntax from '../Syntax.js';
83
+
84
+ await Syntax.highlight({ autoUpgrade: true });
85
+ </script>
86
+ </body>
87
+ </html>
@@ -0,0 +1,141 @@
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>C/C++ Examples - @socketry/syntax</title>
7
+ <link rel="stylesheet" href="examples.css">
8
+ </head>
9
+ <body>
10
+ <header>
11
+ <h1>C/C++/Objective-C Examples</h1>
12
+ <p class="subtitle">Syntax highlighting for C, C++, and Objective-C</p>
13
+ </header>
14
+
15
+ <nav>
16
+ <a href="index.html">Back to Examples</a>
17
+ <a href="java.html">Java</a>
18
+ <a href="csharp.html">C#</a>
19
+ </nav>
20
+
21
+ <div class="example">
22
+ <h2>C Example</h2>
23
+ <p class="description">Classic C with structs, pointers, and memory management:</p>
24
+
25
+ <syntax-code language="c">
26
+ #include &lt;stdio.h&gt;
27
+ #include &lt;stdlib.h&gt;
28
+ #include &lt;string.h&gt;
29
+
30
+ #define MAX_SIZE 100
31
+ #define PI 3.14159
32
+
33
+ typedef struct {
34
+ char name[50];
35
+ int age;
36
+ float salary;
37
+ } Employee;
38
+
39
+ // Function to calculate circle area
40
+ float calculate_area(float radius) {
41
+ return PI * radius * radius;
42
+ }
43
+
44
+ int main(int argc, char *argv[]) {
45
+ Employee emp;
46
+ int numbers[MAX_SIZE];
47
+
48
+ // Initialize employee
49
+ strcpy(emp.name, "John Doe");
50
+ emp.age = 30;
51
+ emp.salary = 50000.00;
52
+
53
+ printf("Employee: %s\n", emp.name);
54
+ printf("Age: %d\n", emp.age);
55
+ printf("Salary: %.2f\n", emp.salary);
56
+
57
+ // Array operations
58
+ for (int i = 0; i &lt; 10; i++) {
59
+ numbers[i] = i * 2;
60
+ }
61
+
62
+ // Pointer example
63
+ int *ptr = numbers;
64
+ printf("First element: %d\n", *ptr);
65
+
66
+ // Dynamic memory
67
+ int *dynamic = (int*)malloc(sizeof(int) * 10);
68
+ if (dynamic != NULL) {
69
+ dynamic[0] = 42;
70
+ free(dynamic);
71
+ }
72
+
73
+ return 0;
74
+ }
75
+ </syntax-code>
76
+ </div>
77
+
78
+ <div class="example">
79
+ <h2>C++ Example</h2>
80
+ <p class="description">Modern C++ with classes, templates, and STL:</p>
81
+
82
+ <syntax-code language="cpp">
83
+ #include &lt;iostream&gt;
84
+ #include &lt;vector&gt;
85
+ #include &lt;string&gt;
86
+ #include &lt;algorithm&gt;
87
+
88
+ class Calculator {
89
+ private:
90
+ std::vector&lt;double&gt; history;
91
+
92
+ public:
93
+ Calculator() : history() {}
94
+
95
+ double add(double a, double b) {
96
+ double result = a + b;
97
+ history.push_back(result);
98
+ return result;
99
+ }
100
+
101
+ double multiply(double a, double b) {
102
+ return a * b;
103
+ }
104
+
105
+ void printHistory() const {
106
+ std::cout &lt;&lt; "History:" &lt;&lt; std::endl;
107
+ for (const auto& value : history) {
108
+ std::cout &lt;&lt; value &lt;&lt; std::endl;
109
+ }
110
+ }
111
+ };
112
+
113
+ template&lt;typename T&gt;
114
+ T max(T a, T b) {
115
+ return (a > b) ? a : b;
116
+ }
117
+
118
+ int main() {
119
+ Calculator calc;
120
+
121
+ std::cout &lt;&lt; "Sum: " &lt;&lt; calc.add(5, 3) &lt;&lt; std::endl;
122
+ std::cout &lt;&lt; "Product: " &lt;&lt; calc.multiply(4, 7) &lt;&lt; std::endl;
123
+
124
+ calc.printHistory();
125
+
126
+ // STL example
127
+ std::vector&lt;int&gt; numbers = {5, 2, 8, 1, 9};
128
+ std::sort(numbers.begin(), numbers.end());
129
+
130
+ return 0;
131
+ }
132
+ </syntax-code>
133
+ </div>
134
+
135
+ <script type="module">
136
+ import Syntax from '../Syntax.js';
137
+
138
+ await Syntax.highlight({ autoUpgrade: true });
139
+ </script>
140
+ </body>
141
+ </html>