neruda 0.2.0 → 0.2.2
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 +4 -4
- data/bin/pablo +8 -4
- data/lib/neruda/config/lisp_config.rb +28 -20
- data/lib/neruda/config/org-config.el +1 -2
- data/lib/neruda/index/org_generator.rb +1 -2
- data/lib/neruda/org_file/class_methods.rb +5 -5
- data/lib/neruda/org_file/htmlizer.rb +1 -2
- data/lib/neruda/preview.rb +2 -2
- data/lib/neruda/utils.rb +12 -9
- data/lib/neruda/version.rb +1 -1
- data/lib/tasks/org.rake +27 -20
- data/lib/tasks/site.rake +3 -2
- metadata +32 -9
- data/themes/default/css/htmlize.css +0 -346
- data/themes/default/css/style.css +0 -153
- data/themes/default/img/bottom.png +0 -0
- data/themes/default/img/tic.png +0 -0
- data/themes/default/img/top.png +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65d74457beb2f9469147295e9edd1f0f2ba9bc307b0adf5c7945cad322be5dd1
|
4
|
+
data.tar.gz: 7327285f32dc4cf51cf60d08afcb4e1e170654a0d173dd2c802d45be7b979f94
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a4317715347eff92a1ba934234d05612901a2b90c74827a5c8feed173be1d5ca390f0a19cc56bf8c7c854753fd7a03b1a08b7347c4447e714d632f847652d95
|
7
|
+
data.tar.gz: c898c9c6128405a60b4f0f9c6402fa23a1a3b221175b6296065b93d1dd6c20f8b45c3fa51c238c549cfc454615d7161fe10eb73ff692a1b35a55f8c17f7c94f4
|
data/bin/pablo
CHANGED
@@ -27,11 +27,15 @@ module PabloCommands
|
|
27
27
|
|
28
28
|
def pablo_build(file = ARGV[0])
|
29
29
|
@rake.options.build_all = true
|
30
|
-
if
|
31
|
-
|
32
|
-
|
33
|
-
|
30
|
+
# Update org-config.el, if necessary
|
31
|
+
@rake.invoke_task('org-config.el')
|
32
|
+
suffix = ''
|
33
|
+
if !file.nil?
|
34
|
+
suffix = ":one[#{file}]"
|
35
|
+
elsif @options[:force]
|
36
|
+
suffix = '[true]'
|
34
37
|
end
|
38
|
+
@rake.invoke_task("site:build#{suffix}")
|
35
39
|
end
|
36
40
|
|
37
41
|
def pablo_preview
|
@@ -93,9 +93,15 @@ module Neruda
|
|
93
93
|
names = projects.keys.map do |p|
|
94
94
|
["\"#{p}\"", "\"#{p}-assets\""]
|
95
95
|
end.flatten
|
96
|
-
|
96
|
+
unless settings['theme'] == 'default'
|
97
|
+
names << "\"theme-#{settings['theme']}\""
|
98
|
+
end
|
97
99
|
sources.each do |s|
|
100
|
+
# Default theme defined in settings is already included
|
98
101
|
next unless s['theme'] && s['theme'] != settings['theme']
|
102
|
+
# Never include theme named 'default' as it does not rely on any
|
103
|
+
# file to export.
|
104
|
+
next if s['theme'] == 'default'
|
99
105
|
theme = "\"theme-#{s['theme']}\""
|
100
106
|
next if names.include? theme
|
101
107
|
names << theme
|
@@ -131,7 +137,7 @@ module Neruda
|
|
131
137
|
other_lines << format(':exclude "%<value>s"',
|
132
138
|
value: opts['exclude'])
|
133
139
|
end
|
134
|
-
themeconf = org_theme_config(opts['theme'])
|
140
|
+
themeconf = org_theme_config(opts['theme'])
|
135
141
|
<<~ORGPROJECT
|
136
142
|
("#{project_name}"
|
137
143
|
:base-directory "#{opts['path']}"
|
@@ -171,10 +177,17 @@ module Neruda
|
|
171
177
|
HTMLHEAD
|
172
178
|
end
|
173
179
|
|
174
|
-
def org_default_html_options
|
180
|
+
def org_default_html_options(project)
|
181
|
+
curtheme = project['theme'] || settings['theme']
|
182
|
+
if curtheme.nil? || curtheme == 'default'
|
183
|
+
return { 'html-head' => '__ATOM_FEED__',
|
184
|
+
'html-postamble' => org_default_postamble,
|
185
|
+
'html-head-include-default-style' => 't',
|
186
|
+
'html-head-include-scripts' => 't' }
|
187
|
+
end
|
175
188
|
{ 'html-head' => org_default_html_head,
|
176
189
|
'html-postamble' => org_default_postamble,
|
177
|
-
'html-head-include-default-style' => '
|
190
|
+
'html-head-include-default-style' => 'nil',
|
178
191
|
'html-head-include-scripts' => 'nil' }
|
179
192
|
end
|
180
193
|
|
@@ -192,14 +205,15 @@ module Neruda
|
|
192
205
|
end
|
193
206
|
|
194
207
|
def build_project_org_headers(project)
|
195
|
-
orgtplopts = org_default_html_options.merge(
|
208
|
+
orgtplopts = org_default_html_options(project).merge(
|
196
209
|
settings['org-html'] || {}, project['org-html'] || {}
|
197
210
|
)
|
198
211
|
orgtpl = []
|
212
|
+
truthy_val = ['t', 'nil', '1'].freeze
|
199
213
|
orgtplopts.each do |k, v|
|
200
214
|
v = expand_vars_in_html_head(v, project) if k == 'html-head'
|
201
215
|
val = v.strip.gsub(/"/, '\"')
|
202
|
-
if
|
216
|
+
if truthy_val.include? val
|
203
217
|
orgtpl << ":#{k} #{val}"
|
204
218
|
else
|
205
219
|
orgtpl << ":#{k} \"#{val}\""
|
@@ -224,26 +238,20 @@ module Neruda
|
|
224
238
|
end
|
225
239
|
|
226
240
|
def org_default_theme_config
|
227
|
-
org_theme_config(settings['theme'])
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
end.join("\n")
|
241
|
+
theme_config = org_theme_config(settings['theme'])
|
242
|
+
return theme_config if theme_config == ''
|
243
|
+
output = theme_config.split("\n").map do |line|
|
244
|
+
" #{line}"
|
245
|
+
end
|
246
|
+
format("\n%<conf>s", conf: output.join("\n"))
|
234
247
|
end
|
235
248
|
|
236
249
|
def org_theme_config(theme)
|
237
|
-
return
|
250
|
+
return '' if theme.nil? || theme == 'default'
|
238
251
|
workdir = Dir.pwd
|
239
|
-
if theme == 'default'
|
240
|
-
sourcedir = File.expand_path('../../../', __dir__)
|
241
|
-
else
|
242
|
-
sourcedir = workdir
|
243
|
-
end
|
244
252
|
<<~THEMECONFIG
|
245
253
|
("theme-#{theme}"
|
246
|
-
:base-directory "#{
|
254
|
+
:base-directory "#{workdir}/themes/#{theme}"
|
247
255
|
:base-extension "jpg\\\\\\|gif\\\\\\|png\\\\\\|js\\\\\\|css\\\\\\|otf\\\\\\|ttf\\\\\\|woff2?"
|
248
256
|
:recursive t
|
249
257
|
:publishing-directory "#{workdir}/#{settings['public_folder']}/assets/#{theme}"
|
@@ -10,8 +10,7 @@
|
|
10
10
|
user-full-name "__AUTHOR_NAME__"
|
11
11
|
org-html-metadata-timestamp-format "__LONG_DATE_FMT__"
|
12
12
|
org-publish-project-alist
|
13
|
-
`(
|
14
|
-
__THEME_CONFIG__
|
13
|
+
`(__ALL_PROJECTS____THEME_CONFIG__
|
15
14
|
("website" :components (__ALL_PROJECTS_NAMES__))))
|
16
15
|
|
17
16
|
;; Load neruda lib
|
@@ -69,12 +69,11 @@ module Neruda
|
|
69
69
|
elsif title.nil? || title == 'index'
|
70
70
|
title = Neruda::Config.settings['title']
|
71
71
|
end
|
72
|
-
|
72
|
+
<<~HEADER.strip
|
73
73
|
#+title: #{title}
|
74
74
|
#+author: #{Neruda::Config.settings['author']}
|
75
75
|
#+language: #{Neruda::Config.settings['lang']}
|
76
76
|
HEADER
|
77
|
-
head.strip
|
78
77
|
end
|
79
78
|
|
80
79
|
def org_articles(articles_list)
|
@@ -5,7 +5,7 @@ module Neruda
|
|
5
5
|
module OrgFileClassMethods
|
6
6
|
def source_for_target(file_name)
|
7
7
|
# file_name may be frozen...
|
8
|
-
src = file_name.sub(/\.html
|
8
|
+
src = file_name.sub(/\.html\z/, '.org')
|
9
9
|
pubfolder = Neruda::Config.settings['public_folder']
|
10
10
|
src.sub!(/^#{pubfolder}\//, '')
|
11
11
|
# Look for match in each possible sources. The first found wins.
|
@@ -25,7 +25,7 @@ module Neruda
|
|
25
25
|
def target_for_source(file_name, project, with_public_folder: true)
|
26
26
|
return nil if file_name.nil?
|
27
27
|
# file_name may be frozen...
|
28
|
-
target = file_name.sub(/\.org
|
28
|
+
target = file_name.sub(/\.org\z/, '.html').sub(/^#{Dir.pwd}\//, '')
|
29
29
|
if project.nil?
|
30
30
|
subfolder = File.basename(File.dirname(target))
|
31
31
|
target = File.basename(target)
|
@@ -44,15 +44,15 @@ module Neruda
|
|
44
44
|
# Look for match in each possible sources. The first found wins.
|
45
45
|
Neruda::Config.sources.each do |project|
|
46
46
|
project_relative_path = project['path'].sub(/^#{Dir.pwd}\//, '')
|
47
|
-
return project if file_name
|
47
|
+
return project if file_name.match?(/^#{project_relative_path}\//)
|
48
48
|
end
|
49
49
|
nil
|
50
50
|
end
|
51
51
|
|
52
52
|
def slug(title)
|
53
|
-
title.downcase.
|
53
|
+
title.downcase.tr(' ', '-')
|
54
54
|
.encode('ascii', fallback: ->(k) { translit(k) })
|
55
|
-
.gsub(/[^\w-]/, '').
|
55
|
+
.gsub(/[^\w-]/, '').delete_suffix('-')
|
56
56
|
end
|
57
57
|
|
58
58
|
private
|
@@ -7,8 +7,7 @@ module Neruda
|
|
7
7
|
# This module holds HTML formatter methods for the {Neruda::OrgFile}
|
8
8
|
# class.
|
9
9
|
module OrgFileHtmlizer
|
10
|
-
# Publish the current file
|
11
|
-
# {Neruda::OrgFile#file @file} is ~nil~.
|
10
|
+
# Publish the current file
|
12
11
|
#
|
13
12
|
# @return [Boolean, nil] the underlying ~system~ method return value
|
14
13
|
def publish
|
data/lib/neruda/preview.rb
CHANGED
@@ -20,7 +20,7 @@ module Neruda # rubocop:disable Style/Documentation
|
|
20
20
|
|
21
21
|
def local_path(requested_path)
|
22
22
|
routes = Neruda::Config.settings.dig('preview', 'routes') || {}
|
23
|
-
return routes[requested_path] if routes.
|
23
|
+
return routes[requested_path] if routes.has_key? requested_path
|
24
24
|
local_path = Neruda::Config.settings['public_folder'] + requested_path
|
25
25
|
if File.directory? local_path
|
26
26
|
local_path = format(
|
@@ -33,7 +33,7 @@ module Neruda # rubocop:disable Style/Documentation
|
|
33
33
|
|
34
34
|
def parse_body(local_path, local_host)
|
35
35
|
body = IO.read local_path
|
36
|
-
return body unless local_path.match?(/\.(?:ht|x)ml
|
36
|
+
return body unless local_path.match?(/\.(?:ht|x)ml\z/)
|
37
37
|
domain = Neruda::Config.settings['domain']
|
38
38
|
return body if domain == ''
|
39
39
|
body.gsub(/"file:\/\//, format('"%<host>s', host: local_host))
|
data/lib/neruda/utils.rb
CHANGED
@@ -26,24 +26,25 @@ module Neruda
|
|
26
26
|
# configuration
|
27
27
|
PABLO_OPTIONS = {
|
28
28
|
'-a' => { long: 'author' },
|
29
|
+
'-d' => { long: 'directory', boolean: true },
|
30
|
+
'-f' => { long: 'force', boolean: true },
|
31
|
+
'-h' => { long: 'help', boolean: true, meth: :on_tail },
|
29
32
|
'-l' => { long: 'lang', keyword: 'LOCALE' },
|
30
|
-
'-t' => { long: 'title' },
|
31
33
|
'-p' => { long: 'path' },
|
32
|
-
'-
|
34
|
+
'-t' => { long: 'title' },
|
33
35
|
'-v' => { long: 'verbose', boolean: true, meth: :on_tail },
|
34
|
-
'-h' => { long: 'help', boolean: true, meth: :on_tail },
|
35
36
|
'-V' => { long: 'version', boolean: true, meth: :on_tail }
|
36
37
|
}.freeze
|
37
38
|
|
38
39
|
# @return [Hash] the possible ~pablo~ subcommands and their
|
39
40
|
# configuration
|
40
41
|
PABLO_COMMANDS = {
|
41
|
-
'init' => { opts: ['-a', '-
|
42
|
+
'init' => { opts: ['-a', '-h', '-l', '-t', '-v'] },
|
42
43
|
'config' => { alias: 'init' },
|
43
44
|
'preview' => { opts: ['-h'] },
|
44
|
-
'open' => { opts: ['-a', '-
|
45
|
+
'open' => { opts: ['-a', '-d', '-h', '-l', '-p', '-t', '-v'] },
|
45
46
|
'edit' => { alias: 'open' },
|
46
|
-
'build' => { opts: ['-h'] },
|
47
|
+
'build' => { opts: ['-f', '-h'] },
|
47
48
|
'publish' => { opts: ['-h'] },
|
48
49
|
'help' => { opts: ['-h'] },
|
49
50
|
'basic' => { opts: ['-h', '-V'], label: '<command>' }
|
@@ -150,10 +151,10 @@ module Neruda
|
|
150
151
|
# @return [String] either apple, windows or linux (default)
|
151
152
|
# :nocov:
|
152
153
|
def current_os
|
153
|
-
if ENV['OS'] == 'Windows_NT' || RUBY_PLATFORM
|
154
|
+
if ENV['OS'] == 'Windows_NT' || RUBY_PLATFORM.include?('cygwin')
|
154
155
|
return 'windows'
|
155
156
|
end
|
156
|
-
return 'apple' if RUBY_PLATFORM
|
157
|
+
return 'apple' if RUBY_PLATFORM.include?('darwin')
|
157
158
|
'linux'
|
158
159
|
end
|
159
160
|
# :nocov:
|
@@ -166,7 +167,9 @@ module Neruda
|
|
166
167
|
return if Neruda::Config.org_last_version.nil?
|
167
168
|
# :nocov:
|
168
169
|
tarball = "org-#{Neruda::Config.org_last_version}.tar.gz"
|
169
|
-
|
170
|
+
# Remove version number in dest file to allow easy rake file
|
171
|
+
# task naming
|
172
|
+
dest_file = 'tmp/org.tar.gz'
|
170
173
|
return if File.exist?(dest_file)
|
171
174
|
uri = URI("https://orgmode.org/#{tarball}")
|
172
175
|
# Will crash on purpose if anything goes wrong
|
data/lib/neruda/version.rb
CHANGED
data/lib/tasks/org.rake
CHANGED
@@ -5,9 +5,16 @@ require 'open-uri'
|
|
5
5
|
# Neruda::Config is required by Neruda::Utils
|
6
6
|
require 'neruda/utils'
|
7
7
|
|
8
|
+
require 'rake/clean'
|
9
|
+
|
10
|
+
CLOBBER.push(
|
11
|
+
'tmp/org.tar.gz', 'tmp/__last_org_version__',
|
12
|
+
'org-config.el', '.dir-locals.el', 'htmlize.el'
|
13
|
+
)
|
14
|
+
|
8
15
|
namespace :org do
|
9
16
|
desc 'Download last version of Org'
|
10
|
-
|
17
|
+
file 'tmp/org.tar.gz' do
|
11
18
|
verbose = Rake::FileUtilsExt.verbose_flag
|
12
19
|
download = Thread.new do
|
13
20
|
Thread.current[:org_version] = Neruda::Config.org_last_version
|
@@ -22,7 +29,7 @@ namespace :org do
|
|
22
29
|
end
|
23
30
|
|
24
31
|
desc 'Compile Org'
|
25
|
-
task compile:
|
32
|
+
task compile: 'tmp/org.tar.gz' do |task|
|
26
33
|
verbose = Rake::FileUtilsExt.verbose_flag
|
27
34
|
org_version = "org-#{Neruda::Config.org_last_version}"
|
28
35
|
next if Dir.exist?("#{org_version}/lisp")
|
@@ -32,9 +39,7 @@ namespace :org do
|
|
32
39
|
make << 'EMACSQ="emacs -Q --eval \'(setq inhibit-message t)\'"'
|
33
40
|
end
|
34
41
|
build = Thread.new do
|
35
|
-
|
36
|
-
sh "tar xzf #{tarball}"
|
37
|
-
File.unlink tarball
|
42
|
+
sh "tar xzf #{task.prerequisites[0]}"
|
38
43
|
sh((make + ['compile']).join(' '))
|
39
44
|
sh((make + ['autoloads']).join(' '))
|
40
45
|
Dir.glob('org-[0-9.]*').each do |ov|
|
@@ -51,19 +56,10 @@ namespace :org do
|
|
51
56
|
end
|
52
57
|
|
53
58
|
file 'htmlize.el' do
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
).open.read
|
59
|
-
IO.write 'htmlize.el', htmlize
|
60
|
-
end
|
61
|
-
if verbose
|
62
|
-
build.join
|
63
|
-
warn 'htmlize.el has been locally installed'
|
64
|
-
else
|
65
|
-
Neruda::Utils.throbber(build, 'Installing htmlize.el:')
|
66
|
-
end
|
59
|
+
htmlize = URI(
|
60
|
+
'https://raw.githubusercontent.com/hniksic/emacs-htmlize/master/htmlize.el'
|
61
|
+
).open.read
|
62
|
+
IO.write 'htmlize.el', htmlize
|
67
63
|
end
|
68
64
|
|
69
65
|
file 'org-config.el' => 'htmlize.el' do
|
@@ -74,11 +70,22 @@ namespace :org do
|
|
74
70
|
Neruda::Config.write_dir_locals
|
75
71
|
end
|
76
72
|
|
77
|
-
desc 'Install
|
78
|
-
|
73
|
+
desc 'Install Org'
|
74
|
+
multitask install: ['org:compile', 'org-config.el', '.dir-locals.el'] do
|
79
75
|
mkdir_p "#{Neruda::Config.settings['public_folder']}/assets"
|
80
76
|
Neruda::Config.sources.each do |s|
|
81
77
|
mkdir_p s['path'] unless Dir.exist? s['path']
|
82
78
|
end
|
83
79
|
end
|
80
|
+
|
81
|
+
# The following task only run the clobber task (not provided by us)
|
82
|
+
# and the org:install one, which is already tested. Thus, we can
|
83
|
+
# safely remove it from coverage.
|
84
|
+
# :nocov:
|
85
|
+
desc 'Upgrade Org'
|
86
|
+
task :upgrade do
|
87
|
+
Rake::Task['clobber'].execute
|
88
|
+
Rake::Task['org:install'].invoke
|
89
|
+
end
|
90
|
+
# :nocov:
|
84
91
|
end
|
data/lib/tasks/site.rake
CHANGED
@@ -24,10 +24,11 @@ namespace :site do
|
|
24
24
|
end
|
25
25
|
|
26
26
|
desc 'Convert all org files'
|
27
|
-
task build: :index do
|
27
|
+
task :build, [:force?] => [:index] do |_, args|
|
28
|
+
args.with_defaults(:force? => false)
|
28
29
|
build_html = Thread.new do
|
30
|
+
rm_r 'tmp/timestamps', force: true if args[:force?]
|
29
31
|
Neruda::Emacs.new(verbose: Rake::FileUtilsExt.verbose_flag).publish
|
30
|
-
# TODO: Find a way to publish the virtual tag project
|
31
32
|
end
|
32
33
|
begin
|
33
34
|
Neruda::Utils.throbber(build_html, 'Building:')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neruda
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Étienne Deparis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-10-
|
11
|
+
date: 2020-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -142,14 +142,42 @@ dependencies:
|
|
142
142
|
requirements:
|
143
143
|
- - "~>"
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '0.
|
145
|
+
version: '0.93'
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - "~>"
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: '0.
|
152
|
+
version: '0.93'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rubocop-performance
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '1.8'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '1.8'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: rubocop-rspec
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '1.43'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '1.43'
|
153
181
|
- !ruby/object:Gem::Dependency
|
154
182
|
name: simplecov
|
155
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -212,11 +240,6 @@ files:
|
|
212
240
|
- lib/tasks/tags.rake
|
213
241
|
- locales/en.yml
|
214
242
|
- 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
243
|
homepage: https://git.umaneti.net/neruda/about/
|
221
244
|
licenses:
|
222
245
|
- WTFPL
|
@@ -1,346 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* This file has been generated with the `org-html-htmlize-generate-css'
|
3
|
-
* command of org mode, with the Dracula theme enabled.
|
4
|
-
* The Dracula theme is released under an MIT license and thus the
|
5
|
-
* following is also released under this license.
|
6
|
-
* See https://github.com/dracula/emacs for details.
|
7
|
-
*/
|
8
|
-
|
9
|
-
.src {
|
10
|
-
color: #f8f8f2;
|
11
|
-
background-color: #282a36;
|
12
|
-
padding: .6em 1em;
|
13
|
-
}
|
14
|
-
pre.src a:hover {
|
15
|
-
text-decoration: underline;
|
16
|
-
}
|
17
|
-
|
18
|
-
.org-bold {
|
19
|
-
/* bold */
|
20
|
-
font-weight: bold;
|
21
|
-
}
|
22
|
-
.org-bold-italic {
|
23
|
-
/* bold-italic */
|
24
|
-
font-weight: bold;
|
25
|
-
font-style: italic;
|
26
|
-
}
|
27
|
-
|
28
|
-
.org-builtin {
|
29
|
-
/* font-lock-builtin-face */
|
30
|
-
color: #ffb86c;
|
31
|
-
}
|
32
|
-
.org-button {
|
33
|
-
/* button */
|
34
|
-
color: #8be9fd;
|
35
|
-
text-decoration: underline;
|
36
|
-
}
|
37
|
-
.org-comment {
|
38
|
-
/* font-lock-comment-face */
|
39
|
-
color: #6272a4;
|
40
|
-
}
|
41
|
-
.org-comment-delimiter {
|
42
|
-
/* font-lock-comment-delimiter-face */
|
43
|
-
color: #6272a4;
|
44
|
-
}
|
45
|
-
.org-constant {
|
46
|
-
/* font-lock-constant-face */
|
47
|
-
color: #8be9fd;
|
48
|
-
}
|
49
|
-
.org-cursor {
|
50
|
-
/* cursor */
|
51
|
-
background-color: #8be9fd;
|
52
|
-
}
|
53
|
-
.org-doc {
|
54
|
-
/* font-lock-doc-face */
|
55
|
-
color: #6272a4;
|
56
|
-
}
|
57
|
-
.org-error {
|
58
|
-
/* error */
|
59
|
-
color: #ffc0cb;
|
60
|
-
font-weight: bold;
|
61
|
-
}
|
62
|
-
.org-escape-glyph {
|
63
|
-
/* escape-glyph */
|
64
|
-
color: #00ffff;
|
65
|
-
}
|
66
|
-
.org-file-name-shadow {
|
67
|
-
/* file-name-shadow */
|
68
|
-
color: #b3b3b3;
|
69
|
-
}
|
70
|
-
.org-fringe {
|
71
|
-
/* fringe */
|
72
|
-
color: #b6b6b2;
|
73
|
-
background-color: #282a36;
|
74
|
-
}
|
75
|
-
.org-function-name {
|
76
|
-
/* font-lock-function-name-face */
|
77
|
-
color: #50fa7b;
|
78
|
-
font-weight: bold;
|
79
|
-
}
|
80
|
-
.org-glyphless-char {
|
81
|
-
/* glyphless-char */
|
82
|
-
font-size: 60%;
|
83
|
-
}
|
84
|
-
.org-header-line {
|
85
|
-
/* header-line */
|
86
|
-
background-color: #282a36;
|
87
|
-
}
|
88
|
-
.org-header-line-highlight {
|
89
|
-
/* header-line-highlight */
|
90
|
-
color: #ccccc7;
|
91
|
-
background-color: #464752;
|
92
|
-
}
|
93
|
-
.org-help-argument-name {
|
94
|
-
/* help-argument-name */
|
95
|
-
font-style: italic;
|
96
|
-
}
|
97
|
-
.org-highlight {
|
98
|
-
/* highlight */
|
99
|
-
color: #ccccc7;
|
100
|
-
background-color: #464752;
|
101
|
-
}
|
102
|
-
.org-hl-line {
|
103
|
-
/* hl-line */
|
104
|
-
background-color: #44475a;
|
105
|
-
}
|
106
|
-
.org-homoglyph {
|
107
|
-
/* homoglyph */
|
108
|
-
color: #00ffff;
|
109
|
-
}
|
110
|
-
.org-italic {
|
111
|
-
/* italic */
|
112
|
-
font-style: italic;
|
113
|
-
}
|
114
|
-
.org-keyword {
|
115
|
-
/* font-lock-keyword-face */
|
116
|
-
color: #ff79c6;
|
117
|
-
font-weight: bold;
|
118
|
-
}
|
119
|
-
.org-lazy-highlight {
|
120
|
-
/* lazy-highlight */
|
121
|
-
color: #e2e2dc;
|
122
|
-
background-color: #464752;
|
123
|
-
}
|
124
|
-
.org-line-number-current-line {
|
125
|
-
/* line-number-current-line */
|
126
|
-
color: #b3b3b3;
|
127
|
-
background-color: #282a36;
|
128
|
-
}
|
129
|
-
.org-link {
|
130
|
-
/* link */
|
131
|
-
color: #8be9fd;
|
132
|
-
text-decoration: underline;
|
133
|
-
}
|
134
|
-
.org-link-visited {
|
135
|
-
/* link-visited */
|
136
|
-
color: #ee82ee;
|
137
|
-
text-decoration: underline;
|
138
|
-
}
|
139
|
-
.org-linum {
|
140
|
-
/* linum */
|
141
|
-
color: #565761;
|
142
|
-
background-color: #282a36;
|
143
|
-
font-style: italic;
|
144
|
-
}
|
145
|
-
.org-match {
|
146
|
-
/* match */
|
147
|
-
background-color: #3a5fcd;
|
148
|
-
}
|
149
|
-
.org-negation-char {
|
150
|
-
/* font-lock-negation-char-face */
|
151
|
-
color: #8be9fd;
|
152
|
-
}
|
153
|
-
.org-next-error {
|
154
|
-
/* next-error */
|
155
|
-
color: #282a36;
|
156
|
-
background-color: #f1fa8c;
|
157
|
-
}
|
158
|
-
.org-nobreak-hyphen {
|
159
|
-
/* nobreak-hyphen */
|
160
|
-
color: #00ffff;
|
161
|
-
}
|
162
|
-
.org-nobreak-space {
|
163
|
-
/* nobreak-space */
|
164
|
-
color: #00ffff;
|
165
|
-
text-decoration: underline;
|
166
|
-
}
|
167
|
-
.org-outline-1 {
|
168
|
-
/* outline-1 */
|
169
|
-
color: #50fa7b;
|
170
|
-
}
|
171
|
-
.org-outline-2 {
|
172
|
-
/* outline-2 */
|
173
|
-
color: #bd93f9;
|
174
|
-
}
|
175
|
-
.org-outline-3 {
|
176
|
-
/* outline-3 */
|
177
|
-
color: #8be9fd;
|
178
|
-
}
|
179
|
-
.org-outline-4 {
|
180
|
-
/* outline-4 */
|
181
|
-
color: #ffb86c;
|
182
|
-
}
|
183
|
-
.org-outline-5 {
|
184
|
-
/* outline-5 */
|
185
|
-
color: #ffb86c;
|
186
|
-
}
|
187
|
-
.org-outline-6 {
|
188
|
-
/* outline-6 */
|
189
|
-
color: #0189cc;
|
190
|
-
}
|
191
|
-
.org-outline-7 {
|
192
|
-
/* outline-7 */
|
193
|
-
color: #ffb86c;
|
194
|
-
}
|
195
|
-
.org-outline-8 {
|
196
|
-
/* outline-8 */
|
197
|
-
color: #f1fa8c;
|
198
|
-
}
|
199
|
-
.org-page-break-lines {
|
200
|
-
/* page-break-lines */
|
201
|
-
color: #6272a4;
|
202
|
-
}
|
203
|
-
.org-preprocessor {
|
204
|
-
/* font-lock-preprocessor-face */
|
205
|
-
color: #ffb86c;
|
206
|
-
}
|
207
|
-
.org-py-builtins {
|
208
|
-
/* py-builtins-face */
|
209
|
-
color: #ffb86c;
|
210
|
-
}
|
211
|
-
.org-py-class-name {
|
212
|
-
/* py-class-name-face */
|
213
|
-
color: #bd93f9;
|
214
|
-
}
|
215
|
-
.org-py-decorators {
|
216
|
-
/* py-decorators-face */
|
217
|
-
color: #ff79c6;
|
218
|
-
font-weight: bold;
|
219
|
-
}
|
220
|
-
.org-py-def-class {
|
221
|
-
/* py-def-class-face */
|
222
|
-
color: #ff79c6;
|
223
|
-
font-weight: bold;
|
224
|
-
}
|
225
|
-
.org-py-exception-name {
|
226
|
-
/* py-exception-name-face */
|
227
|
-
color: #ffb86c;
|
228
|
-
}
|
229
|
-
.org-py-import-from {
|
230
|
-
/* py-import-from-face */
|
231
|
-
color: #ff79c6;
|
232
|
-
font-weight: bold;
|
233
|
-
}
|
234
|
-
.org-py-number {
|
235
|
-
/* py-number-face */
|
236
|
-
color: #f8f8f2;
|
237
|
-
background-color: #282a36;
|
238
|
-
}
|
239
|
-
.org-py-object-reference {
|
240
|
-
/* py-object-reference-face */
|
241
|
-
color: #ff79c6;
|
242
|
-
font-weight: bold;
|
243
|
-
}
|
244
|
-
.org-py-pseudo-keyword {
|
245
|
-
/* py-pseudo-keyword-face */
|
246
|
-
color: #ff79c6;
|
247
|
-
font-weight: bold;
|
248
|
-
}
|
249
|
-
.org-py-try-if {
|
250
|
-
/* py-try-if-face */
|
251
|
-
color: #ff79c6;
|
252
|
-
font-weight: bold;
|
253
|
-
}
|
254
|
-
.org-py-variable-name {
|
255
|
-
/* py-variable-name-face */
|
256
|
-
color: #f8f8f2;
|
257
|
-
background-color: #282a36;
|
258
|
-
}
|
259
|
-
.org-py-xxx-tag {
|
260
|
-
/* py-XXX-tag-face */
|
261
|
-
color: #f1fa8c;
|
262
|
-
}
|
263
|
-
.org-query-replace {
|
264
|
-
/* query-replace */
|
265
|
-
color: #ffb86c;
|
266
|
-
background-color: #464752;
|
267
|
-
font-weight: bold;
|
268
|
-
}
|
269
|
-
.org-regexp-grouping-backslash {
|
270
|
-
/* font-lock-regexp-grouping-backslash */
|
271
|
-
font-weight: bold;
|
272
|
-
}
|
273
|
-
.org-regexp-grouping-construct {
|
274
|
-
/* font-lock-regexp-grouping-construct */
|
275
|
-
font-weight: bold;
|
276
|
-
}
|
277
|
-
.org-region {
|
278
|
-
/* region */
|
279
|
-
color: #282a36;
|
280
|
-
background-color: #f1fa8c;
|
281
|
-
}
|
282
|
-
.org-shadow {
|
283
|
-
/* shadow */
|
284
|
-
color: #b3b3b3;
|
285
|
-
}
|
286
|
-
.org-show-paren-match {
|
287
|
-
/* show-paren-match */
|
288
|
-
background-color: #4f94cd;
|
289
|
-
}
|
290
|
-
.org-show-paren-match-expression {
|
291
|
-
/* show-paren-match-expression */
|
292
|
-
background-color: #4f94cd;
|
293
|
-
}
|
294
|
-
.org-show-paren-mismatch {
|
295
|
-
/* show-paren-mismatch */
|
296
|
-
color: #ffffff;
|
297
|
-
background-color: #a020f0;
|
298
|
-
}
|
299
|
-
.org-string {
|
300
|
-
/* font-lock-string-face */
|
301
|
-
color: #f1fa8c;
|
302
|
-
}
|
303
|
-
.org-success {
|
304
|
-
/* success */
|
305
|
-
color: #00ff00;
|
306
|
-
font-weight: bold;
|
307
|
-
}
|
308
|
-
.org-tooltip {
|
309
|
-
/* tooltip */
|
310
|
-
color: #000000;
|
311
|
-
background-color: #ffffe0;
|
312
|
-
}
|
313
|
-
.org-trailing-whitespace {
|
314
|
-
/* trailing-whitespace */
|
315
|
-
background-color: #ffb86c;
|
316
|
-
}
|
317
|
-
.org-type {
|
318
|
-
/* font-lock-type-face */
|
319
|
-
color: #bd93f9;
|
320
|
-
}
|
321
|
-
.org-underline {
|
322
|
-
/* underline */
|
323
|
-
text-decoration: underline;
|
324
|
-
}
|
325
|
-
.org-variable-name {
|
326
|
-
/* font-lock-variable-name-face */
|
327
|
-
color: #f8f8f2;
|
328
|
-
}
|
329
|
-
.org-vertical-border {
|
330
|
-
/* vertical-border */
|
331
|
-
color: #373844;
|
332
|
-
}
|
333
|
-
.org-warning {
|
334
|
-
/* warning */
|
335
|
-
color: #ffb86c;
|
336
|
-
}
|
337
|
-
.org-warning-1 {
|
338
|
-
/* font-lock-warning-face */
|
339
|
-
color: #ffb86c;
|
340
|
-
background-color: #373844;
|
341
|
-
}
|
342
|
-
.org-which-func {
|
343
|
-
/* which-func */
|
344
|
-
color: #50fa7b;
|
345
|
-
font-weight: bold;
|
346
|
-
}
|
@@ -1,153 +0,0 @@
|
|
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
|
data/themes/default/img/tic.png
DELETED
Binary file
|
data/themes/default/img/top.png
DELETED
Binary file
|