genit 1.0.1 → 2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/NEWS +12 -28
  2. data/README.markdown +6 -2
  3. data/Rakefile +1 -1
  4. data/TODO +177 -12
  5. data/VERSION +1 -1
  6. data/bin/genit +18 -20
  7. data/data/styles/screen.css +5 -9
  8. data/data/templates/main.html +0 -1
  9. data/lib/genit.rb +9 -4
  10. data/lib/genit/builders/body_link_builder.rb +8 -8
  11. data/lib/genit/builders/builder_base.rb +11 -11
  12. data/lib/genit/builders/head_link_builder.rb +8 -8
  13. data/lib/genit/builders/relativizer.rb +12 -12
  14. data/lib/genit/builders/script_builder.rb +7 -7
  15. data/lib/genit/documents/document_writer.rb +14 -14
  16. data/lib/genit/documents/fragment.rb +23 -22
  17. data/lib/genit/documents/xml_document.rb +5 -1
  18. data/lib/genit/project.rb +1 -0
  19. data/lib/genit/project/compiler.rb +54 -73
  20. data/lib/genit/project/page_compiler.rb +41 -41
  21. data/lib/genit/project/pages_finder.rb +6 -6
  22. data/lib/genit/project/project_creator.rb +116 -111
  23. data/lib/genit/project/root_cleaner.rb +31 -0
  24. data/lib/genit/project/rss_feed.rb +14 -14
  25. data/lib/genit/server.rb +2 -0
  26. data/lib/genit/server/server.rb +33 -0
  27. data/lib/genit/tags/class_fragment_tag.rb +2 -2
  28. data/lib/genit/tags/class_menu_tag.rb +2 -1
  29. data/lib/genit/tags/class_news_tag.rb +24 -24
  30. data/lib/genit/tags/class_pages_tag.rb +1 -1
  31. data/lib/genit/tags/here_tag.rb +22 -18
  32. data/lib/genit/utils/news_utils.rb +3 -3
  33. data/spec/class_news_tag_spec.rb +5 -5
  34. data/spec/compiler_spec.rb +51 -60
  35. data/spec/fragment_spec.rb +19 -19
  36. data/spec/html_document_spec.rb +10 -10
  37. data/spec/page_compiler_spec.rb +13 -9
  38. data/spec/pages_finder_spec.rb +11 -11
  39. data/spec/project_creator_spec.rb +53 -102
  40. data/spec/test-files/malformed.html +5 -0
  41. data/spec/xml_document_spec.rb +5 -0
  42. metadata +6 -9
  43. data/data/styles/alsa/all.css +0 -130
  44. data/data/styles/yui/all.css +0 -3
  45. data/data/styles/yui/base.css +0 -80
  46. data/data/styles/yui/fonts.css +0 -47
  47. data/data/styles/yui/reset.css +0 -126
  48. data/data/templates/xhtml_1.0_strict +0 -5
  49. data/data/templates/xhtml_1.0_transitional +0 -5
@@ -0,0 +1,5 @@
1
+ <p>
2
+ auie
3
+ bépo
4
+ <br>
5
+ </p>
@@ -14,4 +14,9 @@ describe XmlDocument do
14
14
  doc.css("ul#menu li").size.should >= 1
15
15
  end
16
16
 
17
+ it "should exit on malformed document" do
18
+ lambda do
19
+ XmlDocument.open("spec/test-files/malformed.html")
20
+ end.should raise_error(SystemExit)
21
+ end
17
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: genit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: '2.0'
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-14 00:00:00.000000000 Z
12
+ date: 2013-03-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -75,6 +75,7 @@ files:
75
75
  - lib/genit/project/rss_feed.rb
76
76
  - lib/genit/project/project_creator.rb
77
77
  - lib/genit/project/page_compiler.rb
78
+ - lib/genit/project/root_cleaner.rb
78
79
  - lib/genit/project/compiler.rb
79
80
  - lib/genit/builders/head_link_builder.rb
80
81
  - lib/genit/builders/builder.rb
@@ -94,6 +95,7 @@ files:
94
95
  - lib/genit/utils/file_writer.rb
95
96
  - lib/genit/utils/news_utils.rb
96
97
  - lib/genit/builders.rb
98
+ - lib/genit/server/server.rb
97
99
  - lib/genit/utils.rb
98
100
  - lib/genit/tags/class_menu_tag.rb
99
101
  - lib/genit/tags/class_news_tag.rb
@@ -107,21 +109,15 @@ files:
107
109
  - lib/genit/documents.rb
108
110
  - lib/genit/extensions/string_extension.rb
