neruda 0.0.9 → 0.2.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 +5 -5
- data/bin/pablo +135 -238
- data/lib/neruda/config.rb +137 -0
- data/lib/neruda/config/lisp_config.rb +254 -0
- data/lib/neruda/config/org-config.el +18 -0
- data/lib/neruda/config/ox-neruda.el +114 -0
- data/lib/neruda/emacs.rb +44 -0
- data/lib/neruda/index.rb +122 -0
- data/lib/neruda/index/atom_generator.rb +86 -0
- data/lib/neruda/index/org_generator.rb +115 -0
- data/lib/neruda/org_file.rb +299 -0
- data/lib/neruda/org_file/class_methods.rb +72 -0
- data/lib/neruda/org_file/extracter.rb +72 -0
- data/lib/neruda/org_file/htmlizer.rb +53 -0
- data/lib/neruda/preview.rb +55 -0
- data/lib/neruda/templater.rb +112 -0
- data/lib/neruda/utils.rb +212 -0
- data/lib/neruda/version.rb +6 -0
- data/lib/tasks/org.rake +84 -0
- data/lib/tasks/site.rake +86 -0
- data/lib/tasks/sync.rake +34 -0
- data/lib/tasks/tags.rake +19 -0
- data/locales/en.yml +37 -0
- data/locales/fr.yml +37 -0
- data/themes/default/css/htmlize.css +346 -0
- data/themes/default/css/style.css +153 -0
- data/themes/default/img/bottom.png +0 -0
- data/themes/default/img/tic.png +0 -0
- data/themes/default/img/top.png +0 -0
- metadata +153 -43
- data/README.md +0 -98
- data/docs/Rakefile.example +0 -4
- data/docs/config.yml.example +0 -17
- data/lib/assets/chapter.slim +0 -14
- data/lib/assets/index.slim +0 -13
- data/lib/assets/layout.slim +0 -17
- data/lib/assets/style.css +0 -199
- data/lib/neruda.rb +0 -106
- data/lib/neruda/chapter.rb +0 -26
- data/lib/neruda/url.rb +0 -14
- data/lib/tasks/book.rake +0 -60
- data/lib/tasks/capistrano/chapters.rake +0 -60
- data/lib/tasks/capistrano/sinatra.rake +0 -18
- data/lib/tasks/chapters.rake +0 -132
- data/lib/tasks/sinatra.rake +0 -36
@@ -0,0 +1,153 @@
|
|
1
|
+
/*
|
2
|
+
|
3
|
+
Version 2
|
4
|
+
Dernière modification: Milouse
|
5
|
+
|
6
|
+
|
7
|
+
Umaneti.net Legacy
|
8
|
+
==================
|
9
|
+
|
10
|
+
-> pour une largeur d'écran de 800 pixels
|
11
|
+
-> cette feuille est libre de droits
|
12
|
+
|
13
|
+
*/
|
14
|
+
|
15
|
+
body {
|
16
|
+
font-size: 12pt;
|
17
|
+
color: #000000;
|
18
|
+
background: url('/assets/default/img/top.png') top repeat-x;
|
19
|
+
font-family: sans-serif;
|
20
|
+
margin-bottom: 0;
|
21
|
+
}
|
22
|
+
|
23
|
+
h1 {color: #ffba53;}
|
24
|
+
|
25
|
+
h2 {
|
26
|
+
color: #68a5c3;
|
27
|
+
margin-left: 1em;
|
28
|
+
margin-top: 1.5em;
|
29
|
+
}
|
30
|
+
h2 code {
|
31
|
+
color: #68a5c3;
|
32
|
+
}
|
33
|
+
|
34
|
+
h3 {color:#ffba53;}
|
35
|
+
|
36
|
+
a[hreflang]:after {
|
37
|
+
content: "\00a0[" attr(hreflang) "]";
|
38
|
+
color: #cccccc;
|
39
|
+
background: transparent;
|
40
|
+
}
|
41
|
+
|
42
|
+
a, a:visited {color: #666666;}
|
43
|
+
a:hover {text-decoration: none;}
|
44
|
+
|
45
|
+
img {border: 0;}
|
46
|
+
|
47
|
+
blockquote {
|
48
|
+
font-style: italic;
|
49
|
+
border-left: 4px solid #666666;
|
50
|
+
padding-left: 1em;
|
51
|
+
}
|
52
|
+
|
53
|
+
acronym {
|
54
|
+
border-bottom:dotted 1px #666666;
|
55
|
+
cursor:help;
|
56
|
+
}
|
57
|
+
|
58
|
+
code {
|
59
|
+
font-family: monospace;
|
60
|
+
color: #c74350;
|
61
|
+
}
|
62
|
+
.org-src-container pre {
|
63
|
+
overflow: auto;
|
64
|
+
}
|
65
|
+
.org-src-container label.org-src-name {
|
66
|
+
display: block;
|
67
|
+
text-align: center;
|
68
|
+
font-size: .9em;
|
69
|
+
color: #666666;
|
70
|
+
}
|
71
|
+
|
72
|
+
ul {
|
73
|
+
list-style: url('/assets/default/img/tic.png');
|
74
|
+
padding-left: 2em;
|
75
|
+
}
|
76
|
+
|
77
|
+
ol {padding-left: 2em;}
|
78
|
+
|
79
|
+
p, li {
|
80
|
+
text-align: justify;
|
81
|
+
line-height: 1.75em;
|
82
|
+
}
|
83
|
+
|
84
|
+
dt {
|
85
|
+
font-weight: bold;
|
86
|
+
}
|
87
|
+
|
88
|
+
.underline {
|
89
|
+
text-decoration: underline;
|
90
|
+
}
|
91
|
+
|
92
|
+
.org-center {
|
93
|
+
text-align: center;
|
94
|
+
}
|
95
|
+
|
96
|
+
fieldset {border: 0;}
|
97
|
+
|
98
|
+
input, textarea {
|
99
|
+
border: 1px solid #cccccc;
|
100
|
+
margin: 3px 0px;
|
101
|
+
background: #ffffff;
|
102
|
+
}
|
103
|
+
input:hover,
|
104
|
+
input:focus,
|
105
|
+
textarea:hover,
|
106
|
+
textarea:focus {
|
107
|
+
border: 1px solid #ffba53;
|
108
|
+
background: #ffffff;
|
109
|
+
}
|
110
|
+
|
111
|
+
/* ID #TOUT pour faire que la page soit centrée de 800 de large. --------------------- */
|
112
|
+
#preamble, #content, #postamble {
|
113
|
+
width: 800px;
|
114
|
+
margin: 1em auto;
|
115
|
+
padding: 1em;
|
116
|
+
}
|
117
|
+
|
118
|
+
/* Header */
|
119
|
+
|
120
|
+
#content header h1 {
|
121
|
+
text-align: right;
|
122
|
+
margin-bottom: 1.5em;
|
123
|
+
}
|
124
|
+
|
125
|
+
#preamble nav ul {
|
126
|
+
list-style: none;
|
127
|
+
padding-left: 0;
|
128
|
+
}
|
129
|
+
#preamble li {
|
130
|
+
display: inline;
|
131
|
+
line-height: 1em;
|
132
|
+
}
|
133
|
+
#preamble li::before {
|
134
|
+
content: " · ";
|
135
|
+
}
|
136
|
+
#preamble li:first-child::before {
|
137
|
+
content: "";
|
138
|
+
}
|
139
|
+
|
140
|
+
/* Footer */
|
141
|
+
|
142
|
+
#postamble {
|
143
|
+
background: url('/assets/default/img/bottom.png') top repeat-x;
|
144
|
+
border-top: 1px solid #cccccc;
|
145
|
+
font-size: .8em;
|
146
|
+
text-align: center;
|
147
|
+
margin-bottom: 0;
|
148
|
+
}
|
149
|
+
|
150
|
+
.post-meta {
|
151
|
+
font-size: .9em;
|
152
|
+
font-style: italic;
|
153
|
+
}
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,45 +1,45 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neruda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Étienne Deparis
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-10-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: nokogiri
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1.10'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '1.10'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: r18n-core
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0
|
33
|
+
version: '4.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0
|
40
|
+
version: '4.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: rainbow
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
@@ -53,83 +53,193 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '13.0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '13.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: byebug
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
76
|
-
type: :
|
75
|
+
version: '11.1'
|
76
|
+
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '11.1'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: org-ruby
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.9'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.9'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.13'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.13'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: pry-doc
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '1.1'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '1.1'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rspec
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '3.9'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '3.9'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rubocop
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0.90'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0.90'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: simplecov
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0.19'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0.19'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: yard
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0.9'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0.9'
|
83
181
|
description: |
|
84
|
-
|
85
|
-
Write your org files, we take care of the rest.
|
182
|
+
An opinionated Org static website generator.
|
183
|
+
Write your org-mode files, we take care of the rest.
|
86
184
|
email: etienne@depar.is
|
87
185
|
executables:
|
88
186
|
- pablo
|
89
187
|
extensions: []
|
90
188
|
extra_rdoc_files:
|
91
|
-
- README.md
|
92
189
|
- LICENSE
|
93
190
|
files:
|
94
191
|
- LICENSE
|
95
|
-
- README.md
|
96
192
|
- bin/pablo
|
97
|
-
-
|
98
|
-
-
|
99
|
-
- lib/
|
100
|
-
- lib/
|
101
|
-
- lib/
|
102
|
-
- lib/
|
103
|
-
- lib/neruda.rb
|
104
|
-
- lib/neruda/
|
105
|
-
- lib/neruda/
|
106
|
-
- lib/
|
107
|
-
- lib/
|
108
|
-
- lib/
|
109
|
-
- lib/
|
110
|
-
- lib/
|
111
|
-
|
193
|
+
- lib/neruda/config.rb
|
194
|
+
- lib/neruda/config/lisp_config.rb
|
195
|
+
- lib/neruda/config/org-config.el
|
196
|
+
- lib/neruda/config/ox-neruda.el
|
197
|
+
- lib/neruda/emacs.rb
|
198
|
+
- lib/neruda/index.rb
|
199
|
+
- lib/neruda/index/atom_generator.rb
|
200
|
+
- lib/neruda/index/org_generator.rb
|
201
|
+
- lib/neruda/org_file.rb
|
202
|
+
- lib/neruda/org_file/class_methods.rb
|
203
|
+
- lib/neruda/org_file/extracter.rb
|
204
|
+
- lib/neruda/org_file/htmlizer.rb
|
205
|
+
- lib/neruda/preview.rb
|
206
|
+
- lib/neruda/templater.rb
|
207
|
+
- lib/neruda/utils.rb
|
208
|
+
- lib/neruda/version.rb
|
209
|
+
- lib/tasks/org.rake
|
210
|
+
- lib/tasks/site.rake
|
211
|
+
- lib/tasks/sync.rake
|
212
|
+
- lib/tasks/tags.rake
|
213
|
+
- locales/en.yml
|
214
|
+
- locales/fr.yml
|
215
|
+
- themes/default/css/htmlize.css
|
216
|
+
- themes/default/css/style.css
|
217
|
+
- themes/default/img/bottom.png
|
218
|
+
- themes/default/img/tic.png
|
219
|
+
- themes/default/img/top.png
|
220
|
+
homepage: https://git.umaneti.net/neruda/about/
|
112
221
|
licenses:
|
113
222
|
- WTFPL
|
114
223
|
metadata: {}
|
115
|
-
post_install_message:
|
116
|
-
rdoc_options:
|
224
|
+
post_install_message:
|
225
|
+
rdoc_options:
|
226
|
+
- "-m"
|
227
|
+
- org
|
117
228
|
require_paths:
|
118
229
|
- lib
|
119
230
|
required_ruby_version: !ruby/object:Gem::Requirement
|
120
231
|
requirements:
|
121
232
|
- - ">="
|
122
233
|
- !ruby/object:Gem::Version
|
123
|
-
version: '2.
|
234
|
+
version: '2.6'
|
124
235
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
125
236
|
requirements:
|
126
237
|
- - ">="
|
127
238
|
- !ruby/object:Gem::Version
|
128
239
|
version: '0'
|
129
240
|
requirements: []
|
130
|
-
|
131
|
-
|
132
|
-
signing_key:
|
241
|
+
rubygems_version: 3.1.4
|
242
|
+
signing_key:
|
133
243
|
specification_version: 4
|
134
|
-
summary: A simplistic way to
|
244
|
+
summary: A simplistic way to create an Org static website.
|
135
245
|
test_files: []
|
data/README.md
DELETED
@@ -1,98 +0,0 @@
|
|
1
|
-

