brandon-codex 1.0.3
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.
- data/History.txt +18 -0
- data/LICENSE.txt +29 -0
- data/Manifest.txt +105 -0
- data/PostInstall.txt +5 -0
- data/README.txt +31 -0
- data/Rakefile +6 -0
- data/app_generators/codex/USAGE +5 -0
- data/app_generators/codex/codex_generator.rb +109 -0
- data/app_generators/codex/templates/Rakefile +59 -0
- data/app_generators/codex/templates/bin/build_all.rb +47 -0
- data/app_generators/codex/templates/bin/postprocess_all.rb +5 -0
- data/app_generators/codex/templates/bin/pressie.rb +10 -0
- data/app_generators/codex/templates/code/control/basic_continuation.rb +11 -0
- data/app_generators/codex/templates/code/control/cc_throw_catch.rb +59 -0
- data/app_generators/codex/templates/code/control/closure_continuation.rb +8 -0
- data/app_generators/codex/templates/code/control/closure_continuation_2.rb +12 -0
- data/app_generators/codex/templates/content/basics.textile +37 -0
- data/app_generators/codex/templates/content/building.textile +27 -0
- data/app_generators/codex/templates/content/example.textile +80 -0
- data/app_generators/codex/templates/content/including_code.textile +80 -0
- data/app_generators/codex/templates/content/including_tex.textile +31 -0
- data/app_generators/codex/templates/content/metadata.yml +4 -0
- data/app_generators/codex/templates/content/table_of_contents.textile +20 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/CSS.html +115 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/CSharp.html +134 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/CollapseCode.html +90 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Cpp.html +190 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/CrashTest.html +108 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Delphi.html +112 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/FirstLine.html +90 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Index.html +80 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Java.html +122 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/JavaScript.html +112 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/NoControls.html +89 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/NoGutter.html +89 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/PHP.html +102 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Python.html +121 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Ruby.html +131 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/SQL.html +98 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/clipboard.swf +0 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shBrushCSharp.js +32 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shBrushCpp.js +73 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shBrushCss.js +52 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shBrushDelphi.js +34 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shBrushJScript.js +22 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shBrushJava.js +28 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shBrushPhp.js +60 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shBrushPython.js +30 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shBrushRuby.js +28 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shBrushSql.js +42 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shBrushVb.js +29 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shBrushXml.js +70 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shCore.js +414 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Scripts/shCore.uncompressed.js +674 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/ShowColumns.html +89 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/SmartTabs.html +88 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Styles/SyntaxHighlighter.css +158 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Styles/TestPages.css +63 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/Templates/Test.dwt +80 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/VB.html +115 -0
- data/app_generators/codex/templates/dp.SyntaxHighlighter/XML.html +136 -0
- data/app_generators/codex/templates/html/all.html +0 -0
- data/app_generators/codex/templates/readme.txt +4 -0
- data/app_generators/codex/templates/ui/default/blank.gif +0 -0
- data/app_generators/codex/templates/ui/default/bodybg.gif +0 -0
- data/app_generators/codex/templates/ui/default/framing.css +23 -0
- data/app_generators/codex/templates/ui/default/iepngfix.htc +42 -0
- data/app_generators/codex/templates/ui/default/opera.css +7 -0
- data/app_generators/codex/templates/ui/default/outline.css +15 -0
- data/app_generators/codex/templates/ui/default/pretty.css +86 -0
- data/app_generators/codex/templates/ui/default/print.css +1 -0
- data/app_generators/codex/templates/ui/default/s5-core.css +9 -0
- data/app_generators/codex/templates/ui/default/slides.css +3 -0
- data/app_generators/codex/templates/ui/default/slides.js +553 -0
- data/bin/codex +17 -0
- data/codex.gemspec +30 -0
- data/config/hoe.rb +76 -0
- data/config/requirements.rb +15 -0
- data/lib/codex.rb +23 -0
- data/lib/codex/content.rb +27 -0
- data/lib/codex/pressie.rb +108 -0
- data/lib/codex/version.rb +9 -0
- data/lib/stylesheets/pressie.css +196 -0
- data/lib/stylesheets/print.css +149 -0
- data/lib/stylesheets/ruby.png +0 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/setup.rb +1585 -0
- data/tasks/deployment.rake +34 -0
- data/tasks/environment.rake +7 -0
- data/tasks/website.rake +9 -0
- data/test/test_codex.rb +11 -0
- data/test/test_codex_generator.rb +78 -0
- data/test/test_generator_helper.rb +29 -0
- data/test/test_helper.rb +3 -0
- metadata +164 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#START:stack
|
|
2
|
+
class CatchStack
|
|
3
|
+
Frame = Struct.new(:symbol, :cc)
|
|
4
|
+
|
|
5
|
+
def stack
|
|
6
|
+
Thread.current[:catch_stack] ||= []
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def wrap(symbol, cc)
|
|
10
|
+
stack << Frame.new(symbol, cc)
|
|
11
|
+
begin
|
|
12
|
+
yield
|
|
13
|
+
ensure
|
|
14
|
+
stack.pop
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def find_continuation_for(symbol)
|
|
19
|
+
stack.pop until stack.empty? || stack.last.symbol == symbol
|
|
20
|
+
if stack.empty?
|
|
21
|
+
fail NameError, "uncaught throw `#{sym}'"
|
|
22
|
+
else
|
|
23
|
+
stack.pop.cc
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
#END:stack
|
|
28
|
+
|
|
29
|
+
#START:CC
|
|
30
|
+
module CC
|
|
31
|
+
CATCH_STACK = CatchStack.new
|
|
32
|
+
|
|
33
|
+
def self.catch(sym)
|
|
34
|
+
callcc do |cc|
|
|
35
|
+
CATCH_STACK.wrap(sym, cc) do
|
|
36
|
+
yield
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def self.throw(sym, value=nil)
|
|
42
|
+
cc = CATCH_STACK.find_continuation_for(sym)
|
|
43
|
+
cc.call(value)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
#END:CC
|
|
47
|
+
|
|
48
|
+
#START:body
|
|
49
|
+
def test_method
|
|
50
|
+
CC.throw(:x, "thrown X") if rand < 0.5
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
result = CC.catch(:x) do
|
|
54
|
+
test_method
|
|
55
|
+
"normal exit"
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
puts "Result is #{result}"
|
|
59
|
+
#END:body
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
def create_continuation(arg)
|
|
2
|
+
callcc { |continuation| return continuation }
|
|
3
|
+
puts "Back in method: arg = #{arg}"
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
cont_one = create_continuation(123)
|
|
7
|
+
cont_one.call
|
|
8
|
+
|
|
9
|
+
### Results in:
|
|
10
|
+
#
|
|
11
|
+
# Back in method: arg = 123
|
|
12
|
+
# closure_continuation_2.rb:8: undefined method `call' for nil:NilClass
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
h1. The Basics
|
|
2
|
+
|
|
3
|
+
h1. Content and Code
|
|
4
|
+
|
|
5
|
+
* Content is created using "Textile markup":http://www.textism.com/tools/textile/
|
|
6
|
+
* Code is written as normal source files
|
|
7
|
+
* Content can embed parts of the source files
|
|
8
|
+
* It's all processed into an HTML-based presentation
|
|
9
|
+
|
|
10
|
+
h1. Presentation Metadata
|
|
11
|
+
|
|
12
|
+
* Required file @content/metadata.yml@
|
|
13
|
+
|
|
14
|
+
:code content/metadata.yml
|
|
15
|
+
|
|
16
|
+
h1. Where Stuff Goes
|
|
17
|
+
|
|
18
|
+
* Create your content in @content/xxx.textile@
|
|
19
|
+
* Write code under @code/xxx@
|
|
20
|
+
* Build the files @html/xxx.html@ by running @Rake@
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
h1. @.textile@ files
|
|
24
|
+
|
|
25
|
+
* Each @.textile@ file is a separate chunk of the presentation
|
|
26
|
+
* The first @h1.@ heading is the banner page for that chunk
|
|
27
|
+
* Each subsequent @h1.@ starts a new slide
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
h1. Table of Contents
|
|
31
|
+
|
|
32
|
+
* You can divide your material into segments, each in a separate @xxx.textile@ file
|
|
33
|
+
* Then create @content/table_of_contents.textile@, eg:
|
|
34
|
+
|
|
35
|
+
:code content/table_of_contents.textile[class=code-small]
|
|
36
|
+
|
|
37
|
+
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
h1. Building and Displaying HTML Slides
|
|
2
|
+
|
|
3
|
+
h1. Building HTML Slides
|
|
4
|
+
|
|
5
|
+
* Given an individual section in @content/xxx.textile@
|
|
6
|
+
|
|
7
|
+
@rake html/xxx.html@
|
|
8
|
+
|
|
9
|
+
* If you've created a @content/table_of_contents.textile@, build the whole presentation with
|
|
10
|
+
|
|
11
|
+
@rake all@
|
|
12
|
+
|
|
13
|
+
The output will be in @html/all.html@
|
|
14
|
+
|
|
15
|
+
h1. Running the Presentation
|
|
16
|
+
|
|
17
|
+
* Simply open the appropriate HTML file
|
|
18
|
+
|
|
19
|
+
* See the "S5 documentation":http://meyerweb.com/eric/tools/s5/ for details
|
|
20
|
+
|
|
21
|
+
* Some hints
|
|
22
|
+
** arrow keys and space bar work
|
|
23
|
+
** type the slide number to jump
|
|
24
|
+
** mouse over the bottom right to bring up a set of controls and a list of all available slides
|
|
25
|
+
** most IR and radio clickers seem to work OK
|
|
26
|
+
** resizing your browser fonts works well to make stuff fit during the presentation
|
|
27
|
+
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
h1. An Example
|
|
2
|
+
|
|
3
|
+
This comes from the "Advanced Ruby Course":http://pragmaticstudio.com/ruby/
|
|
4
|
+
|
|
5
|
+
h1. Continuation
|
|
6
|
+
|
|
7
|
+
<div style="width: 50%; float: right">
|
|
8
|
+
:code code/control/basic_continuation.rb[class=code-normal]
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
<div style="width: 50%">
|
|
12
|
+
|
|
13
|
+
* Construct using @callcc@
|
|
14
|
+
** pass it a block
|
|
15
|
+
** block receives @Continuation@ object
|
|
16
|
+
** invoke that object's @call@ method, and control passes to the end of that block
|
|
17
|
+
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
h1. Continuations Are Closures
|
|
22
|
+
|
|
23
|
+
:code code/control/closure_continuation.rb
|
|
24
|
+
|
|
25
|
+
h1. But...
|
|
26
|
+
|
|
27
|
+
:code code/control/closure_continuation_2.rb
|
|
28
|
+
|
|
29
|
+
h1. But...
|
|
30
|
+
|
|
31
|
+
<div>
|
|
32
|
+
:code code/control/closure_continuation_2.rb
|
|
33
|
+
|
|
34
|
+
<div style="position: relative; left: 60%; top: -3em; font-size: 400%; color: #6b6">Why?</div>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
h1. Implementing throw...catch
|
|
40
|
+
|
|
41
|
+
Let's try to implement throw and catch so that the following works as expected:
|
|
42
|
+
|
|
43
|
+
:code code/control/cc_throw_catch.rb[body]
|
|
44
|
+
|
|
45
|
+
h1. Implementing throw...catch
|
|
46
|
+
|
|
47
|
+
* We need a thread-local stack of all current catch blocks
|
|
48
|
+
|
|
49
|
+
* When we see a @catch@, we store the symbol and a continuation for the block on the stack. If that continuation gets called, execution resumes after the block (which is what @catch@ does)
|
|
50
|
+
|
|
51
|
+
* When we see a @throw@ we traverse it looking for the entry
|
|
52
|
+
with the corresponding system.
|
|
53
|
+
|
|
54
|
+
* When we find that entry, we call the corresponding continuation
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
bq{font-size="50%"}. This implementation is based on code from Jim Weirich
|
|
59
|
+
|
|
60
|
+
h1. Catch and Throw
|
|
61
|
+
|
|
62
|
+
:code code/control/cc_throw_catch.rb[CC class=code-tiny]
|
|
63
|
+
|
|
64
|
+
h1. And the stack
|
|
65
|
+
|
|
66
|
+
:code code/control/cc_throw_catch.rb[stack class=code-tiny]
|
|
67
|
+
|
|
68
|
+
h1. Continuations.
|
|
69
|
+
|
|
70
|
+
* Can't invoke across threads
|
|
71
|
+
|
|
72
|
+
* Can carry stale state around with them
|
|
73
|
+
|
|
74
|
+
* Can use up a lot of memory
|
|
75
|
+
|
|
76
|
+
* Are not fun to debug
|
|
77
|
+
|
|
78
|
+
But...
|
|
79
|
+
|
|
80
|
+
* They'll impress your friends
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
h1. Including Code in Slides
|
|
2
|
+
|
|
3
|
+
h1. Including Code in Slides
|
|
4
|
+
|
|
5
|
+
* Write code under @code/@
|
|
6
|
+
* Include it in your slides using @:code@ directives
|
|
7
|
+
|
|
8
|
+
:inlinecode
|
|
9
|
+
:code code/myfile.rb
|
|
10
|
+
:endinlinecode
|
|
11
|
+
|
|
12
|
+
* The entire contents of @code/myfile.rb@ will be included in the slide
|
|
13
|
+
|
|
14
|
+
h1. Including Parts of a Source File
|
|
15
|
+
|
|
16
|
+
* In the source file, use comments containing @START:sometag@ and @END:sometag@
|
|
17
|
+
|
|
18
|
+
:inlinecode
|
|
19
|
+
class SomeClass
|
|
20
|
+
#START:useful-method
|
|
21
|
+
def my_method
|
|
22
|
+
puts "hello world"
|
|
23
|
+
end
|
|
24
|
+
#END:useful-method
|
|
25
|
+
end
|
|
26
|
+
:endinlinecode
|
|
27
|
+
|
|
28
|
+
* In the slide, reference the tag in square brackets after the file name
|
|
29
|
+
|
|
30
|
+
:inlinecode
|
|
31
|
+
:code code/myfile.rb[useful-method]
|
|
32
|
+
:endinlinecode
|
|
33
|
+
|
|
34
|
+
h1. Merge Multiple Fragments
|
|
35
|
+
|
|
36
|
+
:inlinecode
|
|
37
|
+
#START:constructor
|
|
38
|
+
class SomeClass
|
|
39
|
+
|
|
40
|
+
def initialize
|
|
41
|
+
# ...
|
|
42
|
+
end
|
|
43
|
+
#END:constructor
|
|
44
|
+
|
|
45
|
+
def other_methods...
|
|
46
|
+
end
|
|
47
|
+
#START:constructor
|
|
48
|
+
end
|
|
49
|
+
#END:constructor
|
|
50
|
+
:endinlinecode
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
h1. Override Code Language and/or CSS Class
|
|
54
|
+
|
|
55
|
+
:inlinecode
|
|
56
|
+
:code code/file.xxx[section lang=name class=name]
|
|
57
|
+
:endinlinecode
|
|
58
|
+
|
|
59
|
+
* can appear in any order
|
|
60
|
+
* @lang=@<em>anything supported by SyntaxHighlighter</em>
|
|
61
|
+
** look in @dp.SyntaxHighlighter/Scripts@)
|
|
62
|
+
* @class=code-large | code-normal | code-small | code-tiny | code-supertiny@
|
|
63
|
+
|
|
64
|
+
h1. Embedding Code Inline
|
|
65
|
+
|
|
66
|
+
:inlinecode
|
|
67
|
+
:inlinecode
|
|
68
|
+
code that
|
|
69
|
+
goes inline in slides
|
|
70
|
+
:endinlinecode
|
|
71
|
+
:endinlinecode
|
|
72
|
+
|
|
73
|
+
* @:inlinecode@ optionally takes @lang=xxx@ and @class=xx@
|
|
74
|
+
|
|
75
|
+
:inlinecode
|
|
76
|
+
:inlinecode lang=ruby
|
|
77
|
+
puts "Hello World!"
|
|
78
|
+
:endinlinecode
|
|
79
|
+
:endinlinecode
|
|
80
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
h1. Including TeX math formulas in slides
|
|
2
|
+
|
|
3
|
+
h1. Including TeX (WebTeX) math formula in slides
|
|
4
|
+
|
|
5
|
+
Everything line between :inlinetex and :endlinetex is treated as a TeX math formula
|
|
6
|
+
|
|
7
|
+
*Example:*
|
|
8
|
+
|
|
9
|
+
:inlinecode
|
|
10
|
+
:inlinewebtex
|
|
11
|
+
\alpha\beta\gamma
|
|
12
|
+
:endinlinewebtex
|
|
13
|
+
:end
|
|
14
|
+
|
|
15
|
+
*Result:*
|
|
16
|
+
|
|
17
|
+
:inlinewebtex
|
|
18
|
+
\alpha\beta\gamma
|
|
19
|
+
:end
|
|
20
|
+
|
|
21
|
+
h1. Ritex and WebTex
|
|
22
|
+
|
|
23
|
+
WebTeX is an adapation of the TeX math syntax which is designed for web page display.
|
|
24
|
+
|
|
25
|
+
Ritex is a nice little gem used to generate MathML from from WebTeX.
|
|
26
|
+
|
|
27
|
+
Ressources:
|
|
28
|
+
* "The WebTeX documentation":http://stuff.mit.edu/afs/athena/software/webeq/currenthome/docs/webtex/toc.html
|
|
29
|
+
* "The Ritex documentation":http://ritex.rubyforge.org/
|
|
30
|
+
|
|
31
|
+
The flipside is that MathML doesn't always display properly in browsers :-(
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
h1. The Codex System
|
|
2
|
+
|
|
3
|
+
h1. Creating Content
|
|
4
|
+
|
|
5
|
+
* "The Basics":basics.html
|
|
6
|
+
* "Including Code":including_code.html
|
|
7
|
+
|
|
8
|
+
h1. Creating Slideshows
|
|
9
|
+
|
|
10
|
+
* "Building and Displaying HTML":building.html
|
|
11
|
+
|
|
12
|
+
h1. An Example
|
|
13
|
+
|
|
14
|
+
* "Some Sample Slides":example.html
|
|
15
|
+
|
|
16
|
+
h1. Extra filters
|
|
17
|
+
|
|
18
|
+
* "The Ritex filter":including_tex.html
|
|
19
|
+
* "The Graphviz filter":graphviz.html
|
|
20
|
+
* "Defining your own":user_defined.html
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/Test.dwt" codeOutsideHTMLIsLocked="false" -->
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
5
|
+
<title>dp.SyntaxHighlighter Tests</title>
|
|
6
|
+
<link type="text/css" rel="stylesheet" href="Styles/SyntaxHighlighter.css"></link>
|
|
7
|
+
<link href="Styles/TestPages.css" rel="stylesheet" type="text/css">
|
|
8
|
+
</head>
|
|
9
|
+
|
|
10
|
+
<body>
|
|
11
|
+
|
|
12
|
+
<h1>dp.SyntaxHighlighter 1.5.0 Tests and Samples</h1>
|
|
13
|
+
<p><a href="http://code.google.com/p/syntaxhighlighter/">http://code.google.com/p/syntaxhighlighter/</a></p>
|
|
14
|
+
|
|
15
|
+
<h2><!-- InstanceBeginEditable name="Title" -->CSS<!-- InstanceEndEditable --></h2>
|
|
16
|
+
|
|
17
|
+
<div class="layout">
|
|
18
|
+
|
|
19
|
+
<div class="column1">
|
|
20
|
+
<h3>Languages:</h3>
|
|
21
|
+
<ol>
|
|
22
|
+
<li><a href="CSharp.html">C#</a></li>
|
|
23
|
+
<li><a href="CSS.html">CSS</a></li>
|
|
24
|
+
<li><a href="Cpp.html">C++</a></li>
|
|
25
|
+
<li><a href="Delphi.html">Delphi</a></li>
|
|
26
|
+
<li><a href="Java.html">Java</a></li>
|
|
27
|
+
<li><a href="JavaScript.html">JavaScript</a></li>
|
|
28
|
+
<li><a href="PHP.html">PHP</a></li>
|
|
29
|
+
<li><a href="Python.html">Python</a></li>
|
|
30
|
+
<li><a href="Ruby.html">Ruby</a></li>
|
|
31
|
+
<li><a href="SQL.html">SQL</a></li>
|
|
32
|
+
<li><a href="VB.html">Visual Basic</a></li>
|
|
33
|
+
<li><a href="XML.html">XML / HTML</a></li>
|
|
34
|
+
</ol>
|
|
35
|
+
<h3>Features:</h3>
|
|
36
|
+
<ol>
|
|
37
|
+
<li><a href="SmartTabs.html">Smart tabs</a></li>
|
|
38
|
+
<li><a href="FirstLine.html">First line</a> </li>
|
|
39
|
+
<li><a href="CollapseCode.html">Expand code</a></li>
|
|
40
|
+
<li><a href="ShowColumns.html">Show columns</a></li>
|
|
41
|
+
<li><a href="NoGutter.html">No gutter</a></li>
|
|
42
|
+
<li><a href="NoControls.html">No controls</a></li>
|
|
43
|
+
</ol>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<div class="column2">
|
|
47
|
+
Text body before.
|
|
48
|
+
<hr/>
|
|
49
|
+
<!-- InstanceBeginEditable name="Code" -->
|
|
50
|
+
<pre name="code" class="css">
|
|
51
|
+
/* Main style for the table */
|
|
52
|
+
|
|
53
|
+
.dp-highlighter
|
|
54
|
+
{
|
|
55
|
+
font-family: "Courier New", Courier, mono;
|
|
56
|
+
font-size: 12px;
|
|
57
|
+
text-align: left;
|
|
58
|
+
border: 1px solid #2B91AF;
|
|
59
|
+
background-color: #fff;
|
|
60
|
+
width: 99%;
|
|
61
|
+
overflow: auto;
|
|
62
|
+
line-height: 100% !important;
|
|
63
|
+
margin: 18px 0px 18px 0px;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.dp-highlighter ol
|
|
67
|
+
{
|
|
68
|
+
margin: 0px 0px 0px 45px;
|
|
69
|
+
padding: 0px;
|
|
70
|
+
color: #2B91AF;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.dp-highlighter ol li
|
|
74
|
+
{
|
|
75
|
+
border-left: 3px solid #6CE26C;
|
|
76
|
+
border-bottom: 1px solid #eee;
|
|
77
|
+
background-color: #fff;
|
|
78
|
+
padding-left: 10px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.dp-highlighter ol li.alt
|
|
82
|
+
{
|
|
83
|
+
background-color: #f8f8f8;
|
|
84
|
+
}
|
|
85
|
+
</pre>
|
|
86
|
+
<!-- InstanceEndEditable -->
|
|
87
|
+
<hr/>
|
|
88
|
+
Text body after.
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
|
|
92
|
+
<div class="footer">
|
|
93
|
+
Copyright 2004-2007 Alex Gorbatchev.<br/>
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
<script class="javascript" src="Scripts/shCore.js"></script>
|
|
97
|
+
<script class="javascript" src="Scripts/shBrushCSharp.js"></script>
|
|
98
|
+
<script class="javascript" src="Scripts/shBrushPhp.js"></script>
|
|
99
|
+
<script class="javascript" src="Scripts/shBrushJScript.js"></script>
|
|
100
|
+
<script class="javascript" src="Scripts/shBrushJava.js"></script>
|
|
101
|
+
<script class="javascript" src="Scripts/shBrushVb.js"></script>
|
|
102
|
+
<script class="javascript" src="Scripts/shBrushSql.js"></script>
|
|
103
|
+
<script class="javascript" src="Scripts/shBrushXml.js"></script>
|
|
104
|
+
<script class="javascript" src="Scripts/shBrushDelphi.js"></script>
|
|
105
|
+
<script class="javascript" src="Scripts/shBrushPython.js"></script>
|
|
106
|
+
<script class="javascript" src="Scripts/shBrushRuby.js"></script>
|
|
107
|
+
<script class="javascript" src="Scripts/shBrushCss.js"></script>
|
|
108
|
+
<script class="javascript" src="Scripts/shBrushCpp.js"></script>
|
|
109
|
+
<script class="javascript">
|
|
110
|
+
dp.SyntaxHighlighter.ClipboardSwf = 'Scripts/clipboard.swf';
|
|
111
|
+
dp.SyntaxHighlighter.HighlightAll('code');
|
|
112
|
+
</script>
|
|
113
|
+
|
|
114
|
+
</body>
|
|
115
|
+
<!-- InstanceEnd --></html>
|