glyph 0.4.2 → 0.5.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.
- data/Rakefile +19 -40
- data/benchmark.rb +1 -2
- data/book/config.yml +8 -8
- data/book/document.glyph +18 -19
- data/book/images/glyph/commands_tasks.png +0 -0
- data/book/lib/layouts/bookindex.glyph +113 -111
- data/book/lib/layouts/bookpage.glyph +112 -108
- data/book/lib/macros/reference.rb +2 -2
- data/book/lib/tasks/tasks.rake +1 -1
- data/book/text/acknowledgements.glyph +1 -0
- data/book/text/changelog.glyph +140 -112
- data/book/text/compiling/compiling.glyph +36 -24
- data/book/text/compiling/lite_mode.glyph +11 -11
- data/book/text/compiling/programmatic_usage.glyph +57 -57
- data/book/text/config/document.glyph +7 -1
- data/book/text/config/options.glyph +5 -3
- data/book/text/config/output.glyph +41 -8
- data/book/text/extending/bookmarks_headers.glyph +13 -11
- data/book/text/extending/command.glyph +1 -1
- data/book/text/extending/commands_tasks.glyph +2 -2
- data/book/text/extending/internals.glyph +29 -29
- data/book/text/extending/interpreting.glyph +48 -9
- data/book/text/extending/macro_def.glyph +80 -32
- data/book/text/extending/output_format.glyph +2 -2
- data/book/text/extending/placeholders.glyph +27 -15
- data/book/text/extending/validators.glyph +1 -1
- data/book/text/getting_started/configuration.glyph +1 -1
- data/book/text/getting_started/create_project.glyph +4 -5
- data/book/text/getting_started/structure.glyph +2 -2
- data/book/text/macros/macros_core.glyph +341 -199
- data/book/text/macros/macros_filters.glyph +1 -1
- data/book/text/macros/macros_inline.glyph +3 -3
- data/book/text/macros/macros_structure.glyph +1 -1
- data/book/text/ref_commands.glyph +98 -93
- data/book/text/snippets.glyph +18 -0
- data/book/text/stats/bookmarks.glyph +16 -16
- data/book/text/stats/links.glyph +23 -23
- data/book/text/stats/macros.glyph +14 -14
- data/book/text/stats/snippets.glyph +26 -26
- data/book/text/stats/stats.glyph +14 -15
- data/book/text/text_editing/attribute_intro.glyph +8 -8
- data/book/text/text_editing/code.glyph +16 -16
- data/book/text/text_editing/conditionals.glyph +12 -13
- data/book/text/text_editing/esc_quot.glyph +3 -3
- data/book/text/text_editing/evaluation.glyph +57 -3
- data/book/text/text_editing/inclusions.glyph +34 -25
- data/book/text/text_editing/macro_composition.glyph +28 -0
- data/book/text/text_editing/macro_intro.glyph +4 -4
- data/book/text/text_editing/section_aliases.glyph +23 -23
- data/book/text/text_editing/sections.glyph +22 -22
- data/book/text/text_editing/stylesheets.glyph +33 -33
- data/book/text/text_editing/topics.glyph +6 -6
- data/book/text/text_editing/xml_fallback.glyph +1 -1
- data/book/text/troubleshooting/errors_command.glyph +4 -4
- data/book/text/troubleshooting/errors_generic.glyph +16 -10
- data/book/text/troubleshooting/errors_macro.glyph +18 -21
- data/book/text/troubleshooting/errors_parser.glyph +7 -7
- data/config.yml +51 -29
- data/document.glyph +18 -18
- data/glyph.gemspec +39 -287
- data/layouts/web5/topic.glyph +1 -1
- data/lib/glyph.rb +42 -10
- data/lib/glyph/analyzer.rb +5 -2
- data/lib/glyph/bookmark.rb +3 -1
- data/lib/glyph/commands.rb +11 -9
- data/lib/glyph/commands/add.rb +3 -1
- data/lib/glyph/commands/compile.rb +10 -7
- data/lib/glyph/commands/config.rb +7 -5
- data/lib/glyph/commands/init.rb +2 -0
- data/lib/glyph/commands/outline.rb +2 -0
- data/lib/glyph/commands/stats.rb +3 -0
- data/lib/glyph/commands/todo.rb +2 -0
- data/lib/glyph/config.rb +2 -0
- data/lib/glyph/document.rb +34 -9
- data/lib/glyph/interpreter.rb +2 -0
- data/lib/glyph/macro.rb +97 -25
- data/lib/glyph/macro_validators.rb +9 -6
- data/lib/glyph/node.rb +3 -1
- data/lib/glyph/parser.rb +68 -33
- data/lib/glyph/reporter.rb +3 -1
- data/lib/glyph/syntax_node.rb +23 -28
- data/lib/glyph/system_extensions.rb +21 -0
- data/lib/glyph/utils.rb +24 -4
- data/macros/block.rb +111 -0
- data/macros/core.rb +163 -33
- data/macros/filters.rb +3 -2
- data/macros/inline.rb +97 -0
- data/macros/reps/html.rb +180 -0
- data/macros/reps/html5.rb +100 -0
- data/macros/reps/web.rb +4 -0
- data/macros/reps/web5.rb +4 -0
- data/macros/structure.rb +229 -0
- data/macros/xml.rb +29 -24
- data/spec/config.yml +7 -0
- data/spec/files/article.glyph +2 -2
- data/spec/files/web_doc.glyph +9 -5
- data/spec/lib/commands_spec.rb +13 -9
- data/spec/lib/config_spec.rb +2 -2
- data/spec/lib/document_spec.rb +10 -0
- data/spec/lib/glyph_spec.rb +30 -8
- data/spec/lib/macro_spec.rb +39 -4
- data/spec/lib/macro_validators_spec.rb +3 -4
- data/spec/lib/parser_spec.rb +7 -0
- data/spec/lib/reporter_spec.rb +1 -0
- data/spec/lib/syntax_node_spec.rb +40 -6
- data/spec/macros/core_spec.rb +154 -21
- data/spec/macros/filters_spec.rb +1 -1
- data/spec/macros/html5_spec.rb +4 -5
- data/spec/macros/macros_spec.rb +6 -7
- data/spec/macros/web5_spec.rb +3 -3
- data/spec/macros/web_spec.rb +10 -7
- data/spec/macros/xml_spec.rb +11 -2
- data/spec/spec_helper.rb +11 -5
- data/spec/tasks/generate_spec.rb +40 -5
- data/spec/tasks/load_spec.rb +1 -13
- data/styles/coderay.css +147 -38
- data/styles/default.css +19 -22
- data/styles/pagination.css +30 -30
- data/tasks/generate.rake +54 -18
- data/tasks/load.rake +9 -24
- data/tasks/project.rake +0 -2
- metadata +208 -207
- data/.gitignore +0 -7
- data/VERSION +0 -1
- data/book/snippets.yml +0 -18
- data/lib/glyph/macro_helpers.rb +0 -282
- data/macros/html/block.rb +0 -124
- data/macros/html/inline.rb +0 -42
- data/macros/html/structure.rb +0 -191
- data/macros/html5/block.rb +0 -69
- data/macros/html5/inline.rb +0 -24
- data/macros/html5/structure.rb +0 -140
data/Rakefile
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
+
# encoding: utf-8
|
|
3
|
+
|
|
2
4
|
lib = File.expand_path(File.dirname(__FILE__) + '/lib')
|
|
3
5
|
$: << lib
|
|
4
6
|
require 'rubygems'
|
|
@@ -7,55 +9,32 @@ require "#{lib}/glyph.rb"
|
|
|
7
9
|
|
|
8
10
|
task :default => :spec
|
|
9
11
|
|
|
12
|
+
# RSpec
|
|
10
13
|
begin
|
|
11
|
-
require
|
|
12
|
-
|
|
13
|
-
t.
|
|
14
|
-
t.
|
|
14
|
+
require "rspec/core/rake_task"
|
|
15
|
+
RSpec::Core::RakeTask.new(:spec) do |t|
|
|
16
|
+
t.pattern = 'spec/**/*_spec.rb'
|
|
17
|
+
t.rspec_opts = ["-c", "-f progress", "-r ./spec/spec_helper.rb"]
|
|
15
18
|
end
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
begin
|
|
23
|
-
require 'jeweler'
|
|
24
|
-
Jeweler::Tasks.new do |s|
|
|
25
|
-
s.name = "glyph"
|
|
26
|
-
s.summary = "Glyph -- A Ruby-powered Document Authoring Framework"
|
|
27
|
-
s.description = "Glyph is a framework for structured document authoring."
|
|
28
|
-
s.email = "h3rald@h3rald.com"
|
|
29
|
-
s.homepage = "http://www.h3rald.com/glyph/"
|
|
30
|
-
s.authors = ["Fabio Cevasco"]
|
|
31
|
-
s.files.exclude 'book/output/web/**/*'
|
|
32
|
-
s.files.exclude 'book/output/web5/**/*'
|
|
33
|
-
s.files.exclude 'book/output/html5/**/*'
|
|
34
|
-
s.add_dependency 'gli', '>= 1.1.1' # Command line interface
|
|
35
|
-
s.add_dependency 'extlib', '>= 0.9.15' # Extension methods
|
|
36
|
-
s.add_dependency 'rake', '>= 0.8.7' # Glyph rasks
|
|
37
|
-
s.add_development_dependency 'rspec', '>= 1.3.0' # Test suite
|
|
38
|
-
s.add_development_dependency 'yard', '>= 0.6.0' # Documentation suite
|
|
39
|
-
s.add_development_dependency 'jeweler', '1.4.0' # Gem management
|
|
40
|
-
s.add_development_dependency 'directory_watcher', ">= 1.3.2" # Auto-regeneration
|
|
41
|
-
s.add_development_dependency 'haml', ">= 3.0.15" # Sass filter
|
|
42
|
-
s.add_development_dependency 'RedCloth', ">= 4.2.3" # Textile filter
|
|
43
|
-
s.add_development_dependency 'bluecloth', ">= 2.0.7" # Markdown filter
|
|
44
|
-
s.add_development_dependency 'coderay', ">= 0.9.3" # Syntax Highlighting
|
|
19
|
+
RSpec::Core::RakeTask.new(:test) do |t|
|
|
20
|
+
args = ARGV.reverse
|
|
21
|
+
args.pop
|
|
22
|
+
t.pattern = args.join " "
|
|
23
|
+
t.rspec_opts = ["-c", "-f progress", "-r ./spec/spec_helper.rb"]
|
|
45
24
|
end
|
|
46
|
-
Jeweler::GemcutterTasks.new
|
|
47
25
|
rescue LoadError
|
|
48
|
-
puts "
|
|
26
|
+
puts "RSpec is not available. Install it with: gem install rspec"
|
|
49
27
|
end
|
|
50
28
|
|
|
29
|
+
# Yard
|
|
51
30
|
begin
|
|
52
|
-
require
|
|
53
|
-
|
|
54
|
-
t.
|
|
55
|
-
t.
|
|
31
|
+
require 'yard'
|
|
32
|
+
YARD::Rake::YardocTask.new(:yardoc) do |t|
|
|
33
|
+
t.files = ['lib/**/*.rb', './README.textile', 'lib/*.rb']
|
|
34
|
+
t.options = ['--no-private']
|
|
56
35
|
end
|
|
57
36
|
rescue LoadError
|
|
58
|
-
puts "
|
|
37
|
+
puts "YARD is not available. Install it with: gem install yard"
|
|
59
38
|
end
|
|
60
39
|
|
|
61
40
|
FileList['tasks/**/*.rake'].each { |t| load t}
|
data/benchmark.rb
CHANGED
|
@@ -45,7 +45,6 @@ ul[
|
|
|
45
45
|
|
|
46
46
|
reset_glyph
|
|
47
47
|
Glyph.run! 'load:all'
|
|
48
|
-
Glyph::SNIPPETS[:test] = text
|
|
49
48
|
Benchmark.bm(30) do |x|
|
|
50
49
|
|
|
51
50
|
sep
|
|
@@ -56,7 +55,7 @@ Benchmark.bm(30) do |x|
|
|
|
56
55
|
puts " => Macro Set: Glyph"
|
|
57
56
|
sep
|
|
58
57
|
rep(x, "section[...]") { macro_exec "section[#{text}]" }
|
|
59
|
-
rep(x, "snippet[...]") { macro_exec "snippet[test]" }
|
|
58
|
+
rep(x, "snippet[...]") { macro_exec "snippet:[test|#{text}]snippet[test]" }
|
|
60
59
|
rep(x, "textile[...]") { macro_exec "textile[#{text}]" }
|
|
61
60
|
rep(x, "markdown[...]") { macro_exec "markdown[#{text}]" }
|
|
62
61
|
rep(x, "HTML text") { macro_exec html }
|
data/book/config.yml
CHANGED
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
:subtitle: Rapid Document Authoring Framework
|
|
5
5
|
:author: Fabio Cevasco
|
|
6
6
|
:draft: true
|
|
7
|
-
:revision: v0.
|
|
7
|
+
:revision: v0.5.0
|
|
8
8
|
:filename: glyph
|
|
9
9
|
:title: Glyph
|
|
10
10
|
:styles: link
|
|
11
11
|
:output:
|
|
12
|
-
:h3rald:
|
|
12
|
+
:h3rald:
|
|
13
13
|
:multifile: true
|
|
14
|
-
:extension:
|
|
15
|
-
:filter_target:
|
|
16
|
-
:base:
|
|
17
|
-
:
|
|
18
|
-
:
|
|
19
|
-
:layouts:
|
|
14
|
+
:extension: .html
|
|
15
|
+
:filter_target: html
|
|
16
|
+
:base: /glyph/book/
|
|
17
|
+
:macro_reps: html5
|
|
18
|
+
:layout_dir: web5
|
|
19
|
+
:layouts:
|
|
20
20
|
:topic: bookpage
|
|
21
21
|
:index: bookindex
|
|
22
22
|
:pdf:
|
data/book/document.glyph
CHANGED
|
@@ -1,27 +1,21 @@
|
|
|
1
1
|
book[
|
|
2
2
|
@head[
|
|
3
|
-
?[not[
|
|
3
|
+
?[not/output?[h3rald]|
|
|
4
4
|
style[default.css]
|
|
5
|
-
?[
|
|
5
|
+
?[output?[pdf]|style[pagination.css]]
|
|
6
6
|
?[eq[$[filters.highlighter]|coderay]|style[coderay.css]]
|
|
7
7
|
?[eq[$[filters.highlighter]|ultraviolet]|style[ultraviolet/lazy.css]]
|
|
8
8
|
]
|
|
9
9
|
]
|
|
10
10
|
@pre-title[
|
|
11
|
-
?[
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
?[
|
|
17
|
-
or[
|
|
18
|
-
eq[$[document.output]|html]|
|
|
19
|
-
and[
|
|
20
|
-
eq[$[document.output]|pdf]|
|
|
21
|
-
eq[$[output.pdf.generator]|wkhtmltopdf]]
|
|
22
|
-
]|image[glyph/glyph.png]]
|
|
11
|
+
?[and[
|
|
12
|
+
output?[pdf]|
|
|
13
|
+
eq[$[output.pdf.generator]|prince]]|
|
|
14
|
+
image[@width[20%]@height[20%]glyph/glyph.svg]|
|
|
15
|
+
image[glyph/glyph.png]]
|
|
23
16
|
]
|
|
24
17
|
@frontmatter[
|
|
18
|
+
include[snippets]
|
|
25
19
|
toc[3]
|
|
26
20
|
introduction[
|
|
27
21
|
@title[Introduction]
|
|
@@ -70,6 +64,11 @@ book[
|
|
|
70
64
|
@id[attribute_intro]
|
|
71
65
|
@src[text_editing/attribute_intro]
|
|
72
66
|
]
|
|
67
|
+
section[
|
|
68
|
+
@title[Macro Composition]
|
|
69
|
+
@id[composition]
|
|
70
|
+
@src[text_editing/macro_composition]
|
|
71
|
+
]
|
|
73
72
|
section[
|
|
74
73
|
@title[Escaping and Quoting]
|
|
75
74
|
@id[esc_quot]
|
|
@@ -122,19 +121,19 @@ book[
|
|
|
122
121
|
@src[text_editing/stylesheets]
|
|
123
122
|
]
|
|
124
123
|
section[
|
|
125
|
-
@title[
|
|
124
|
+
@title[Content Reuse]
|
|
126
125
|
@id[incl]
|
|
127
126
|
@src[text_editing/inclusions]
|
|
128
127
|
]
|
|
129
|
-
section[
|
|
130
|
-
@title[Evaluating Ruby code and Configuration Settings]
|
|
131
|
-
@src[text_editing/evaluation]
|
|
132
|
-
]
|
|
133
128
|
section[
|
|
134
129
|
@title[Conditional Macros]
|
|
135
130
|
@id[cond_macros]
|
|
136
131
|
@src[text_editing/conditionals]
|
|
137
132
|
]
|
|
133
|
+
section[
|
|
134
|
+
@title[Simple Programming and Code Evaluation]
|
|
135
|
+
@src[text_editing/evaluation]
|
|
136
|
+
]
|
|
138
137
|
]
|
|
139
138
|
chapter[
|
|
140
139
|
@title[Generating Output Files]
|
|
Binary file
|
|
@@ -1,71 +1,86 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<title>Glyph - Document Authoring Framework</title>
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<meta
|
|
9
|
-
<meta name="
|
|
10
|
-
<meta name="
|
|
11
|
-
<meta name="
|
|
12
|
-
<meta name="
|
|
13
|
-
<meta name="
|
|
14
|
-
|
|
15
|
-
<meta name="
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<meta name="keywords" content="h3rald, fabio cevasco, glyph" />
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<title>Glyph - Document Authoring Framework</title>
|
|
5
|
+
|
|
6
|
+
<meta charset="utf-8" />
|
|
7
|
+
<meta name="author" content="Fabio Cevasco" />
|
|
8
|
+
<meta name="copyright" content="Fabio Cevasco" />
|
|
9
|
+
<meta name="robots" content="all, follow" />
|
|
10
|
+
<meta name="Revisit-After" content="2 Days" />
|
|
11
|
+
<meta name="language" content="en" />
|
|
12
|
+
<meta name="target_country" content="en-us" />
|
|
13
|
+
<meta name="country" content="United States" />
|
|
14
|
+
<meta name="readability-verification" content="XmaVzRjmcFL5Bb2Fu9TZVdDKzhA3apQdxexTB2rK"/>
|
|
15
|
+
<meta name="description" content="H3RALD - Fabio Cevasco's Web Site" />
|
|
16
|
+
|
|
17
|
+
<meta name="keywords" content="h3rald, fabio cevasco, glyph" />
|
|
19
18
|
<link rel="shortcut icon" href="/favicon.png" type="image/png" />
|
|
20
|
-
<meta content="44.388041;9.073248" name="ICBM" />
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<link rel="stylesheet" type="text/css" href="/styles/html5reset.css" />
|
|
24
|
-
<link rel="stylesheet" type="text/css" href="/styles/style.css" />
|
|
19
|
+
<meta content="44.388041;9.073248" name="ICBM" />
|
|
25
20
|
|
|
26
|
-
|
|
27
|
-
<
|
|
28
|
-
<!\[endif\]-->
|
|
29
|
-
</head>
|
|
30
|
-
<body>
|
|
31
|
-
<!--\[if lte IE 6\]>
|
|
32
|
-
<div id="ie-warning">
|
|
33
|
-
This site is not compatible with Internet Explorer 6 or lower. You should consider using a more modern browser for a better – and <em>safer</em> – web experience. \[<a href="http://browsehappy.com/browsers/">Read More »</a>\]
|
|
34
|
-
</div>
|
|
35
|
-
<!\[endif\]-->
|
|
21
|
+
<link rel="stylesheet" type="text/css" href="/styles/html5reset.css" />
|
|
22
|
+
<link rel="stylesheet" type="text/css" href="/styles/style.css" />
|
|
36
23
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
24
|
+
<script src="http://www.google.com/jsapi?key=ABQIAAAAr6RY1Z6dchG_sX9WDLSy3xRlq2n1sm52B5HDRR5tm6o8XM18FhR56xHNNH6CsX86uN5VoTrglpyOyQ" type="text/javascript"></script>
|
|
25
|
+
<script src="/js/sevenup.js" type="text/javascript"></script>
|
|
26
|
+
<script src="/js/sevenup_black.js" type="text/javascript"></script>
|
|
27
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
|
|
28
|
+
<script src="/js/jquery-timeago.js" type="text/javascript"></script>
|
|
29
|
+
<script src="/js/jquery-easing.js" type="text/javascript"></script>
|
|
30
|
+
<script src="/js/jquery-fancybox.js" type="text/javascript"></script>
|
|
31
|
+
<script src="/js/date.js" type="text/javascript"></script>
|
|
32
|
+
<script src="/js/feeds.js" type="text/javascript"></script>
|
|
33
|
+
<script src="/js/hyphenator.js" type="text/javascript"></script>
|
|
34
|
+
<script src="/js/init.js" type="text/javascript"></script>
|
|
35
|
+
<script src="/js/search.js" type="text/javascript"></script>
|
|
36
|
+
</head>
|
|
37
|
+
<body>
|
|
38
|
+
<section id="container">
|
|
39
|
+
|
|
40
|
+
<header class="page">
|
|
41
|
+
<nav class="home-link">
|
|
42
|
+
<a href="/">
|
|
43
|
+
<img src="/images/h3rald_small.png" alt="H3RALD" class="default"/>
|
|
44
|
+
<!\[if !IE\]>
|
|
45
|
+
<img src="/images/h3rald_hover_small.png" alt="H3RALD" class="hover"/>
|
|
46
|
+
<!\[endif\]>
|
|
47
|
+
</a>
|
|
48
|
+
</nav>
|
|
49
|
+
|
|
50
|
+
<nav class="section">
|
|
51
|
+
/<a href="/glyph/" rel="glyph">GLYPH</a>
|
|
52
|
+
</nav>
|
|
53
|
+
|
|
54
|
+
</header>
|
|
55
|
+
<article class="page">
|
|
56
|
+
<header>
|
|
57
|
+
<hgroup>
|
|
58
|
+
<h1>Glyph - Document Authoring Framework</h1>
|
|
59
|
+
<h2>Documentation</h2>
|
|
60
|
+
|
|
61
|
+
</hgroup>
|
|
62
|
+
|
|
63
|
+
</header>
|
|
64
|
+
<section id="body-text" class="hyphenate glyph-index">
|
|
62
65
|
toc[]
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
<nav id="sharing-buttons">
|
|
67
|
+
<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="h3rald">Tweet</a>
|
|
68
|
+
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
|
69
|
+
<g:plusone size="medium"></g:plusone>
|
|
70
|
+
<script type="text/javascript">
|
|
71
|
+
(function() {
|
|
72
|
+
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
|
|
73
|
+
po.src = 'https://apis.google.com/js/plusone.js';
|
|
74
|
+
var s = document.getElementsByTagName('script')\[0\]; s.parentNode.insertBefore(po, s);
|
|
75
|
+
})();
|
|
76
|
+
</script>
|
|
77
|
+
</nav>
|
|
78
|
+
</section>
|
|
79
|
+
</article>
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
<footer>
|
|
83
|
+
<section class="ads">
|
|
69
84
|
<script type="text/javascript"><!--
|
|
70
85
|
google_ad_client = "pub-2871497824158668";
|
|
71
86
|
/* 728x90, created 9/10/10 */
|
|
@@ -73,52 +88,39 @@
|
|
|
73
88
|
google_ad_width = 728;
|
|
74
89
|
google_ad_height = 90;
|
|
75
90
|
//-->
|
|
76
|
-
</script>
|
|
77
|
-
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
|
|
78
|
-
</script>
|
|
79
|
-
</section>
|
|
80
|
-
<section>
|
|
81
|
-
<nav>
|
|
82
|
-
<a href="/about/">ABOUT</a>\|<a href="/contact/">CONTACT</a>
|
|
83
|
-
</nav>
|
|
84
|
-
<p>H3RALD Web Site v8.1 &
|
|
85
|
-
</section>
|
|
86
|
-
</footer>
|
|
87
|
-
</section><!-- #container end -->
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
<script src="/js/jquery-toc.js" type="text/javascript"></script>
|
|
95
|
-
<script src="/js/date.js" type="text/javascript"></script>
|
|
96
|
-
<script src="/js/feeds.js" type="text/javascript"></script>
|
|
97
|
-
<script src="/js/search.js" type="text/javascript"></script>
|
|
98
|
-
<script src="/js/hyphenator.min.js" type="text/javascript"></script>
|
|
99
|
-
<script src="/js/init.js" type="text/javascript"></script>
|
|
100
|
-
<!-- Start Google Analytics -->
|
|
101
|
-
<script type="text/javascript">
|
|
102
|
-
.[=
|
|
103
|
-
var _gaq = _gaq \|\| [];
|
|
104
|
-
_gaq.push(['_setAccount', 'UA-18587377-1']);
|
|
105
|
-
_gaq.push(['_trackPageview']);
|
|
91
|
+
</script>
|
|
92
|
+
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
|
|
93
|
+
</script>
|
|
94
|
+
</section>
|
|
95
|
+
<section>
|
|
96
|
+
<nav>
|
|
97
|
+
<a href="/about/">ABOUT</a>\|<a href="/contact/">CONTACT</a>
|
|
98
|
+
</nav>
|
|
99
|
+
<p>H3RALD Web Site v8.1.2 © 2004 — 2011 <em>Fabio Cevasco</em></p>
|
|
100
|
+
</section>
|
|
101
|
+
</footer>
|
|
102
|
+
</section><!-- #container end -->
|
|
103
|
+
|
|
104
|
+
<!-- Start Google Analytics -->
|
|
105
|
+
<script type="text/javascript">
|
|
106
|
+
var _gaq = _gaq \|\| \[\];
|
|
107
|
+
_gaq.push(\['_setAccount', 'UA-18587377-1'\]);
|
|
108
|
+
_gaq.push(\['_trackPageview'\]);
|
|
106
109
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
</body>
|
|
110
|
+
(function() {
|
|
111
|
+
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
|
112
|
+
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|
113
|
+
var s = document.getElementsByTagName('script')\[0\]; s.parentNode.insertBefore(ga, s);
|
|
114
|
+
})();
|
|
115
|
+
</script>
|
|
116
|
+
<!-- End Google Analytics -->
|
|
117
|
+
<!-- Start of StatCounter Code -->
|
|
118
|
+
<script type="text/javascript">
|
|
119
|
+
var sc_project=6193656;
|
|
120
|
+
var sc_invisible=1;
|
|
121
|
+
var sc_security="57f7ee2a";
|
|
122
|
+
</script>
|
|
123
|
+
<script type="text/javascript" src="http://www.statcounter.com/counter/counter_xhtml.js"></script>
|
|
124
|
+
<!-- End of StatCounter Code -->
|
|
125
|
+
</body>
|
|
124
126
|
</html>
|
|
@@ -1,74 +1,90 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<meta
|
|
10
|
-
<meta name="
|
|
11
|
-
<meta name="
|
|
12
|
-
<meta name="
|
|
13
|
-
<meta name="
|
|
14
|
-
<meta name="
|
|
15
|
-
<meta name="
|
|
16
|
-
<meta name="
|
|
17
|
-
|
|
18
|
-
<meta name="
|
|
4
|
+
<title>{{title}} - Glyph</title>
|
|
5
|
+
<link href='http://fonts.googleapis.com/css?family=Crimson+Text:400,400italic,600,600italic,700,700italic' rel='stylesheet' type='text/css'>
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
<meta charset="utf-8" />
|
|
10
|
+
<meta name="author" content="Fabio Cevasco" />
|
|
11
|
+
<meta name="copyright" content="Fabio Cevasco" />
|
|
12
|
+
<meta name="robots" content="all, follow" />
|
|
13
|
+
<meta name="Revisit-After" content="2 Days" />
|
|
14
|
+
<meta name="language" content="en" />
|
|
15
|
+
<meta name="target_country" content="en-us" />
|
|
16
|
+
<meta name="country" content="United States" />
|
|
17
|
+
<meta name="readability-verification" content="XmaVzRjmcFL5Bb2Fu9TZVdDKzhA3apQdxexTB2rK"/>
|
|
18
|
+
<meta name="description" content="H3RALD - Fabio Cevasco's Web Site" />
|
|
19
|
+
|
|
20
|
+
<meta name="keywords" content="h3rald, fabio cevasco, glyph" />
|
|
19
21
|
<link rel="shortcut icon" href="/favicon.png" type="image/png" />
|
|
20
|
-
<meta content="44.388041;9.073248" name="ICBM" />
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<link rel="stylesheet" type="text/css" href="/styles/html5reset.css" />
|
|
24
|
-
<link rel="stylesheet" type="text/css" href="/styles/style.css" />
|
|
22
|
+
<meta content="44.388041;9.073248" name="ICBM" />
|
|
25
23
|
|
|
26
|
-
|
|
27
|
-
<
|
|
28
|
-
<!\[endif\]-->
|
|
29
|
-
</head>
|
|
30
|
-
<body>
|
|
31
|
-
<!--\[if lte IE 6\]>
|
|
32
|
-
<div id="ie-warning">
|
|
33
|
-
This site is not compatible with Internet Explorer 6 or lower. You should consider using a more modern browser for a better – and <em>safer</em> – web experience. \[<a href="http://browsehappy.com/browsers/">Read More »</a>\]
|
|
34
|
-
</div>
|
|
35
|
-
<!\[endif\]-->
|
|
24
|
+
<link rel="stylesheet" type="text/css" href="/styles/html5reset.css" />
|
|
25
|
+
<link rel="stylesheet" type="text/css" href="/styles/style.css" />
|
|
36
26
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
27
|
+
<script src="http://www.google.com/jsapi?key=ABQIAAAAr6RY1Z6dchG_sX9WDLSy3xRlq2n1sm52B5HDRR5tm6o8XM18FhR56xHNNH6CsX86uN5VoTrglpyOyQ" type="text/javascript"></script>
|
|
28
|
+
<script src="/js/sevenup.js" type="text/javascript"></script>
|
|
29
|
+
<script src="/js/sevenup_black.js" type="text/javascript"></script>
|
|
30
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
|
|
31
|
+
<script src="/js/jquery-timeago.js" type="text/javascript"></script>
|
|
32
|
+
<script src="/js/jquery-easing.js" type="text/javascript"></script>
|
|
33
|
+
<script src="/js/jquery-fancybox.js" type="text/javascript"></script>
|
|
34
|
+
<script src="/js/date.js" type="text/javascript"></script>
|
|
35
|
+
<script src="/js/feeds.js" type="text/javascript"></script>
|
|
36
|
+
<script src="/js/hyphenator.js" type="text/javascript"></script>
|
|
37
|
+
<script src="/js/init.js" type="text/javascript"></script>
|
|
38
|
+
<script src="/js/search.js" type="text/javascript"></script>
|
|
39
|
+
</head>
|
|
40
|
+
<body>
|
|
41
|
+
<section id="container">
|
|
42
|
+
|
|
43
|
+
<header class="page">
|
|
44
|
+
<nav class="home-link">
|
|
45
|
+
<a href="/">
|
|
46
|
+
<img src="/images/h3rald_small.png" alt="H3RALD" class="default"/>
|
|
47
|
+
<!\[if !IE\]>
|
|
48
|
+
<img src="/images/h3rald_hover_small.png" alt="H3RALD" class="hover"/>
|
|
49
|
+
<!\[endif\]>
|
|
50
|
+
</a>
|
|
51
|
+
</nav>
|
|
52
|
+
|
|
53
|
+
<nav class="section">
|
|
54
|
+
/<a href="/glyph/" rel="glyph">GLYPH</a>
|
|
55
|
+
</nav>
|
|
56
|
+
|
|
57
|
+
</header>
|
|
58
|
+
<article class="page glyph-book">
|
|
59
|
+
<header>
|
|
60
|
+
<hgroup>
|
|
61
|
+
<h1>{{title}}</h1>
|
|
62
|
+
<h2>Glyph</h2>
|
|
63
|
+
</hgroup>
|
|
64
|
+
</header>
|
|
65
|
+
<section id="body-text" class="hyphenate glyph-book">
|
|
62
66
|
|
|
63
67
|
navigation[{{id}}]
|
|
64
68
|
{{contents}}
|
|
65
69
|
navigation[{{id}}]
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
<nav id="sharing-buttons">
|
|
71
|
+
<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="h3rald">Tweet</a>
|
|
72
|
+
<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
|
73
|
+
<g:plusone size="medium"></g:plusone>
|
|
74
|
+
<script type="text/javascript">
|
|
75
|
+
(function() {
|
|
76
|
+
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
|
|
77
|
+
po.src = 'https://apis.google.com/js/plusone.js';
|
|
78
|
+
var s = document.getElementsByTagName('script')\[0\]; s.parentNode.insertBefore(po, s);
|
|
79
|
+
})();
|
|
80
|
+
</script>
|
|
81
|
+
</nav>
|
|
82
|
+
</section>
|
|
83
|
+
</article>
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
<footer>
|
|
87
|
+
<section class="ads">
|
|
72
88
|
<script type="text/javascript"><!--
|
|
73
89
|
google_ad_client = "pub-2871497824158668";
|
|
74
90
|
/* 728x90, created 9/10/10 */
|
|
@@ -76,52 +92,40 @@
|
|
|
76
92
|
google_ad_width = 728;
|
|
77
93
|
google_ad_height = 90;
|
|
78
94
|
//-->
|
|
79
|
-
</script>
|
|
80
|
-
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
|
|
81
|
-
</script>
|
|
82
|
-
</section>
|
|
83
|
-
<section>
|
|
84
|
-
<nav>
|
|
85
|
-
<a href="/about/">ABOUT</a>\|<a href="/contact/">CONTACT</a>
|
|
86
|
-
</nav>
|
|
87
|
-
<p>H3RALD Web Site v8.1 &
|
|
88
|
-
</section>
|
|
89
|
-
</footer>
|
|
90
|
-
</section><!-- #container end -->
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
<script src="/js/date.js" type="text/javascript"></script>
|
|
99
|
-
<script src="/js/feeds.js" type="text/javascript"></script>
|
|
100
|
-
<script src="/js/search.js" type="text/javascript"></script>
|
|
101
|
-
<script src="/js/hyphenator.min.js" type="text/javascript"></script>
|
|
102
|
-
<script src="/js/init.js" type="text/javascript"></script>
|
|
103
|
-
<!-- Start Google Analytics -->
|
|
104
|
-
<script type="text/javascript">
|
|
105
|
-
.[=
|
|
106
|
-
var _gaq = _gaq \|\| [];
|
|
107
|
-
_gaq.push(['_setAccount', 'UA-18587377-1']);
|
|
108
|
-
_gaq.push(['_trackPageview']);
|
|
95
|
+
</script>
|
|
96
|
+
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
|
|
97
|
+
</script>
|
|
98
|
+
</section>
|
|
99
|
+
<section>
|
|
100
|
+
<nav>
|
|
101
|
+
<a href="/about/">ABOUT</a>\|<a href="/contact/">CONTACT</a>
|
|
102
|
+
</nav>
|
|
103
|
+
<p>H3RALD Web Site v8.1.2 © 2004 — 2011 <em>Fabio Cevasco</em></p>
|
|
104
|
+
</section>
|
|
105
|
+
</footer>
|
|
106
|
+
</section><!-- #container end -->
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
<!-- Start Google Analytics -->
|
|
110
|
+
<script type="text/javascript">
|
|
111
|
+
var _gaq = _gaq \|\| \[\];
|
|
112
|
+
_gaq.push(\['_setAccount', 'UA-18587377-1'\]);
|
|
113
|
+
_gaq.push(\['_trackPageview'\]);
|
|
109
114
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
</body>
|
|
115
|
+
(function() {
|
|
116
|
+
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
|
117
|
+
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|
118
|
+
var s = document.getElementsByTagName('script')\[0\]; s.parentNode.insertBefore(ga, s);
|
|
119
|
+
})();
|
|
120
|
+
</script>
|
|
121
|
+
<!-- End Google Analytics -->
|
|
122
|
+
<!-- Start of StatCounter Code -->
|
|
123
|
+
<script type="text/javascript">
|
|
124
|
+
var sc_project=6193656;
|
|
125
|
+
var sc_invisible=1;
|
|
126
|
+
var sc_security="57f7ee2a";
|
|
127
|
+
</script>
|
|
128
|
+
<script type="text/javascript" src="http://www.statcounter.com/counter/counter_xhtml.js"></script>
|
|
129
|
+
<!-- End of StatCounter Code -->
|
|
130
|
+
</body>
|
|
127
131
|
</html>
|