|
2
|
-
|
3
|
-
**Neruda** is a little [Sinatra](http://sinatrarb.com) app, which aims to offer a quick access for writers to web publication. It is named in memory of Pablo Neruda.
|
4
|
-
|
5
|
-
Source code is available on my [cgit instance](https://git.deparis.io/neruda), while issues should be followed on my [redmine instance](https://projects.deparis.io/projects/neruda).
|
6
|
-
|
7
|
-
Install
|
8
|
-
=======
|
9
|
-
|
10
|
-
These installation instructions use [rvm](https://rvm.io) as ruby provider. If you want to use rbenv or your system ruby, please refer to their specific documentation to know how to install ruby 2.4.
|
11
|
-
|
12
|
-
First we need to upgrade rvm (always do that from time to time):
|
13
|
-
|
14
|
-
``` bash
|
15
|
-
$ rvm get latest
|
16
|
-
$ rvm install ruby-2.4.1
|
17
|
-
```
|
18
|
-
|
19
|
-
Then the installation itself:
|
20
|
-
|
21
|
-
``` bash
|
22
|
-
$ mkdir mysite
|
23
|
-
$ rvm use ruby-2.4.1@neruda --create
|
24
|
-
$ gem install neruda
|
25
|
-
```
|
26
|
-
|
27
|
-
Finally, you need to configure it to your needs.
|
28
|
-
|
29
|
-
``` bash
|
30
|
-
$ pablo setup
|
31
|
-
```
|
32
|
-
|
33
|
-
Running it
|
34
|
-
==========
|
35
|
-
|
36
|
-
For testing it, you should just run:
|
37
|
-
|
38
|
-
``` bash
|
39
|
-
$ pablo start
|
40
|
-
```
|
41
|
-
|
42
|
-
For production use, just pass the right environnement variable:
|
43
|
-
|
44
|
-
``` bash
|
45
|
-
$ APP_ENV=production pablo start
|
46
|
-
```
|
47
|
-
|
48
|
-
To stop it, just enter `ctrl+C` if you are in development mode or enter `pablo stop` in production mode.
|
49
|
-
|
50
|
-
Pablo command
|
51
|
-
=============
|
52
|
-
|
53
|
-
In order to manage you Neruda installation, this gem provides a little helper called `pablo`. You already used it to `setup`, `start` and `stop` your local installation. It can do a little more.
|
54
|
-
|
55
|
-
New
|
56
|
-
---
|
57
|
-
|
58
|
-
`pablo new [article title]` will open your favorite text editor to let you write a new chapter to your book.
|
59
|
-
|
60
|
-
If you don't provide a title to the command, `pablo` will ask you for one before launching your editor.
|
61
|
-
|
62
|
-
If you don't have configured the `EDITOR` or `VISUAL` environnement variable, `pablo` will default to Gnu Emacs.
|
63
|
-
|
64
|
-
Compile
|
65
|
-
-------
|
66
|
-
|
67
|
-
`pablo compile` will first convert your orphaned org files (the ones without a corresponding epub file), then producing the global epub book, made with all your chapters.
|
68
|
-
|
69
|
-
Capify
|
70
|
-
------
|
71
|
-
|
72
|
-
`pablo capify` will add the correct references to Neruda rake tasks in your `Capfile`, what will allow you to call them as part of your deployment workflow.
|
73
|
-
|
74
|
-
You can add the `chapters:sync` task:
|
75
|
-
|
76
|
-
``` ruby
|
77
|
-
after 'deploy:finishing', 'chapters:sync'
|
78
|
-
```
|
79
|
-
|
80
|
-
This task depends on all the following. Or you can just select a bunch of them:
|
81
|
-
|
82
|
-
``` ruby
|
83
|
-
after 'deploy:finishing', 'chapters:build_epubs'
|
84
|
-
after 'deploy:finishing', 'chapters:upload_epubs'
|
85
|
-
after 'deploy:finishing', 'chapters:upload_book'
|
86
|
-
after 'deploy:finishing', 'chapters:purge:remote'
|
87
|
-
```
|
88
|
-
|
89
|
-
Don't forget to restart the remote sinatra server:
|
90
|
-
|
91
|
-
``` ruby
|
92
|
-
after 'deploy:finished', 'sinatra:restart:remote'
|
93
|
-
```
|
94
|
-
|
95
|
-
Known issues
|
96
|
-
============
|
97
|
-
|
98
|
-
See [issues on redmine](https://projects.deparis.io/projects/neruda/issues).
|