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.
Files changed (45) hide show
  1. checksums.yaml +5 -5
  2. data/bin/pablo +135 -238
  3. data/lib/neruda/config.rb +137 -0
  4. data/lib/neruda/config/lisp_config.rb +254 -0
  5. data/lib/neruda/config/org-config.el +18 -0
  6. data/lib/neruda/config/ox-neruda.el +114 -0
  7. data/lib/neruda/emacs.rb +44 -0
  8. data/lib/neruda/index.rb +122 -0
  9. data/lib/neruda/index/atom_generator.rb +86 -0
  10. data/lib/neruda/index/org_generator.rb +115 -0
  11. data/lib/neruda/org_file.rb +299 -0
  12. data/lib/neruda/org_file/class_methods.rb +72 -0
  13. data/lib/neruda/org_file/extracter.rb +72 -0
  14. data/lib/neruda/org_file/htmlizer.rb +53 -0
  15. data/lib/neruda/preview.rb +55 -0
  16. data/lib/neruda/templater.rb +112 -0
  17. data/lib/neruda/utils.rb +212 -0
  18. data/lib/neruda/version.rb +6 -0
  19. data/lib/tasks/org.rake +84 -0
  20. data/lib/tasks/site.rake +86 -0
  21. data/lib/tasks/sync.rake +34 -0
  22. data/lib/tasks/tags.rake +19 -0
  23. data/locales/en.yml +37 -0
  24. data/locales/fr.yml +37 -0
  25. data/themes/default/css/htmlize.css +346 -0
  26. data/themes/default/css/style.css +153 -0
  27. data/themes/default/img/bottom.png +0 -0
  28. data/themes/default/img/tic.png +0 -0
  29. data/themes/default/img/top.png +0 -0
  30. metadata +153 -43
  31. data/README.md +0 -98
  32. data/docs/Rakefile.example +0 -4
  33. data/docs/config.yml.example +0 -17
  34. data/lib/assets/chapter.slim +0 -14
  35. data/lib/assets/index.slim +0 -13
  36. data/lib/assets/layout.slim +0 -17
  37. data/lib/assets/style.css +0 -199
  38. data/lib/neruda.rb +0 -106
  39. data/lib/neruda/chapter.rb +0 -26
  40. data/lib/neruda/url.rb +0 -14
  41. data/lib/tasks/book.rake +0 -60
  42. data/lib/tasks/capistrano/chapters.rake +0 -60
  43. data/lib/tasks/capistrano/sinatra.rake +0 -18
  44. data/lib/tasks/chapters.rake +0 -132
  45. 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
+ }
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.9
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: 2017-09-27 00:00:00.000000000 Z
11
+ date: 2020-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rainbow
14
+ name: nokogiri
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.2'
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: '2.2'
26
+ version: '1.10'
27
27
  - !ruby/object:Gem::Dependency
28
- name: org-ruby
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.9'
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.9'
40
+ version: '4.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: slim
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: thin
56
+ name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.7'
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: '1.7'
68
+ version: '13.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: sinatra
70
+ name: byebug
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.0'
76
- type: :runtime
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: '2.0'
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
- A simplistic way to publish a book online.
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
- - docs/Rakefile.example
98
- - docs/config.yml.example
99
- - lib/assets/chapter.slim
100
- - lib/assets/index.slim
101
- - lib/assets/layout.slim
102
- - lib/assets/style.css
103
- - lib/neruda.rb
104
- - lib/neruda/chapter.rb
105
- - lib/neruda/url.rb
106
- - lib/tasks/book.rake
107
- - lib/tasks/capistrano/chapters.rake
108
- - lib/tasks/capistrano/sinatra.rake
109
- - lib/tasks/chapters.rake
110
- - lib/tasks/sinatra.rake
111
- homepage: https://git.deparis.io/neruda/about/
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.4'
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
- rubyforge_project:
131
- rubygems_version: 2.6.12
132
- signing_key:
241
+ rubygems_version: 3.1.4
242
+ signing_key:
133
243
  specification_version: 4
134
- summary: A simplistic way to publish a book online.
244
+ summary: A simplistic way to create an Org static website.
135
245
  test_files: []
data/README.md DELETED
@@ -1,98 +0,0 @@
1
- ![](https://badge.fury.io/rb/neruda.svg)
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).