109
111
  - lib/genit/extensions/nokogiri_extension.rb
112
+ - lib/genit/server.rb
110
113
  - lib/genit.rb
111
114
  - bin/genit
112
- - data/templates/xhtml_1.0_strict
113
115
  - data/templates/html_5
114
- - data/templates/xhtml_1.0_transitional
115
116
  - data/templates/menu.html
116
117
  - data/templates/main.html
117
118
  - data/styles/handheld.css
118
119
  - data/styles/print.css
119
- - data/styles/alsa/all.css
120
120
  - data/styles/screen.css
121
- - data/styles/yui/reset.css
122
- - data/styles/yui/all.css
123
- - data/styles/yui/base.css
124
- - data/styles/yui/fonts.css
125
121
  - data/pages/index.html
126
122
  - data/pages/index2.html
127
123
  - spec/file_writer_spec.rb
@@ -139,6 +135,7 @@ files:
139
135
  - spec/project_creator_spec.rb
140
136
  - spec/extensions_spec.rb
141
137
  - spec/bluecloth_spec.rb
138
+ - spec/test-files/malformed.html
142
139
  - spec/test-files/fragment4.html
143
140
  - spec/test-files/fragment3.html
144
141
  - spec/test-files/test.markdown
@@ -1,130 +0,0 @@
1
- /* --- STYLES DE BASE ---
2
- *
3
- * from alsacréations:
4
- * http://www.alsacreations.com/astuce/lire/654-feuille-de-styles-de-base.html
5
- */
6
-
7
- /* Page */
8
- html {
9
- font-size: 100%; /* Évite un bug d'IE 6-7. (1) */
10
- }
11
- body {
12
- margin: 0;
13
- padding: 1em; /* Remettre à zéro si nécessaire. */
14
- /* Pensez à utiliser une collection de polices (2), par ex:
15
- font-family: Arial, Helvetica, FreeSans, sans-serif; */
16
- font-size: .8em; /* À adapter pour la police choisie. (3) */
17
- line-height: 1.4; /* À adapter au design. (4) */
18
- color: black;
19
- background: white;
20
- }
21
-
22
- /* Titres */
23
- h1, h2, h3, h4, h5, h6 {
24
- margin: 1em 0 .5em 0; /* Rapproche le titre du texte. (5) */
25
- line-height: 1.2;
26
- font-weight: bold; /* Valeur par défaut. (6) */
27
- font-style: normal;
28
- }
29
- h1 {
30
- font-size: 1.75em;
31
- }
32
- h2 {
33
- font-size: 1.5em;
34
- }
35
- h3 {
36
- font-size: 1.25em;
37
- }
38
- h4 {
39
- font-size: 1em;
40
- }
41
-
42
- /* Listes */
43
- ul, ol {
44
- margin: .75em 0 .75em 32px;
45
- padding: 0;
46
- }
47
-
48
- /* Paragraphes */
49
- p {
50
- margin: .75em 0; /* Marges plus faibles que par défaut. (7) */
51
- }
52
- address {
53
- margin: .75em 0;
54
- font-style: normal;
55
- }
56
-
57
- /* Liens */
58
- a {
59
- text-decoration: underline;
60
- }
61
- a:link {
62
- color: #11C;
63
- }
64
- a:visited {
65
- color: #339;
66
- }
67
- a:hover, a:focus, a:active {
68
- color: #00F;
69
- }
70
-
71
- /* Pas de bordure autour des images dans les liens */
72
- a img {
73
- border: none;
74
- }
75
-
76
- /* Divers éléments de type en-ligne (8) */
77
- em {
78
- font-style: italic;
79
- }
80
- strong {
81
- font-weight: bold;
82
- }
83
-
84
- /* Formulaires */
85
- form, fieldset {
86
- margin: 0;
87
- padding: 0;
88
- border: none;
89
- }
90
- input, button, select {
91
- vertical-align: middle; /* Solution pb. d'alignement. (9) */
92
- }
93
-
94
- /*
95
- * 1. Bug décrit sur la page suivante: Bug avec l’unité relative em et Internet Explorer.
96
- *
97
- * 2. Pour un choix de collections de polices (font-family, voir Quelles polices de caractères
98
- * (fontes) utiliser sur le Web?.
99
- *
100
- * 3. Ici, on utilise les styles de l'élément body pour définir la taille du texte globale pour le
101
- * site. Une police Arial ou Helvetica à .8em, soit 80% de la taille du texte par défaut du
102
- * navigateur, fournit une bonne lisibilité. Il faudra adapter cette valeur suivant la police
103
- * choisie, les besoins du design, etc.
104
- *
105
- * 4. Les valeurs 1.1 et 1.2 conviennent marchent bien pour les titres, voire pour le texte dans des
106
- * colonnes étroites. Pour des lignes de texte plus longues, on utilisera plutôt des valeurs
107
- * entre 1.2 (120%) et 1.8 (180%).
108
- *
109
- * 5. Avec les styles par défaut des navigateurs, les titres ont souvent une marge supérieure et une
110
- * marge inférieure égales. Du coup, on ne reconnait pas au premier coup d'œil que le titre se
111
- * rapporte au texte qui le suit. Le style proposé corrige ce défaut. Pour retrouver le style par
112
- * défaut des navigateurs, utilisez un margin: 1em 0;.
113
- *
114
- * 6. Dans les styles par défaut des navigateurs, les titres sont en gras. Si vous souhaitez une
115
- * graisse normale pour la plupart de vos titres, utilisez plutôt font-weight: normal.
116
- *
117
- * 7. On utilise des em afin que les marges des paragraphes soient proportionnelles à la taille du
118
- * texte, ce que ne font pas tous les navigateurs (notamment IE). On utilise une valeur de .75em,
119
- * soit des retraits entre les paragraphes un peu plus faibles que ceux utilisés par défaut par
120
- * les navigateurs. À modifier selon vos besoins.
121
- *
122
- * 8. Ces styles correspondent aux valeurs par défaut des navigateurs, mais vous voudrez peut-être
123
- * les modifier pour votre projet.
124
- *
125
- * 9. Les éléments de formulaires sont assez difficiles à mettre en forme et à positionner. De plus,
126
- * l'alignement vertical des boutons, cases à cocher et autres listes déroulantes est parfois
127
- * difficile à gérer. Vu les différences de comportement entre navigateurs, il n'y a pas de
128
- * solution parfaite, mais utiliser un alignement vertical centré dans la hauteur de ligne permet
129
- * d'avoir un rendu décent avec tous les navigateurs.
130
- */
@@ -1,3 +0,0 @@
1
- @import "reset.css";
2
- @import "base.css";
3
- @import "fonts.css";
@@ -1,80 +0,0 @@
1
- /*
2
- Copyright (c) 2010, Yahoo! Inc. All rights reserved.
3
- Code licensed under the BSD License:
4
- http://developer.yahoo.com/yui/license.html
5
- version: 3.3.0
6
- build: 3167
7
- */
8
- /* base.css, part of YUI's CSS Foundation */
9
- h1 {
10
- /*18px via YUI Fonts CSS foundation*/
11
- font-size:138.5%;
12
- }
13
- h2 {
14
- /*16px via YUI Fonts CSS foundation*/
15
- font-size:123.1%;
16
- }
17
- h3 {
18
- /*14px via YUI Fonts CSS foundation*/
19
- font-size:108%;
20
- }
21
- h1,h2,h3 {
22
- /* top & bottom margin based on font size */
23
- margin:1em 0;
24
- }
25
- h1,h2,h3,h4,h5,h6,strong {
26
- /*bringing boldness back to headers and the strong element*/
27
- font-weight:bold;
28
- }
29
- abbr,acronym {
30
- /*indicating to users that more info is available */
31
- border-bottom:1px dotted #000;
32
- cursor:help;
33
- }
34
- em {
35
- /*bringing italics back to the em element*/
36
- font-style:italic;
37
- }
38
- blockquote,ul,ol,dl {
39
- /*giving blockquotes and lists room to breath*/
40
- margin:1em;
41
- }
42
- ol,ul,dl {
43
- /*bringing lists on to the page with breathing room */
44
- margin-left:2em;
45
- }
46
- ol li {
47
- /*giving OL's LIs generated numbers*/
48
- list-style: decimal outside;
49
- }
50
- ul li {
51
- /*giving UL's LIs generated disc markers*/
52
- list-style: disc outside;
53
- }
54
- dl dd {
55
- /*providing spacing for definition terms*/
56
- margin-left:1em;
57
- }
58
- th,td {
59
- /*borders and padding to make the table readable*/
60
- border:1px solid #000;
61
- padding:.5em;
62
- }
63
- th {
64
- /*distinguishing table headers from data cells*/
65
- font-weight:bold;
66
- text-align:center;
67
- }
68
- caption {
69
- /*coordinated margin to match cell's padding*/
70
- margin-bottom:.5em;
71
- /*centered so it doesn't blend in to other content*/
72
- text-align:center;
73
- }
74
- p,fieldset,table,pre {
75
- /*so things don't run into each other*/
76
- margin-bottom:1em;
77
- }
78
- /* setting a consistent width, 160px;
79
- control of type=file still not possible */
80
- input[type=text],input[type=password],textarea{width:12.25em;*width:11.9em;}
@@ -1,47 +0,0 @@
1
- /*
2
- Copyright (c) 2010, Yahoo! Inc. All rights reserved.
3
- Code licensed under the BSD License:
4
- http://developer.yahoo.com/yui/license.html
5
- version: 3.3.0
6
- build: 3167
7
- */
8
- /**
9
- * Percents could work for IE, but for backCompat purposes, we are using keywords.
10
- * x-small is for IE6/7 quirks mode.
11
- */
12
- body {
13
- font:13px/1.231 arial,helvetica,clean,sans-serif;
14
- *font-size:small; /* for IE */
15
- *font:x-small; /* for IE in quirks mode */
16
- }
17
-
18
- /**
19
- * Nudge down to get to 13px equivalent for these form elements
20
- */
21
- select,
22
- input,
23
- button,
24
- textarea {
25
- font:99% arial,helvetica,clean,sans-serif;
26
- }
27
-
28
- /**
29
- * To help tables remember to inherit
30
- */
31
- table {
32
- font-size:inherit;
33
- font:100%;
34
- }
35
-
36
- /**
37
- * Bump up IE to get to 13px equivalent for these fixed-width elements
38
- */
39
- pre,
40
- code,
41
- kbd,
42
- samp,
43
- tt {
44
- font-family:monospace;
45
- *font-size:108%;
46
- line-height:100%;
47
- }
@@ -1,126 +0,0 @@
1
- /*
2
- Copyright (c) 2010, Yahoo! Inc. All rights reserved.
3
- Code licensed under the BSD License:
4
- http://developer.yahoo.com/yui/license.html
5
- version: 3.3.0
6
- build: 3167
7
- */
8
- /*
9
- TODO will need to remove settings on HTML since we can't namespace it.
10
- TODO with the prefix, should I group by selector or property for weight savings?
11
- */
12
- html{
13
- color:#000;
14
- background:#FFF;
15
- }
16
- /*
17
- TODO remove settings on BODY since we can't namespace it.
18
- */
19
- /*
20
- TODO test putting a class on HEAD.
21
- - Fails on FF.
22
- */
23
- body,
24
- div,
25
- dl,
26
- dt,
27
- dd,
28
- ul,
29
- ol,
30
- li,
31
- h1,
32
- h2,
33
- h3,
34
- h4,
35
- h5,
36
- h6,
37
- pre,
38
- code,
39
- form,
40
- fieldset,
41
- legend,
42
- input,
43
- textarea,
44
- p,
45
- blockquote,
46
- th,
47
- td {
48
- margin:0;
49
- padding:0;
50
- }
51
- table {
52
- border-collapse:collapse;
53
- border-spacing:0;
54
- }
55
- fieldset,
56
- img {
57
- border:0;
58
- }
59
- /*
60
- TODO think about hanlding inheritence differently, maybe letting IE6 fail a bit...
61
- */
62
- address,
63
- caption,
64
- cite,
65
- code,
66
- dfn,
67
- em,
68
- strong,
69
- th,
70
- var {
71
- font-style:normal;
72
- font-weight:normal;
73
- }
74
- /*
75
- TODO Figure out where this list-style rule is best set. Hedger has a request to investigate.
76
- */
77
- li {
78
- list-style:none;
79
- }
80
-
81
- caption,
82
- th {
83
- text-align:left;
84
- }
85
- h1,
86
- h2,
87
- h3,
88
- h4,
89
- h5,
90
- h6 {
91
- font-size:100%;
92
- font-weight:normal;
93
- }
94
- q:before,
95
- q:after {
96
- content:'';
97
- }
98
- abbr,
99
- acronym {
100
- border:0;
101
- font-variant:normal;
102
- }
103
- /* to preserve line-height and selector appearance */
104
- sup {
105
- vertical-align:text-top;
106
- }
107
- sub {
108
- vertical-align:text-bottom;
109
- }
110
- input,
111
- textarea,
112
- select {
113
- font-family:inherit;
114
- font-size:inherit;
115
- font-weight:inherit;
116
- }
117
- /*to enable resizing for IE*/
118
- input,
119
- textarea,
120
- select {
121
- *font-size:100%;
122
- }
123
- /*because legend doesn't inherit in IE */
124
- legend {
125
- color:#000;
126
- }