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,222 @@
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>Plain Text Examples - @socketry/syntax</title>
7
+ <link rel="stylesheet" href="examples.css">
8
+ </head>
9
+ <body>
10
+ <header>
11
+ <h1>Plain Text Examples</h1>
12
+ <p class="subtitle">Plain Text syntax highlighting</p>
13
+ </header>
14
+
15
+ <nav>
16
+ <a href="index.html">Back to Examples</a>
17
+ </nav>
18
+
19
+ <h1>Plain Text Syntax Examples</h1>
20
+
21
+ <p>The plain text language highlights URLs and makes them clickable links.</p>
22
+
23
+ <div class="example">
24
+ <h2>Simple URL</h2>
25
+ <p class="description">Example:</p>
26
+
27
+ <syntax-code language="plain">Visit http://example.com for more information.</syntax-code>
28
+
29
+ <div class="example">
30
+ <h2>HTTPS URLs</h2>
31
+ <p class="description">Example:</p>
32
+
33
+ <syntax-code language="plain">Secure sites use HTTPS like https://secure.example.com
34
+ You can also visit https://www.github.com or https://stackoverflow.com</syntax-code>
35
+
36
+ <div class="example">
37
+ <h2>URLs with Paths</h2>
38
+ <p class="description">Example:</p>
39
+
40
+ <syntax-code language="plain">Documentation: https://developer.mozilla.org/en-US/docs/Web
41
+ API Reference: https://api.example.com/v1/users
42
+ Deep link: https://example.com/products/category/item-123</syntax-code>
43
+
44
+ <div class="example">
45
+ <h2>URLs with Query Parameters</h2>
46
+ <p class="description">Example:</p>
47
+
48
+ <syntax-code language="plain">Search: https://www.google.com/search?q=javascript&lang=en
49
+ API call: https://api.example.com/search?query=test&limit=10&offset=0
50
+ Analytics: https://analytics.example.com/reports?start=2024-01-01&end=2024-12-31</syntax-code>
51
+
52
+ <div class="example">
53
+ <h2>URLs with Fragments</h2>
54
+ <p class="description">Example:</p>
55
+
56
+ <syntax-code language="plain">Jump to section: https://example.com/docs#installation
57
+ MDN reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript#see_also
58
+ Anchor link: https://github.com/user/repo#readme</syntax-code>
59
+
60
+ <div class="example">
61
+ <h2>URLs with Ports</h2>
62
+ <p class="description">Example:</p>
63
+
64
+ <syntax-code language="plain">Local server: http://localhost:3000
65
+ Custom port: https://example.com:8443/api
66
+ Development: http://192.168.1.100:8080</syntax-code>
67
+
68
+ <div class="example">
69
+ <h2>FTP URLs</h2>
70
+ <p class="description">Example:</p>
71
+
72
+ <syntax-code language="plain">Download files from ftp://ftp.example.com/pub/files
73
+ Legacy FTP: ftp://user:password@ftp.example.com/downloads</syntax-code>
74
+
75
+ <div class="example">
76
+ <h2>File URLs</h2>
77
+ <p class="description">Example:</p>
78
+
79
+ <syntax-code language="plain">Local file: file:///home/user/documents/readme.txt
80
+ Windows path: file:///C:/Users/User/Documents/file.pdf</syntax-code>
81
+
82
+ <div class="example">
83
+ <h2>Multiple URLs in Text</h2>
84
+ <p class="description">Example:</p>
85
+
86
+ <syntax-code language="plain">Check out these resources:
87
+ - Official site: https://example.com
88
+ - Documentation: https://docs.example.com
89
+ - Community forum: https://forum.example.com
90
+ - Bug tracker: https://github.com/user/repo/issues
91
+ - Stack Overflow: https://stackoverflow.com/questions/tagged/example</syntax-code>
92
+
93
+ <div class="example">
94
+ <h2>URLs with Subdomains</h2>
95
+ <p class="description">Example:</p>
96
+
97
+ <syntax-code language="plain">API endpoint: https://api.staging.example.com
98
+ CDN: https://cdn.example.com/assets/main.js
99
+ Blog: https://blog.example.com/2024/10/article-title</syntax-code>
100
+
101
+ <div class="example">
102
+ <h2>URLs in Sentences</h2>
103
+ <p class="description">Example:</p>
104
+
105
+ <syntax-code language="plain">You can find more information at https://example.com/about or contact us.
106
+ For support, visit https://support.example.com (requires login).
107
+ The source code is available at https://github.com/user/repo.</syntax-code>
108
+
109
+ <div class="example">
110
+ <h2>Plain Text Without URLs</h2>
111
+ <p class="description">Example:</p>
112
+
113
+ <syntax-code language="plain">This is plain text without any URLs.
114
+ It will be displayed as-is without any special highlighting.
115
+ Multiple lines are supported.
116
+ Indentation is preserved.
117
+ Even nested indentation works.</syntax-code>
118
+
119
+ <div class="example">
120
+ <h2>Mixed Content</h2>
121
+ <p class="description">Example:</p>
122
+
123
+ <syntax-code language="plain">Project: My Awesome App
124
+ Version: 1.0.0
125
+ License: MIT
126
+ Homepage: https://github.com/user/awesome-app
127
+ Documentation: https://awesome-app.readthedocs.io/en/latest/
128
+ Issues: https://github.com/user/awesome-app/issues
129
+
130
+ Installation:
131
+ 1. Clone the repository: https://github.com/user/awesome-app.git
132
+ 2. Install dependencies
133
+ 3. Run the application
134
+
135
+ For more details, visit https://awesome-app.com</syntax-code>
136
+
137
+ <div class="example">
138
+ <h2>README-style Text</h2>
139
+ <p class="description">Example:</p>
140
+
141
+ <syntax-code language="plain"># My Project
142
+
143
+ A description of my project.
144
+
145
+ ## Installation
146
+
147
+ ```
148
+ npm install my-project
149
+ ```
150
+
151
+ ## Documentation
152
+
153
+ Full documentation is available at https://docs.myproject.com
154
+
155
+ ## Links
156
+
157
+ - Website: https://myproject.com
158
+ - GitHub: https://github.com/user/myproject
159
+ - NPM: https://www.npmjs.com/package/myproject
160
+ - Issues: https://github.com/user/myproject/issues
161
+
162
+ ## License
163
+
164
+ MIT License - see https://opensource.org/licenses/MIT</syntax-code>
165
+
166
+ <div class="example">
167
+ <h2>Log File Example</h2>
168
+ <p class="description">Example:</p>
169
+
170
+ <syntax-code language="plain">[2024-10-26 10:15:23] INFO Starting application
171
+ [2024-10-26 10:15:24] INFO Loading configuration from https://config.example.com
172
+ [2024-10-26 10:15:25] INFO Connecting to https://api.example.com/v1
173
+ [2024-10-26 10:15:26] INFO Successfully connected
174
+ [2024-10-26 10:15:27] WARN Slow response from https://api.example.com/v1/users
175
+ [2024-10-26 10:15:28] ERROR Failed to fetch https://api.example.com/v1/products
176
+ [2024-10-26 10:15:29] INFO Retrying connection
177
+ [2024-10-26 10:15:30] INFO Application ready</syntax-code>
178
+
179
+ <div class="example">
180
+ <h2>URL List</h2>
181
+ <p class="description">Example:</p>
182
+
183
+ <syntax-code language="plain">Useful Resources:
184
+
185
+ Development Tools:
186
+ https://github.com
187
+ https://gitlab.com
188
+ https://bitbucket.org
189
+ https://stackoverflow.com
190
+
191
+ Documentation:
192
+ https://developer.mozilla.org
193
+ https://www.w3.org
194
+ https://devdocs.io
195
+
196
+ Learning:
197
+ https://www.freecodecamp.org
198
+ https://www.codecademy.com
199
+ https://www.udemy.com
200
+
201
+ Communities:
202
+ https://dev.to
203
+ https://hashnode.com
204
+ https://www.reddit.com/r/programming</syntax-code>
205
+
206
+ <div class="example">
207
+ <h2>IP Address URLs</h2>
208
+ <p class="description">Example:</p>
209
+
210
+ <syntax-code language="plain">Production server: https://203.0.113.42
211
+ Staging server: http://198.51.100.10:8080
212
+ Local network: http://192.168.1.1
213
+ Localhost: http://127.0.0.1:3000
214
+ IPv6: http://[2001:db8::1]:8080</syntax-code>
215
+ </div>
216
+
217
+ <script type="module">
218
+ import Syntax from '../Syntax.js';
219
+ await Syntax.highlight({ autoUpgrade: true });
220
+ </script>
221
+ </body>
222
+ </html>
@@ -0,0 +1,405 @@
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>Protocol Buffers Examples - @socketry/syntax</title>
7
+ <link rel="stylesheet" href="examples.css">
8
+ </head>
9
+ <body>
10
+ <header>
11
+ <h1>Protocol Buffers Examples</h1>
12
+ <p class="subtitle">Protocol Buffers syntax highlighting</p>
13
+ </header>
14
+
15
+ <nav>
16
+ <a href="index.html">Back to Examples</a>
17
+ </nav>
18
+
19
+ <h1>Protocol Buffers Syntax Examples</h1>
20
+
21
+ <div class="example">
22
+ <h2>Basic Syntax Declaration</h2>
23
+ <p class="description">Example:</p>
24
+
25
+ <syntax-code language="protobuf">syntax = "proto3";
26
+
27
+ package example;</syntax-code>
28
+
29
+ <div class="example">
30
+ <h2>Simple Message</h2>
31
+ <p class="description">Example:</p>
32
+
33
+ <syntax-code language="protobuf">message Person {
34
+ string name = 1;
35
+ int32 id = 2;
36
+ string email = 3;
37
+ }</syntax-code>
38
+
39
+ <div class="example">
40
+ <h2>Message with All Basic Types</h2>
41
+ <p class="description">Example:</p>
42
+
43
+ <syntax-code language="protobuf">message DataTypes {
44
+ // Integer types
45
+ int32 integer32 = 1;
46
+ int64 integer64 = 2;
47
+ uint32 unsigned32 = 3;
48
+ uint64 unsigned64 = 4;
49
+ sint32 signed32 = 5;
50
+ sint64 signed64 = 6;
51
+
52
+ // Fixed-size types
53
+ fixed32 fixed_unsigned32 = 7;
54
+ fixed64 fixed_unsigned64 = 8;
55
+ sfixed32 fixed_signed32 = 9;
56
+ sfixed64 fixed_signed64 = 10;
57
+
58
+ // Floating point
59
+ float single_precision = 11;
60
+ double double_precision = 12;
61
+
62
+ // Boolean
63
+ bool is_active = 13;
64
+
65
+ // Text and binary
66
+ string text = 14;
67
+ bytes binary_data = 15;
68
+ }</syntax-code>
69
+
70
+ <div class="example">
71
+ <h2>Nested Messages</h2>
72
+ <p class="description">Example:</p>
73
+
74
+ <syntax-code language="protobuf">message Person {
75
+ string name = 1;
76
+ int32 id = 2;
77
+
78
+ message PhoneNumber {
79
+ string number = 1;
80
+ PhoneType type = 2;
81
+ }
82
+
83
+ repeated PhoneNumber phones = 4;
84
+ }
85
+
86
+ enum PhoneType {
87
+ MOBILE = 0;
88
+ HOME = 1;
89
+ WORK = 2;
90
+ }</syntax-code>
91
+
92
+ <div class="example">
93
+ <h2>Enumerations</h2>
94
+ <p class="description">Example:</p>
95
+
96
+ <syntax-code language="protobuf">enum Status {
97
+ UNKNOWN = 0;
98
+ ACTIVE = 1;
99
+ INACTIVE = 2;
100
+ DELETED = 3;
101
+ }
102
+
103
+ enum Priority {
104
+ option allow_alias = true;
105
+ LOW = 0;
106
+ NORMAL = 1;
107
+ HIGH = 2;
108
+ URGENT = 2; // Alias for HIGH
109
+ }</syntax-code>
110
+
111
+ <div class="example">
112
+ <h2>Field Rules (Proto2)</h2>
113
+ <p class="description">Example:</p>
114
+
115
+ <syntax-code language="protobuf">// Proto2 syntax with field rules
116
+ syntax = "proto2";
117
+
118
+ message User {
119
+ required string username = 1;
120
+ required string email = 2;
121
+ optional string full_name = 3;
122
+ repeated string roles = 4;
123
+ }</syntax-code>
124
+
125
+ <div class="example">
126
+ <h2>Repeated Fields</h2>
127
+ <p class="description">Example:</p>
128
+
129
+ <syntax-code language="protobuf">message SearchResults {
130
+ repeated string results = 1;
131
+ int32 total_count = 2;
132
+ }
133
+
134
+ message Matrix {
135
+ repeated int32 values = 1;
136
+ int32 rows = 2;
137
+ int32 cols = 3;
138
+ }</syntax-code>
139
+
140
+ <div class="example">
141
+ <h2>Maps</h2>
142
+ <p class="description">Example:</p>
143
+
144
+ <syntax-code language="protobuf">message Project {
145
+ string name = 1;
146
+ map&lt;string, string&gt; labels = 2;
147
+ map&lt;int32, User&gt; contributors = 3;
148
+ }</syntax-code>
149
+
150
+ <div class="example">
151
+ <h2>Imports</h2>
152
+ <p class="description">Example:</p>
153
+
154
+ <syntax-code language="protobuf">syntax = "proto3";
155
+
156
+ import "google/protobuf/timestamp.proto";
157
+ import "google/protobuf/duration.proto";
158
+ import public "other.proto";
159
+
160
+ message Event {
161
+ string name = 1;
162
+ google.protobuf.Timestamp created_at = 2;
163
+ google.protobuf.Duration duration = 3;
164
+ }</syntax-code>
165
+
166
+ <div class="example">
167
+ <h2>Options</h2>
168
+ <p class="description">Example:</p>
169
+
170
+ <syntax-code language="protobuf">option java_package = "com.example.tutorial";
171
+ option java_outer_classname = "AddressBookProtos";
172
+ option java_multiple_files = true;
173
+ option go_package = "example.com/tutorial";
174
+
175
+ message MyMessage {
176
+ option message_set_wire_format = true;
177
+
178
+ int32 id = 1 [deprecated = true];
179
+ string name = 2 [(my_option) = "value"];
180
+ }</syntax-code>
181
+
182
+ <div class="example">
183
+ <h2>Services and RPC</h2>
184
+ <p class="description">Example:</p>
185
+
186
+ <syntax-code language="protobuf">service UserService {
187
+ // Get a user by ID
188
+ rpc GetUser(GetUserRequest) returns (User);
189
+
190
+ // List all users
191
+ rpc ListUsers(ListUsersRequest) returns (ListUsersResponse);
192
+
193
+ // Create a new user
194
+ rpc CreateUser(CreateUserRequest) returns (User);
195
+
196
+ // Update an existing user
197
+ rpc UpdateUser(UpdateUserRequest) returns (User);
198
+
199
+ // Delete a user
200
+ rpc DeleteUser(DeleteUserRequest) returns (Empty);
201
+ }
202
+
203
+ message GetUserRequest {
204
+ int32 user_id = 1;
205
+ }
206
+
207
+ message ListUsersRequest {
208
+ int32 page_size = 1;
209
+ string page_token = 2;
210
+ }
211
+
212
+ message ListUsersResponse {
213
+ repeated User users = 1;
214
+ string next_page_token = 2;
215
+ }
216
+
217
+ message CreateUserRequest {
218
+ User user = 1;
219
+ }
220
+
221
+ message UpdateUserRequest {
222
+ User user = 1;
223
+ google.protobuf.FieldMask update_mask = 2;
224
+ }
225
+
226
+ message DeleteUserRequest {
227
+ int32 user_id = 1;
228
+ }
229
+
230
+ message Empty {}</syntax-code>
231
+
232
+ <div class="example">
233
+ <h2>Streaming RPC</h2>
234
+ <p class="description">Example:</p>
235
+
236
+ <syntax-code language="protobuf">service ChatService {
237
+ // Client sends a message, server responds
238
+ rpc SendMessage(Message) returns (Ack);
239
+
240
+ // Server-side streaming
241
+ rpc ReceiveMessages(SubscribeRequest) returns (stream Message);
242
+
243
+ // Client-side streaming
244
+ rpc UploadFile(stream FileChunk) returns (FileInfo);
245
+
246
+ // Bidirectional streaming
247
+ rpc Chat(stream Message) returns (stream Message);
248
+ }</syntax-code>
249
+
250
+ <div class="example">
251
+ <h2>Oneof Fields</h2>
252
+ <p class="description">Example:</p>
253
+
254
+ <syntax-code language="protobuf">message SampleMessage {
255
+ oneof test_oneof {
256
+ string name = 4;
257
+ int32 id = 5;
258
+ bytes raw_data = 6;
259
+ }
260
+ }
261
+
262
+ message Shape {
263
+ oneof shape {
264
+ Circle circle = 1;
265
+ Rectangle rectangle = 2;
266
+ Triangle triangle = 3;
267
+ }
268
+ }</syntax-code>
269
+
270
+ <div class="example">
271
+ <h2>Any Type</h2>
272
+ <p class="description">Example:</p>
273
+
274
+ <syntax-code language="protobuf">import "google/protobuf/any.proto";
275
+
276
+ message ErrorStatus {
277
+ string message = 1;
278
+ repeated google.protobuf.Any details = 2;
279
+ }</syntax-code>
280
+
281
+ <div class="example">
282
+ <h2>Reserved Fields</h2>
283
+ <p class="description">Example:</p>
284
+
285
+ <syntax-code language="protobuf">message Foo {
286
+ reserved 2, 15, 9 to 11;
287
+ reserved "foo", "bar";
288
+
289
+ string name = 1;
290
+ int32 id = 3;
291
+ }</syntax-code>
292
+
293
+ <div class="example">
294
+ <h2>Extensions (Proto2)</h2>
295
+ <p class="description">Example:</p>
296
+
297
+ <syntax-code language="protobuf">syntax = "proto2";
298
+
299
+ message Foo {
300
+ extensions 100 to 199;
301
+ }
302
+
303
+ extend Foo {
304
+ optional int32 bar = 126;
305
+ }
306
+
307
+ message Baz {
308
+ optional Foo foo = 1;
309
+ }</syntax-code>
310
+
311
+ <div class="example">
312
+ <h2>Packages and Namespaces</h2>
313
+ <p class="description">Example:</p>
314
+
315
+ <syntax-code language="protobuf">syntax = "proto3";
316
+
317
+ package com.example.project.v1;
318
+
319
+ message Request {
320
+ string query = 1;
321
+ }
322
+
323
+ message Response {
324
+ repeated Result results = 1;
325
+ }
326
+
327
+ message Result {
328
+ string title = 1;
329
+ string url = 2;
330
+ }</syntax-code>
331
+
332
+ <div class="example">
333
+ <h2>Default Values</h2>
334
+ <p class="description">Example:</p>
335
+
336
+ <syntax-code language="protobuf">syntax = "proto2";
337
+
338
+ message Config {
339
+ optional int32 timeout = 1 [default = 30];
340
+ optional bool enabled = 2 [default = true];
341
+ optional string mode = 3 [default = "production"];
342
+ optional Priority priority = 4 [default = NORMAL];
343
+ }</syntax-code>
344
+
345
+ <div class="example">
346
+ <h2>Well-Known Types</h2>
347
+ <p class="description">Example:</p>
348
+
349
+ <syntax-code language="protobuf">import "google/protobuf/timestamp.proto";
350
+ import "google/protobuf/duration.proto";
351
+ import "google/protobuf/struct.proto";
352
+ import "google/protobuf/wrappers.proto";
353
+
354
+ message Event {
355
+ string name = 1;
356
+ google.protobuf.Timestamp timestamp = 2;
357
+ google.protobuf.Duration timeout = 3;
358
+ google.protobuf.Struct metadata = 4;
359
+ google.protobuf.Int32Value optional_count = 5;
360
+ }</syntax-code>
361
+
362
+ <div class="example">
363
+ <h2>Complete Example: Address Book</h2>
364
+ <p class="description">Example:</p>
365
+
366
+ <syntax-code language="protobuf">syntax = "proto3";
367
+
368
+ package tutorial;
369
+
370
+ option java_multiple_files = true;
371
+ option java_package = "com.example.tutorial.protos";
372
+ option java_outer_classname = "AddressBookProtos";
373
+
374
+ message Person {
375
+ string name = 1;
376
+ int32 id = 2;
377
+ string email = 3;
378
+
379
+ enum PhoneType {
380
+ MOBILE = 0;
381
+ HOME = 1;
382
+ WORK = 2;
383
+ }
384
+
385
+ message PhoneNumber {
386
+ string number = 1;
387
+ PhoneType type = 2;
388
+ }
389
+
390
+ repeated PhoneNumber phones = 4;
391
+
392
+ google.protobuf.Timestamp last_updated = 5;
393
+ }
394
+
395
+ message AddressBook {
396
+ repeated Person people = 1;
397
+ }</syntax-code>
398
+ </div>
399
+
400
+ <script type="module">
401
+ import Syntax from '../Syntax.js';
402
+ await Syntax.highlight({ autoUpgrade: true });
403
+ </script>
404
+ </body>
405
+ </html>
@@ -0,0 +1,82 @@
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>Python Examples - @socketry/syntax</title>
7
+ <link rel="stylesheet" href="examples.css">
8
+ </head>
9
+ <body>
10
+ <header>
11
+ <h1>Python Examples</h1>
12
+ <p class="subtitle">Python syntax highlighting with classes and decorators</p>
13
+ </header>
14
+
15
+ <nav>
16
+ <a href="index.html">Back to Examples</a>
17
+ <a href="javascript.html">JavaScript</a>
18
+ <a href="ruby.html">Ruby</a>
19
+ </nav>
20
+
21
+ <div class="example">
22
+ <h2>Complete Python Program</h2>
23
+ <p class="description">Fibonacci sequence, classes, decorators, and more:</p>
24
+
25
+ <syntax-code language="python">
26
+ def fibonacci(n):
27
+ """Generate Fibonacci sequence up to n terms."""
28
+ a, b = 0, 1
29
+ result = []
30
+
31
+ for i in range(n):
32
+ result.append(a)
33
+ a, b = b, a + b
34
+
35
+ return result
36
+
37
+ @decorator
38
+ class Calculator:
39
+ """A simple calculator class."""
40
+
41
+ def __init__(self, name):
42
+ self.name = name
43
+ self._history = []
44
+
45
+ def add(self, x, y):
46
+ """Add two numbers."""
47
+ result = x + y
48
+ self._history.append(f"{x} + {y} = {result}")
49
+ return result
50
+
51
+ def multiply(self, *args):
52
+ """Multiply multiple numbers."""
53
+ result = 1
54
+ for num in args:
55
+ result *= num
56
+ return result
57
+
58
+ # Example usage
59
+ if __name__ == "__main__":
60
+ calc = Calculator("MyCalc")
61
+ print(calc.add(5, 3))
62
+ print(calc.multiply(2, 3, 4))
63
+
64
+ # List comprehension
65
+ squares = [x**2 for x in range(10) if x % 2 == 0]
66
+
67
+ # Dictionary
68
+ config = {
69
+ 'debug': True,
70
+ 'timeout': 30,
71
+ 'servers': ['localhost', '127.0.0.1']
72
+ }
73
+ </syntax-code>
74
+ </div>
75
+
76
+ <script type="module">
77
+ import Syntax from '../Syntax.js';
78
+
79
+ await Syntax.highlight({ autoUpgrade: true });
80
+ </script>
81
+ </body>
82
+ </html>