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,202 @@
|
|
|
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++ Examples</h1>
|
|
12
|
+
<p class="subtitle">C/C++ syntax highlighting</p>
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<nav>
|
|
16
|
+
<a href="index.html">Back to Examples</a>
|
|
17
|
+
</nav>
|
|
18
|
+
|
|
19
|
+
<h1>C/C++/Objective-C Syntax Highlighting</h1>
|
|
20
|
+
|
|
21
|
+
<div class="example">
|
|
22
|
+
<h2>C Example</h2>
|
|
23
|
+
<syntax-code language="c">
|
|
24
|
+
#include <stdio.h>
|
|
25
|
+
#include <stdlib.h>
|
|
26
|
+
|
|
27
|
+
#define MAX_SIZE 100
|
|
28
|
+
|
|
29
|
+
typedef struct {
|
|
30
|
+
int x;
|
|
31
|
+
int y;
|
|
32
|
+
} Point;
|
|
33
|
+
|
|
34
|
+
int main(int argc, char *argv[]) {
|
|
35
|
+
// Initialize variables
|
|
36
|
+
Point p = {10, 20};
|
|
37
|
+
size_t count = 0;
|
|
38
|
+
|
|
39
|
+
/* Print the point */
|
|
40
|
+
printf("Point: (%d, %d)\n", p.x, p.y);
|
|
41
|
+
|
|
42
|
+
// Character and strings
|
|
43
|
+
char ch = 'A';
|
|
44
|
+
char *message = "Hello, World!\n";
|
|
45
|
+
|
|
46
|
+
// Numbers
|
|
47
|
+
int decimal = 42;
|
|
48
|
+
int hex = 0xFF00;
|
|
49
|
+
double pi = 3.14159;
|
|
50
|
+
|
|
51
|
+
// Boolean logic
|
|
52
|
+
if (p.x > 0 && p.y > 0) {
|
|
53
|
+
printf("First quadrant\n");
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return 0;
|
|
57
|
+
}
|
|
58
|
+
</syntax-code>
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<div class="example">
|
|
62
|
+
<h2>C++ Example</h2>
|
|
63
|
+
<syntax-code language="cpp">
|
|
64
|
+
#include <iostream>
|
|
65
|
+
#include <vector>
|
|
66
|
+
#include <string>
|
|
67
|
+
|
|
68
|
+
namespace MyNamespace {
|
|
69
|
+
|
|
70
|
+
class MyClass {
|
|
71
|
+
private:
|
|
72
|
+
std::string name;
|
|
73
|
+
int value;
|
|
74
|
+
|
|
75
|
+
public:
|
|
76
|
+
MyClass(const std::string& n) : name(n), value(0) {}
|
|
77
|
+
|
|
78
|
+
virtual void doSomething() {
|
|
79
|
+
std::cout << "Name: " << name << std::endl;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
virtual ~MyClass() = default;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
template<typename T>
|
|
86
|
+
class Container {
|
|
87
|
+
private:
|
|
88
|
+
std::vector<T> items;
|
|
89
|
+
|
|
90
|
+
public:
|
|
91
|
+
void add(const T& item) {
|
|
92
|
+
items.push_back(item);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
size_t size() const {
|
|
96
|
+
return items.size();
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
int main() {
|
|
103
|
+
using namespace MyNamespace;
|
|
104
|
+
|
|
105
|
+
// Create objects
|
|
106
|
+
MyClass obj("Example");
|
|
107
|
+
Container<int> numbers;
|
|
108
|
+
|
|
109
|
+
// Add numbers
|
|
110
|
+
for (int i = 0; i < 10; ++i) {
|
|
111
|
+
numbers.add(i);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// Boolean values
|
|
115
|
+
bool flag = true;
|
|
116
|
+
void *ptr = NULL;
|
|
117
|
+
|
|
118
|
+
// Call method
|
|
119
|
+
obj.doSomething();
|
|
120
|
+
|
|
121
|
+
return 0;
|
|
122
|
+
}
|
|
123
|
+
</syntax-code>
|
|
124
|
+
</div>
|
|
125
|
+
|
|
126
|
+
<div class="example">
|
|
127
|
+
<h2>Objective-C Example</h2>
|
|
128
|
+
<syntax-code language="objective-c">
|
|
129
|
+
#import <Foundation/Foundation.h>
|
|
130
|
+
|
|
131
|
+
@interface Person : NSObject
|
|
132
|
+
|
|
133
|
+
@property (nonatomic, retain) NSString *name;
|
|
134
|
+
@property (nonatomic, assign) NSInteger age;
|
|
135
|
+
@property (nonatomic, copy) NSString *email;
|
|
136
|
+
|
|
137
|
+
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age;
|
|
138
|
+
- (void)sayHello;
|
|
139
|
+
- (NSString *)description;
|
|
140
|
+
|
|
141
|
+
@end
|
|
142
|
+
|
|
143
|
+
@implementation Person
|
|
144
|
+
|
|
145
|
+
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
|
|
146
|
+
self = [super init];
|
|
147
|
+
if (self) {
|
|
148
|
+
_name = [name copy];
|
|
149
|
+
_age = age;
|
|
150
|
+
}
|
|
151
|
+
return self;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
- (void)sayHello {
|
|
155
|
+
NSLog(@"Hello, my name is %@", self.name);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
- (NSString *)description {
|
|
159
|
+
return [NSString stringWithFormat:@"Person(name=%@, age=%ld)",
|
|
160
|
+
self.name, (long)self.age];
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@end
|
|
164
|
+
|
|
165
|
+
int main(int argc, char *argv[]) {
|
|
166
|
+
@autoreleasepool {
|
|
167
|
+
// Create person
|
|
168
|
+
Person *person = [[Person alloc] initWithName:@"John Doe" age:30];
|
|
169
|
+
person.email = @"john@example.com";
|
|
170
|
+
|
|
171
|
+
// Call methods
|
|
172
|
+
[person sayHello];
|
|
173
|
+
NSLog(@"%@", [person description]);
|
|
174
|
+
|
|
175
|
+
// Objective-C literals
|
|
176
|
+
NSArray *array = @[@"one", @"two", @"three"];
|
|
177
|
+
NSDictionary *dict = @{@"key": @"value"};
|
|
178
|
+
NSNumber *number = @42;
|
|
179
|
+
|
|
180
|
+
// Boolean values
|
|
181
|
+
BOOL success = YES;
|
|
182
|
+
if (success) {
|
|
183
|
+
NSLog(@"Success!");
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return 0;
|
|
187
|
+
}
|
|
188
|
+
</syntax-code>
|
|
189
|
+
</div>
|
|
190
|
+
|
|
191
|
+
<script type="module">
|
|
192
|
+
import Syntax from '../Syntax.js';
|
|
193
|
+
import '../Syntax/CodeElement.js';
|
|
194
|
+
import clang from '../Syntax/Language/clang.js';
|
|
195
|
+
|
|
196
|
+
const syntax = Syntax.default;
|
|
197
|
+
clang(syntax);
|
|
198
|
+
|
|
199
|
+
console.log('Clang language registered with aliases:', ['c', 'cpp', 'c++', 'objective-c']);
|
|
200
|
+
</script>
|
|
201
|
+
</body>
|
|
202
|
+
</html>
|
|
@@ -0,0 +1,110 @@
|
|
|
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>C# Examples - @socketry/syntax</title>
|
|
7
|
+
<link rel="stylesheet" href="examples.css">
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<header>
|
|
11
|
+
<h1>C# Examples</h1>
|
|
12
|
+
<p class="subtitle">C# syntax highlighting</p>
|
|
13
|
+
</header>
|
|
14
|
+
|
|
15
|
+
<nav>
|
|
16
|
+
<a href="index.html">Back to Examples</a>
|
|
17
|
+
</nav>
|
|
18
|
+
|
|
19
|
+
<h1>C# Syntax Highlighting</h1>
|
|
20
|
+
|
|
21
|
+
<syntax-code language="csharp">
|
|
22
|
+
using System;
|
|
23
|
+
using System.Collections.Generic;
|
|
24
|
+
using System.Linq;
|
|
25
|
+
|
|
26
|
+
namespace ExampleApp
|
|
27
|
+
{
|
|
28
|
+
/// <summary>
|
|
29
|
+
/// Represents a person with basic information
|
|
30
|
+
/// </summary>
|
|
31
|
+
public class Person
|
|
32
|
+
{
|
|
33
|
+
public string Name { get; set; }
|
|
34
|
+
public int Age { get; private set; }
|
|
35
|
+
|
|
36
|
+
private readonly List<string> _hobbies;
|
|
37
|
+
|
|
38
|
+
public Person(string name, int age)
|
|
39
|
+
{
|
|
40
|
+
Name = name;
|
|
41
|
+
Age = age;
|
|
42
|
+
_hobbies = new List<string>();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public void AddHobby(string hobby)
|
|
46
|
+
{
|
|
47
|
+
if (!string.IsNullOrEmpty(hobby))
|
|
48
|
+
{
|
|
49
|
+
_hobbies.Add(hobby);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
public override string ToString()
|
|
54
|
+
{
|
|
55
|
+
return $"{Name} ({Age} years old)";
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
public class Calculator
|
|
60
|
+
{
|
|
61
|
+
public static double Add(double a, double b) => a + b;
|
|
62
|
+
|
|
63
|
+
public static double Multiply(params double[] numbers)
|
|
64
|
+
{
|
|
65
|
+
return numbers.Aggregate(1.0, (acc, n) => acc * n);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
class Program
|
|
70
|
+
{
|
|
71
|
+
static void Main(string[] args)
|
|
72
|
+
{
|
|
73
|
+
// Create person
|
|
74
|
+
var person = new Person("John Doe", 30);
|
|
75
|
+
person.AddHobby("Reading");
|
|
76
|
+
person.AddHobby("Gaming");
|
|
77
|
+
|
|
78
|
+
Console.WriteLine(person);
|
|
79
|
+
|
|
80
|
+
// LINQ example
|
|
81
|
+
var numbers = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
|
|
82
|
+
var evenNumbers = numbers.Where(n => n % 2 == 0)
|
|
83
|
+
.Select(n => n * n);
|
|
84
|
+
|
|
85
|
+
foreach (var num in evenNumbers)
|
|
86
|
+
{
|
|
87
|
+
Console.WriteLine($"Square: {num}");
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Async/await pattern
|
|
91
|
+
ProcessDataAsync().Wait();
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
static async Task ProcessDataAsync()
|
|
95
|
+
{
|
|
96
|
+
await Task.Delay(1000);
|
|
97
|
+
Console.WriteLine("Data processed!");
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
</syntax-code>
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
<script type="module">
|
|
105
|
+
import Syntax from '../Syntax.js';
|
|
106
|
+
|
|
107
|
+
await Syntax.highlight({ autoUpgrade: true });
|
|
108
|
+
</script>
|
|
109
|
+
</body>
|
|
110
|
+
</html>
|
|
@@ -0,0 +1,179 @@
|
|
|
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>CSS Examples - @socketry/syntax</title>
|
|
7
|
+
<link rel="stylesheet" href="examples.css">
|
|
8
|
+
<style>
|
|
9
|
+
/* Styling for color box visualization */
|
|
10
|
+
.colour-box {
|
|
11
|
+
display: inline-block;
|
|
12
|
+
margin-left: 5px;
|
|
13
|
+
vertical-align: middle;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.colour-box .sample {
|
|
17
|
+
display: inline-block;
|
|
18
|
+
width: 20px;
|
|
19
|
+
height: 20px;
|
|
20
|
+
border: 1px solid #333;
|
|
21
|
+
border-radius: 3px;
|
|
22
|
+
vertical-align: middle;
|
|
23
|
+
}
|
|
24
|
+
</style>
|
|
25
|
+
</head>
|
|
26
|
+
<body>
|
|
27
|
+
<header>
|
|
28
|
+
<h1>CSS Examples</h1>
|
|
29
|
+
<p class="subtitle">CSS syntax with color visualization boxes</p>
|
|
30
|
+
</header>
|
|
31
|
+
|
|
32
|
+
<nav>
|
|
33
|
+
<a href="index.html">Back to Examples</a>
|
|
34
|
+
<a href="html.html">HTML</a>
|
|
35
|
+
<a href="javascript.html">JavaScript</a>
|
|
36
|
+
</nav>
|
|
37
|
+
|
|
38
|
+
<div class="example">
|
|
39
|
+
<h2>Complete CSS Stylesheet</h2>
|
|
40
|
+
<p class="description">CSS with colors, selectors, media queries, and animations - colors show inline preview boxes:</p>
|
|
41
|
+
|
|
42
|
+
<syntax-code language="css">
|
|
43
|
+
/* CSS Stylesheet Example */
|
|
44
|
+
|
|
45
|
+
:root {
|
|
46
|
+
--primary-color: #3498db;
|
|
47
|
+
--secondary-color: #2ecc71;
|
|
48
|
+
--danger-color: rgb(231, 76, 60);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
body {
|
|
52
|
+
font-family: 'Arial', sans-serif;
|
|
53
|
+
background-color: #f4f4f4;
|
|
54
|
+
color: #333;
|
|
55
|
+
margin: 0;
|
|
56
|
+
padding: 20px;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.container {
|
|
60
|
+
max-width: 1200px;
|
|
61
|
+
margin: 0 auto;
|
|
62
|
+
background: white;
|
|
63
|
+
padding: 30px;
|
|
64
|
+
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* Headings */
|
|
68
|
+
h1, h2, h3 {
|
|
69
|
+
color: #2c3e50;
|
|
70
|
+
margin-bottom: 15px;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
h1 {
|
|
74
|
+
font-size: 2.5em;
|
|
75
|
+
border-bottom: 3px solid #3498db;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* Buttons */
|
|
79
|
+
.btn {
|
|
80
|
+
display: inline-block;
|
|
81
|
+
padding: 10px 20px;
|
|
82
|
+
background-color: #3498db;
|
|
83
|
+
color: white;
|
|
84
|
+
border: none;
|
|
85
|
+
border-radius: 5px;
|
|
86
|
+
cursor: pointer;
|
|
87
|
+
transition: background-color 0.3s ease;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.btn:hover {
|
|
91
|
+
background-color: #2980b9;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.btn-success {
|
|
95
|
+
background: linear-gradient(135deg, #2ecc71, #27ae60);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.btn-danger {
|
|
99
|
+
background-color: rgba(231, 76, 60, 0.9);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/* Named colors */
|
|
103
|
+
.alert {
|
|
104
|
+
background-color: LightYellow;
|
|
105
|
+
border: 1px solid Gold;
|
|
106
|
+
color: DarkOrange;
|
|
107
|
+
padding: 15px;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.info {
|
|
111
|
+
background-color: AliceBlue;
|
|
112
|
+
border-left: 4px solid CornflowerBlue;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/* HSL colors */
|
|
116
|
+
.accent {
|
|
117
|
+
color: hsl(120, 100%, 50%);
|
|
118
|
+
background: hsla(240, 100%, 50%, 0.2);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/* Media queries */
|
|
122
|
+
@media screen and (max-width: 768px) {
|
|
123
|
+
.container {
|
|
124
|
+
padding: 15px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
h1 {
|
|
128
|
+
font-size: 2em;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/* Animations */
|
|
133
|
+
@keyframes fadeIn {
|
|
134
|
+
from {
|
|
135
|
+
opacity: 0;
|
|
136
|
+
transform: translateY(-20px);
|
|
137
|
+
}
|
|
138
|
+
to {
|
|
139
|
+
opacity: 1;
|
|
140
|
+
transform: translateY(0);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.fade-in {
|
|
145
|
+
animation: fadeIn 0.5s ease-in;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/* Pseudo-elements */
|
|
149
|
+
.quote::before {
|
|
150
|
+
content: '"';
|
|
151
|
+
color: #95a5a6;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/* Attribute selectors */
|
|
155
|
+
input[type="text"] {
|
|
156
|
+
border: 1px solid #bdc3c7;
|
|
157
|
+
padding: 8px;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
input[type="submit"]:disabled {
|
|
161
|
+
opacity: 0.5;
|
|
162
|
+
cursor: not-allowed;
|
|
163
|
+
}
|
|
164
|
+
</syntax-code>
|
|
165
|
+
</div>
|
|
166
|
+
|
|
167
|
+
<script type="module">
|
|
168
|
+
import Syntax from '../Syntax.js';
|
|
169
|
+
import registerCSS from '../Syntax/Language/css.js';
|
|
170
|
+
|
|
171
|
+
registerCSS(Syntax.default);
|
|
172
|
+
|
|
173
|
+
await Syntax.highlight({
|
|
174
|
+
autoUpgrade: true,
|
|
175
|
+
syntax: Syntax.default
|
|
176
|
+
});
|
|
177
|
+
</script>
|
|
178
|
+
</body>
|
|
179
|
+
</html>
|
|
@@ -0,0 +1,155 @@
|
|
|
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>Custom Theme Example - @socketry/syntax</title>
|
|
7
|
+
<style>
|
|
8
|
+
body {
|
|
9
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
10
|
+
max-width: 1200px;
|
|
11
|
+
margin: 0 auto;
|
|
12
|
+
padding: 2rem;
|
|
13
|
+
background: #f5f5f5;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
h1 {
|
|
17
|
+
color: #333;
|
|
18
|
+
border-bottom: 2px solid #4ec9b0;
|
|
19
|
+
padding-bottom: 0.5rem;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.example {
|
|
23
|
+
margin: 2rem 0;
|
|
24
|
+
background: white;
|
|
25
|
+
padding: 1.5rem;
|
|
26
|
+
border-radius: 8px;
|
|
27
|
+
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
h2 {
|
|
31
|
+
color: #569cd6;
|
|
32
|
+
margin-top: 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.description {
|
|
36
|
+
margin-bottom: 1rem;
|
|
37
|
+
color: #666;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
pre {
|
|
41
|
+
background: #f8f8f8;
|
|
42
|
+
border: 1px solid #ddd;
|
|
43
|
+
border-radius: 4px;
|
|
44
|
+
padding: 1rem;
|
|
45
|
+
overflow: auto;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* Custom theme using CSS variables - Ocean theme */
|
|
49
|
+
.ocean-theme {
|
|
50
|
+
--syntax-base-hue: 200; /* Ocean blue - all colors derive from this! */
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/* Custom theme - Sunset theme */
|
|
54
|
+
.sunset-theme {
|
|
55
|
+
--syntax-base-hue: 30; /* Orange - warm sunset colors */
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* Custom theme - Forest theme */
|
|
59
|
+
.forest-theme {
|
|
60
|
+
--syntax-base-hue: 140; /* Green - natural forest palette */
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/* Custom theme - High contrast */
|
|
64
|
+
.high-contrast-theme {
|
|
65
|
+
--syntax-base-hue: 270;
|
|
66
|
+
--syntax-base-saturation: 90%; /* More vibrant */
|
|
67
|
+
--syntax-base-lightness: 40%; /* Darker for more contrast */
|
|
68
|
+
}
|
|
69
|
+
</style>
|
|
70
|
+
</head>
|
|
71
|
+
<body>
|
|
72
|
+
<h1>Custom Theme Examples</h1>
|
|
73
|
+
|
|
74
|
+
<p>The new CSS variable system makes it incredibly easy to create custom themes.
|
|
75
|
+
Just override <strong>one variable</strong> (<code>--syntax-base-hue</code>) and the entire color scheme updates automatically using hue rotation!</p>
|
|
76
|
+
|
|
77
|
+
<div class="example">
|
|
78
|
+
<h2>Default Theme</h2>
|
|
79
|
+
<p class="description">The base theme with standard colors:</p>
|
|
80
|
+
|
|
81
|
+
<pre><syntax-code language="javascript">// JavaScript example
|
|
82
|
+
function greet(name) {
|
|
83
|
+
const message = `Hello, ${name}!`;
|
|
84
|
+
console.log(message);
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
</syntax-code></pre>
|
|
88
|
+
</div>
|
|
89
|
+
|
|
90
|
+
<div class="example">
|
|
91
|
+
<h2>Ocean Theme</h2>
|
|
92
|
+
<p class="description">Cool blues and teals - just set <code>--syntax-base-hue: 200</code>:</p>
|
|
93
|
+
|
|
94
|
+
<pre><syntax-code language="javascript" class="ocean-theme">// JavaScript example
|
|
95
|
+
function greet(name) {
|
|
96
|
+
const message = `Hello, ${name}!`;
|
|
97
|
+
console.log(message);
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
</syntax-code></pre>
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<div class="example">
|
|
104
|
+
<h2>Sunset Theme</h2>
|
|
105
|
+
<p class="description">Warm oranges, reds, and purples:</p>
|
|
106
|
+
|
|
107
|
+
<pre><syntax-code language="javascript" class="sunset-theme">// JavaScript example
|
|
108
|
+
function greet(name) {
|
|
109
|
+
const message = `Hello, ${name}!`;
|
|
110
|
+
console.log(message);
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
</syntax-code></pre>
|
|
114
|
+
</div>
|
|
115
|
+
|
|
116
|
+
<div class="example">
|
|
117
|
+
<h2>Forest Theme</h2>
|
|
118
|
+
<p class="description">Natural greens and browns:</p>
|
|
119
|
+
|
|
120
|
+
<pre><syntax-code language="javascript" class="forest-theme">// JavaScript example
|
|
121
|
+
function greet(name) {
|
|
122
|
+
const message = `Hello, ${name}!`;
|
|
123
|
+
console.log(message);
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
</syntax-code></pre>
|
|
127
|
+
</div>
|
|
128
|
+
|
|
129
|
+
<div class="example">
|
|
130
|
+
<h2>Markdown with Ocean Theme</h2>
|
|
131
|
+
<p class="description">Markdown uses semantic token types that work perfectly with custom themes:</p>
|
|
132
|
+
|
|
133
|
+
<pre><syntax-code language="markdown" class="ocean-theme"># Markdown Example
|
|
134
|
+
|
|
135
|
+
This is **bold** and this is *italic*.
|
|
136
|
+
|
|
137
|
+
Here's some `inline code` and a [link](https://example.com).
|
|
138
|
+
|
|
139
|
+
> A blockquote looks nice too!
|
|
140
|
+
|
|
141
|
+
- List item 1
|
|
142
|
+
- List item 2
|
|
143
|
+
</syntax-code></pre>
|
|
144
|
+
</div>
|
|
145
|
+
|
|
146
|
+
<script type="module">
|
|
147
|
+
import Syntax from '../Syntax.js';
|
|
148
|
+
|
|
149
|
+
// Automatically highlight all syntax-code elements
|
|
150
|
+
document.addEventListener('DOMContentLoaded', async function() {
|
|
151
|
+
await Syntax.highlight();
|
|
152
|
+
});
|
|
153
|
+
</script>
|
|
154
|
+
</body>
|
|
155
|
+
</html>
|