Little refactoring and addition of ebooks
This commit is contained in:
parent
59ee5fe71b
commit
5bc7925ff5
175
build.rb
175
build.rb
|
@ -6,24 +6,25 @@ require 'fileutils'
|
|||
require 'time'
|
||||
require 'json'
|
||||
|
||||
# Also requires Pecas
|
||||
#=> Also requires Inkscape and Pecas
|
||||
|
||||
Encoding.default_internal = Encoding::UTF_8
|
||||
Dir.chdir(File.dirname(__FILE__))
|
||||
|
||||
# Variables
|
||||
#=> Variables
|
||||
$language = 'en-US'
|
||||
$mariana = 'Mariana Eguaras\'s blog'
|
||||
$site_name = 'Publishing is Coding: Change My Mind'
|
||||
$site_description = 'A broken english version of some entries published in Mariana Eguaras\'s blog.'
|
||||
$site_description = 'A broken english version of some entries published in ' + $mariana + '.'
|
||||
$site_keywords = 'publishing, blog, book, ebook, methodology, foss, libre-software, format, markdown, html, epub, pdf, mobi, latex, tex'
|
||||
$site_link = 'https://blog.cliteratu.re'
|
||||
$site_img = 'icon.png'
|
||||
$author_name = 'Nika Zhenya'
|
||||
$author_email = 'nika.zhenya@cliteratu.re'
|
||||
$date = Time.now.to_s.split(' ')[0]
|
||||
$head = `cat template/head.html`
|
||||
$header = `cat template/header.html`
|
||||
$footer = `cat template/footer.html`
|
||||
$head = File.read('template/site/head.html')
|
||||
$header = File.read('template/site/header.html')
|
||||
$footer = File.read('template/site/footer.html')
|
||||
$rss = {
|
||||
:channel => {
|
||||
:title => $site_name,
|
||||
|
@ -40,10 +41,11 @@ $rss = {
|
|||
:items => []
|
||||
}
|
||||
}
|
||||
$xml = []
|
||||
|
||||
# Definitions
|
||||
#=> Definitions
|
||||
|
||||
# Gets date in a proper format
|
||||
# Gets date in proper format
|
||||
def get_date d, rfc = false
|
||||
d = d.split('-')
|
||||
|
||||
|
@ -82,24 +84,28 @@ def replace_content content, title = 'Main'
|
|||
]
|
||||
|
||||
elements.each do |e|
|
||||
content = content.gsub("$#{e[0]}$", e[1])
|
||||
content.gsub!("$#{e[0]}$", e[1])
|
||||
end
|
||||
|
||||
if content.split("\n")[0] == '<header>'
|
||||
content = content.gsub("Mariana Eguaras's blog", "<a target=\"_blank\" href=\"https://marianaeguaras.com/blog/\">Mariana Eguaras's blog</a>")
|
||||
content.gsub!($mariana, "<a target=\"_blank\" href=\"https://marianaeguaras.com/blog/\">#{$mariana}</a>")
|
||||
end
|
||||
|
||||
if title == 'Main'
|
||||
content.gsub!('href="../', 'href="')
|
||||
end
|
||||
if title == 'Main' then content.gsub!('href="../', 'href="') end
|
||||
|
||||
return content
|
||||
end
|
||||
|
||||
# Changes file content
|
||||
def change_file url, content
|
||||
file = File.new(url, 'w:UTF-8')
|
||||
file.puts content
|
||||
file.close
|
||||
end
|
||||
|
||||
# Converts MD in other formats
|
||||
def convert_md md
|
||||
content = []
|
||||
original = {:link => '', :pubDate => ''}
|
||||
md_content = []
|
||||
item = {
|
||||
:guid => $site_link + '/html/' + File.basename(md, '.*'),
|
||||
:title => '',
|
||||
|
@ -124,98 +130,129 @@ def convert_md md
|
|||
item[:title] = l.gsub(/^#/, '').strip
|
||||
end
|
||||
|
||||
if l =~ /^@original\[.*?\]\s*?$/
|
||||
data = item_split(l)
|
||||
elsif l =~ /^@current\[.*?\]\s*?$/
|
||||
if l =~ /^@meta\[.*?\]\s*?$/
|
||||
data = item_split(l)
|
||||
item[:pubDate] = get_date(data[0], true)
|
||||
item[:category] = data[1]
|
||||
item[:description] = data[2]
|
||||
content.push(
|
||||
md_content.push(
|
||||
'<p class="meta">' +
|
||||
get_date(data[0]) + ' | ' +
|
||||
data[1] + ' | ' +
|
||||
'<span class="smallcap"><a target="_blank" href="' + $site_link + '/epub/' + File.basename(md, ".*") + '.epub">EPUB</a></span> / ' +
|
||||
'<span class="smallcap"><a target="_blank" href="' + $site_link + '/mobi/' + File.basename(md, ".*") + '.mobi">MOBI</a></span> / ' +
|
||||
'<span class="smallcap"><a target="_blank" href="' + $site_link + '/ebooks/' + File.basename(md, ".*") + '.epub">EPUB</a></span> / ' +
|
||||
'<span class="smallcap"><a target="_blank" href="' + $site_link + '/ebooks/' + File.basename(md, ".*") + '.mobi">MOBI</a></span> / ' +
|
||||
'<a target="_blank" href="' + data[3] + '">original</a>' +
|
||||
'</p>'
|
||||
)
|
||||
else
|
||||
content.push(l)
|
||||
md_content.push(l)
|
||||
end
|
||||
end
|
||||
|
||||
# Creates an MD with some changes
|
||||
html_name = 'html/' + File.basename(md, '.*') + '.html'
|
||||
new_md_name = 'html/' + File.basename(md)
|
||||
new_md = File.new(new_md_name, 'w:UTF-8')
|
||||
new_md.puts content
|
||||
new_md.close
|
||||
# Everything is gonna be created in a temporary directory
|
||||
Dir.mkdir('tmp')
|
||||
Dir.chdir('tmp')
|
||||
|
||||
# Converts MD to HTML
|
||||
# Some variables that are going to be used
|
||||
html_name = '../html/' + File.basename(md, '.*') + '.html'
|
||||
new_md_name = File.basename(md)
|
||||
cover_url = '../../template/ebooks/'
|
||||
|
||||
# Creates an MD with some changes so it can be converted to HTML
|
||||
change_file(new_md_name, md_content)
|
||||
system("pc-pandog -i #{new_md_name} -o #{html_name}")
|
||||
FileUtils.rm(new_md_name)
|
||||
|
||||
# EPUB and MOBI goes here
|
||||
# Will convert HTML to EPUB and MOBI
|
||||
system("pc-automata --init")
|
||||
Dir.chdir('epub-automata')
|
||||
|
||||
# Changes some things for the final HTML
|
||||
write = false
|
||||
new_html = []
|
||||
html = File.open(html_name, 'r:UTF-8')
|
||||
html.each do |l|
|
||||
if write && l !~ /^\s*<style/
|
||||
new_html.push(l.gsub(/\s+<\/body>/, ''))
|
||||
end
|
||||
# Modifies the metadata
|
||||
yaml_content = File.read('meta-data.yaml')
|
||||
yaml_content.gsub!('title: Sin título', 'title: "' + item[:title] + '"')
|
||||
.gsub!('Apellido, Nombre', $author_name)
|
||||
.gsub!('publisher:', "publisher:\n - Perro Tuerto")
|
||||
.gsub!('synopsis:', 'synopsis: "' + item[:description] + '"')
|
||||
.gsub!('category:', "category:\n - \"" + item[:category] + '"')
|
||||
.gsub!('language: es', 'language: en')
|
||||
.gsub!('cover:', 'cover: cover.png')
|
||||
change_file('meta-data.yaml', yaml_content)
|
||||
|
||||
if l =~ /^\s*?<body/ || l =~ /^\s*?<\/body/
|
||||
write = !write
|
||||
# Creates the cover
|
||||
FileUtils.cp(cover_url + 'svg/cover.svg', cover_url + 'svg/cover_tmp.svg')
|
||||
svg_content = File.read(cover_url + 'svg/cover_tmp.svg')
|
||||
svg_content = replace_content(svg_content, item[:title])
|
||||
change_file(cover_url + 'svg/cover_tmp.svg', svg_content)
|
||||
Dir.mkdir(cover_url + 'img')
|
||||
quiet = `inkscape -z -e #{cover_url}img/cover.png #{cover_url}svg/cover_tmp.svg`
|
||||
|
||||
# Creates the ebooks
|
||||
system("pc-automata -f ../#{html_name} -i #{cover_url}img -c #{cover_url}img/cover.png -s ../../css/core.css -x ../../template/ebooks/xhtml --no-pre --no-analytics --no-ace")
|
||||
|
||||
# Removes temporary covers
|
||||
FileUtils.rm("#{cover_url}svg/cover_tmp.svg")
|
||||
FileUtils.rm_rf("#{cover_url}img")
|
||||
|
||||
# Renames and moves the ebooks
|
||||
Dir.glob('*.{epub,mobi}').each do |ebook|
|
||||
if File.basename(ebook) !~ /^epub-[\w|\d]+?\.epub/
|
||||
FileUtils.mv(ebook, '../../ebooks/' + File.basename(md, '.*') + File.extname(ebook))
|
||||
end
|
||||
end
|
||||
html.close
|
||||
html = File.open(html_name, 'w:UTF-8')
|
||||
html.puts replace_content($head, item[:title]), replace_content($header)
|
||||
html.puts new_html
|
||||
html.puts replace_content($footer)
|
||||
html.close
|
||||
Dir.chdir('..')
|
||||
|
||||
# Changes head, header, footer and styles for the final HTML
|
||||
write = false
|
||||
html_content = File.read(html_name).gsub(/\n/,'')
|
||||
html_content.gsub!(/.*?<\/style>\s+/, '')
|
||||
.gsub!(/<\/body>.*?$/, '')
|
||||
change_file(html_name, [replace_content($head, item[:title]),
|
||||
replace_content($header),
|
||||
html_content,
|
||||
replace_content($footer)])
|
||||
|
||||
# Deletes temporary folder
|
||||
Dir.chdir('..')
|
||||
FileUtils.rm_rf('tmp')
|
||||
|
||||
# Adds content to RSS
|
||||
$rss[:channel][:items].push(item)
|
||||
end
|
||||
|
||||
# Converts the RSS to a XML syntax
|
||||
def convert_xml file, hash, space = ''
|
||||
def create_xml hash, space = ''
|
||||
hash.each do |k, v|
|
||||
if k.to_s != 'items'
|
||||
file.puts space + '<' + k.to_s + '>'
|
||||
$xml.push(space + '<' + k.to_s + '>')
|
||||
|
||||
if k.to_s == 'channel'
|
||||
file.puts space + ' <atom:link href="' + $site_link + '/feed/rss.xml" rel="self" type="application/rss+xml" />'
|
||||
$xml.push(space + ' <atom:link href="' + $site_link + '/feed/rss.xml" rel="self" type="application/rss+xml" />')
|
||||
end
|
||||
end
|
||||
|
||||
if v.class == Hash
|
||||
convert_xml(file, v, space + ' ')
|
||||
create_xml(v, space + ' ')
|
||||
elsif v.class == Array
|
||||
v.each do |e|
|
||||
file.puts space + '<item>'
|
||||
convert_xml(file, e, space + ' ')
|
||||
file.puts space + '</item>'
|
||||
$xml.push(space + '<item>')
|
||||
create_xml(e, space + ' ')
|
||||
$xml.push(space + '</item>')
|
||||
end
|
||||
else
|
||||
file.puts space + ' ' + v
|
||||
$xml.push(space + ' ' + v)
|
||||
end
|
||||
|
||||
if k.to_s != 'items'
|
||||
file.puts space + '</' + k.to_s + '>'
|
||||
$xml.push(space + '</' + k.to_s + '>')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Deployment
|
||||
#=> Deployment
|
||||
|
||||
# Generates core CSS
|
||||
Dir.chdir('css')
|
||||
system("pc-add --add css")
|
||||
change_file('core.css', [File.read('styles.css'), File.read('ebooks.css')])
|
||||
Dir.chdir('..')
|
||||
|
||||
# Gets MDs to convert in other formats
|
||||
|
@ -226,8 +263,9 @@ end
|
|||
# Last info added to RSS
|
||||
$rss[:channel][:lastBuildDate] = get_date($date, true)
|
||||
$rss[:channel][:items].sort_by!{|h| h[:link]}.reverse!
|
||||
create_xml($rss)
|
||||
|
||||
# Builds the index.html
|
||||
# Builds index.html
|
||||
puts "Building 'index.html'…"
|
||||
html_content = []
|
||||
$rss[:channel][:items].each do |item|
|
||||
|
@ -237,17 +275,14 @@ $rss[:channel][:items].each do |item|
|
|||
' | ' + item[:category] + '</p><p>' + item[:description] + '</p></div>'
|
||||
html_content.push(inner_html.gsub!($site_link, '.'))
|
||||
end
|
||||
html = File.new('index.html', 'w:UTF-8')
|
||||
html.puts replace_content($head), replace_content($header)
|
||||
html.puts html_content
|
||||
html.puts replace_content($footer)
|
||||
html.close
|
||||
change_file('index.html', [replace_content($head),
|
||||
replace_content($header),
|
||||
html_content,
|
||||
replace_content($footer)])
|
||||
|
||||
# Builds the RSS
|
||||
# Builds RSS
|
||||
puts "Building 'rss.xml'…"
|
||||
xml = File.new('feed/rss.xml', 'w:UTF-8')
|
||||
xml.puts '<?xml version="1.0" ?>'
|
||||
xml.puts '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">'
|
||||
convert_xml(xml, $rss)
|
||||
xml.puts '</rss>'
|
||||
xml.close
|
||||
change_file('feed/rss.xml', ['<?xml version="1.0" ?>',
|
||||
'<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">',
|
||||
$xml,
|
||||
'</rss>'])
|
||||
|
|
|
@ -0,0 +1,817 @@
|
|||
/**************************************************/
|
||||
/******************* RESETEADOR *******************/
|
||||
/**************************************************/
|
||||
|
||||
/* http://meyerweb.com/eric/tools/css/reset/ v2.0 */
|
||||
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, big, cite, code,
|
||||
del, dfn, em, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var,
|
||||
b, u, i, center,
|
||||
dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||
article, aside, canvas, details, embed,
|
||||
figure, figcaption, footer, header, hgroup,
|
||||
menu, nav, output, ruby, section, summary,
|
||||
time, mark, audio, video {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-size: 100%;
|
||||
font: inherit;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
/* Old browsers / Para viejos exploradores */
|
||||
|
||||
article, aside, details, figcaption, figure,
|
||||
footer, header, hgroup, menu, nav, section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
ol, ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
blockquote, q {
|
||||
quotes: none;
|
||||
}
|
||||
|
||||
blockquote:before, blockquote:after,
|
||||
q:before, q:after {
|
||||
content: '';
|
||||
content: none;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
/**************************************************/
|
||||
|
||||
/* Fuentes */
|
||||
|
||||
@font-face {
|
||||
font-family: "Bitter Regular";
|
||||
src: url(../ttf/bitter-regular.ttf);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Bitter Italic";
|
||||
src: url(../ttf/bitter-italic.ttf);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Bitter Bold";
|
||||
src: url(../ttf/bitter-bold.ttf);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Bitter BoldItalic";
|
||||
src: url(../ttf/bitter-bolditalic.ttf);
|
||||
}
|
||||
|
||||
/* Body / Cuerpo */
|
||||
|
||||
@media screen and (min-width: 769px) {
|
||||
body {
|
||||
margin: 5em;
|
||||
}
|
||||
|
||||
.no-margin, .sin-margen {
|
||||
margin: -5em;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
body {
|
||||
margin: 4em;
|
||||
}
|
||||
|
||||
.no-margin, .sin-margen {
|
||||
margin: -4em;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 640px) {
|
||||
body {
|
||||
margin: 3em;
|
||||
}
|
||||
|
||||
.no-margin, .sin-margen {
|
||||
margin: -3em;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 480px) {
|
||||
body {
|
||||
margin: 2em;
|
||||
}
|
||||
|
||||
.no-margin, .sin-margen {
|
||||
margin: -2em;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 320px) {
|
||||
body {
|
||||
margin: 1em;
|
||||
}
|
||||
|
||||
.no-margin, .sin-margen {
|
||||
margin: -1em;
|
||||
}
|
||||
}
|
||||
|
||||
@media amzn-mobi, amzn-kf8 { /* For Kindle because it generates a lot of margin / Para Kindle porque genera mucho margen */
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.no-margin, .sin-margen {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Sections / Secciones */
|
||||
|
||||
section + section {
|
||||
margin-top: 10em;
|
||||
}
|
||||
|
||||
/* Headers / Encabezados */
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: "Bitter Regular", Georgia, "Palatino Linotype", "Book Antiqua", Palatino, serif;
|
||||
margin-bottom: 1em;
|
||||
text-align: left;
|
||||
font-size: 1em;
|
||||
-moz-hyphens: none !important;
|
||||
-webkit-hyphens: none !important;
|
||||
-o-hyphens: none !important;
|
||||
-ms-hyphens: none !important;
|
||||
hyphens: none !important;
|
||||
}
|
||||
|
||||
h2, h3, h4, h5, h6 {
|
||||
margin-top: 2em;
|
||||
}
|
||||
|
||||
h4, h5, h6 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-bottom: 6em;
|
||||
}
|
||||
|
||||
h3, h5 {
|
||||
font-family: "Bitter Italic", Georgia, "Palatino Linotype", "Book Antiqua", Palatino, serif;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-family: "Bitter Bold", Georgia, "Palatino Linotype", "Book Antiqua", Palatino, serif;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1.title, h1.titulo {
|
||||
margin-top: 4em;
|
||||
margin-bottom: 0;
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
h2.subtitle, h2.subtitulo {
|
||||
margin-top: .5em;
|
||||
margin-bottom: 3em;
|
||||
font-size: 1.25em;
|
||||
}
|
||||
|
||||
/* Paragraphs / Párrafos */
|
||||
|
||||
p, blockquote, li, figcaption, details, aside {
|
||||
font-family: "Bitter Regular", Georgia, "Palatino Linotype", "Book Antiqua", Palatino, serif;
|
||||
font-size: 1em;
|
||||
text-align: justify;
|
||||
line-height: 1.5em;
|
||||
-moz-hyphens: auto;
|
||||
-webkit-hyphens: auto;
|
||||
-o-hyphens: auto;
|
||||
-ms-hyphens: auto;
|
||||
hyphens: auto;
|
||||
}
|
||||
|
||||
p + p {
|
||||
text-indent: 1.5em;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
font-size: .9em;
|
||||
margin: 1em 1.5em;
|
||||
}
|
||||
|
||||
blockquote + blockquote {
|
||||
text-indent: 1.5em;
|
||||
margin-top: -1em;
|
||||
}
|
||||
|
||||
blockquote, blockquote > * {
|
||||
line-height: 1.65;
|
||||
}
|
||||
|
||||
.justified, .justificado {
|
||||
text-align: justify !important;
|
||||
}
|
||||
|
||||
.right, .derecha {
|
||||
text-indent: 0;
|
||||
text-align: right !important;
|
||||
}
|
||||
|
||||
.left, .izquierda {
|
||||
text-align: left !important;
|
||||
}
|
||||
|
||||
.centered, .centrado {
|
||||
text-indent: 0;
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
.hanging, .frances {
|
||||
margin-left: 1.5em;
|
||||
text-indent: -1.5em;
|
||||
text-align: left !important;
|
||||
}
|
||||
|
||||
* + .hanging, * + .frances {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.hanging + .hanging, .frances + .frances {
|
||||
margin-top: 0;
|
||||
text-indent: -1.5em;
|
||||
}
|
||||
|
||||
.indent, .sangria {
|
||||
text-indent: 1.5em;
|
||||
}
|
||||
|
||||
.no-indent, .sin-sangria {
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
.no-hyphens, .sin-separacion {
|
||||
-moz-hyphens: none !important;
|
||||
-webkit-hyphens: none !important;
|
||||
-o-hyphens: none !important;
|
||||
-ms-hyphens: none !important;
|
||||
hyphens: none !important;
|
||||
}
|
||||
|
||||
.invisible {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.hidden, .oculto {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.block, .bloque {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Font effects / Efectos en las fuentes */
|
||||
|
||||
i, em {
|
||||
font-family: "Bitter Italic", Georgia, "Palatino Linotype", "Book Antiqua", Palatino, serif;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
b, strong {
|
||||
font-family: "Bitter Bold", Georgia, "Palatino Linotype", "Book Antiqua", Palatino, serif;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
i > b, b > i,
|
||||
em > strong, strong > em,
|
||||
i > strong, strong > i,
|
||||
em > b, b > em {
|
||||
font-family: "Bitter BoldItalic", Georgia, "Palatino Linotype", "Book Antiqua", Palatino, serif;
|
||||
}
|
||||
|
||||
.initial, .capitular {
|
||||
float: left;
|
||||
font-size: 3em;
|
||||
margin-top: .15em;
|
||||
padding-right: .1em;
|
||||
}
|
||||
|
||||
.uppercase, .versal {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.normal, .redonda {
|
||||
font-variant: none;
|
||||
}
|
||||
|
||||
.smallcap-light, .versalita-ligera {
|
||||
font-variant: small-caps;
|
||||
-moz-hyphens: auto;
|
||||
-webkit-hyphens: auto;
|
||||
-o-hyphens: auto;
|
||||
-ms-hyphens: auto;
|
||||
hyphens: auto;
|
||||
}
|
||||
|
||||
.smallcap, .versalita {
|
||||
text-transform: lowercase;
|
||||
font-variant: small-caps;
|
||||
-moz-hyphens: auto;
|
||||
-webkit-hyphens: auto;
|
||||
-o-hyphens: auto;
|
||||
-ms-hyphens: auto;
|
||||
hyphens: auto;
|
||||
}
|
||||
|
||||
.underline, .subrayado {
|
||||
text-decoration: underline black;
|
||||
}
|
||||
|
||||
.auto-width, .anchura-auto {
|
||||
display: block;
|
||||
width: auto;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
@media not amzn-mobi, not amzn-kf8 { /* For any device except Kindle / Para cualquier dispositivo excepto Kindle */
|
||||
.auto-width, .anchura-auto {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
/* Links / Enlaces */
|
||||
|
||||
a, a:link, a:visited {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Lists / Listas */
|
||||
|
||||
ol, ul {
|
||||
margin: 1em 1em 1em 2.5em;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ol {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
ol ol, ol ul,
|
||||
ul ol, ul ul {
|
||||
margin: 0 1em;
|
||||
}
|
||||
|
||||
ol p, ul p {
|
||||
margin-left: .5em;
|
||||
}
|
||||
|
||||
ul.dash, ul.en-dash, ul.em-dash {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
ul.dash > li:before, ul.en-dash > li:before, ul.em-dash > li:before {
|
||||
display: block;
|
||||
width: 1.5em;
|
||||
text-align: right;
|
||||
padding: 0 .5em 0 0;
|
||||
margin: 0 0 -1.25em -2em;
|
||||
}
|
||||
|
||||
ul.dash > li:before {
|
||||
content: "-";
|
||||
}
|
||||
|
||||
ul.en-dash > li:before {
|
||||
content: "–";
|
||||
}
|
||||
|
||||
ul.em-dash > li:before {
|
||||
content: "—";
|
||||
}
|
||||
|
||||
li.no-count {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
li.no-count:before {
|
||||
content: none !important;
|
||||
}
|
||||
|
||||
.li-manual {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.li-manual > li > p:first-child > span:first-of-type:not(.versalita) {
|
||||
display: block;
|
||||
margin-left: -1.5em;
|
||||
margin-bottom: -1.25em;
|
||||
}
|
||||
|
||||
li > .li-manual {
|
||||
margin: 0 0 0 1.5em;
|
||||
}
|
||||
|
||||
/* Images / Imágenes */
|
||||
|
||||
img { /* It helps if the source doesn't exist / Ayuda a detectarlos si no existe el recurso */
|
||||
color: #0000EE;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 2em auto;
|
||||
}
|
||||
|
||||
figcaption {
|
||||
font-family: "Bitter Regular", Georgia, "Palatino Linotype", "Book Antiqua", Palatino, serif;
|
||||
margin-top: .5em;
|
||||
font-size: .9em;
|
||||
}
|
||||
|
||||
figure + figure {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
p + img {
|
||||
margin-left: -1.5em;
|
||||
margin-top: 2em;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
.caption, .leyenda {
|
||||
font-size: .9em;
|
||||
margin-top: -1.5em;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
.caption + img, .leyenda + img {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
img + .caption, img + .leyenda {
|
||||
margin-top: .5em;
|
||||
}
|
||||
|
||||
.caption + p, .leyenda + p {
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
p > img {
|
||||
display: inline;
|
||||
height: 1.5em;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* Superscript and subscripts / Superíndices y subíndices */
|
||||
|
||||
sup, sub {
|
||||
font-size: .75em;
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
sub {
|
||||
vertical-align: sub;
|
||||
}
|
||||
|
||||
/* Code / Código (inspirados en https://codepen.io/elomatreb/pen/hbgxp)*/
|
||||
|
||||
code {
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
background-color: #fff;
|
||||
padding: .125em .5em;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: .25em;
|
||||
}
|
||||
|
||||
pre {
|
||||
width: 90%;
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
background-color: #fff;
|
||||
margin: 2em auto;
|
||||
padding: .5em;
|
||||
line-height: 1.5;
|
||||
border-radius: .25em;
|
||||
box-shadow: .1em .1em .5em rgba(0,0,0,.45);
|
||||
white-space: unset;
|
||||
}
|
||||
|
||||
pre * {
|
||||
color: #555;
|
||||
}
|
||||
|
||||
pre code {
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: inherit;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
pre code:before {
|
||||
width: 1.5em;
|
||||
display: inline-block;
|
||||
padding: 0 .5em;
|
||||
margin-right: .5em;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
@media not amzn-mobi, not amzn-kf8 { /* For any device except Kindle / Para cualquier dispositivo excepto Kindle */
|
||||
pre {
|
||||
counter-reset: line;
|
||||
overflow: scroll;
|
||||
}
|
||||
|
||||
pre code:before {
|
||||
counter-increment: line;
|
||||
content: counter(line);
|
||||
}
|
||||
|
||||
pre code {
|
||||
white-space: pre;
|
||||
}
|
||||
}
|
||||
|
||||
@media amzn-mobi, amzn-kf8 { /* Only for Kindle / Solo para Kindle */
|
||||
pre code:before {
|
||||
content: "•";
|
||||
}
|
||||
}
|
||||
|
||||
/* Glosses / Glosas */
|
||||
|
||||
section.gloss, body.gloss, section.glosa, body.glosa { /* El estilo ha de ponerse en el contenedor de los párrafos y en el span de la glosa */
|
||||
margin-right: 7em;
|
||||
}
|
||||
|
||||
span.gloss, span.glosa {
|
||||
width: 6em; /* No son 7 porque se resta uno del margen añadido a continuación */
|
||||
margin-right: -8em; /* No son -7 porque se añade 1 de margen */
|
||||
float: right;
|
||||
text-indent: 0;
|
||||
text-align: left;
|
||||
font-size: .75em;
|
||||
}
|
||||
|
||||
/* Poetry / Poesía: <p class="poetry">Verse 1<br />verse 2<br />verse 3.</p>*/
|
||||
|
||||
.poetry, .poesia {
|
||||
margin: 1em 1.5em;
|
||||
text-indent: 0;
|
||||
-moz-hyphens: none;
|
||||
-webkit-hyphens: none;
|
||||
-o-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
/* Screenwriting / Guiones */
|
||||
|
||||
.mono,
|
||||
section.script *, section.guion * {
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
}
|
||||
|
||||
section.script *, section.guion * {
|
||||
font-size: 1em;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
text-indent: 0;
|
||||
text-align: left;
|
||||
-moz-hyphens: none !important;
|
||||
-webkit-hyphens: none !important;
|
||||
-o-hyphens: none !important;
|
||||
-ms-hyphens: none !important;
|
||||
hyphens: none !important;
|
||||
}
|
||||
|
||||
section.script ol, section.guion ol,
|
||||
section.script ul, section.guion ul {
|
||||
margin: 1em 2em;
|
||||
}
|
||||
|
||||
section.script h2, section.guion h2,
|
||||
section.script h3, section.guion h3,
|
||||
section.script blockquote, section.guion blockquote {
|
||||
width: 60%;
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
section.script h1, section.guion h1 {
|
||||
text-transform: uppercase;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
section.script h2, section.guion h2 {
|
||||
margin-top: 1em;
|
||||
padding-left: 6em;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
section.script h3, section.guion h3 {
|
||||
padding-left: 3em;
|
||||
}
|
||||
|
||||
section.script > p, section.guion > p {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
section.script blockquote + blockquote > p,
|
||||
section.guion blockquote + blockquote > p {
|
||||
text-indent: 1.5em;
|
||||
}
|
||||
|
||||
/* Special contents / Contenidos especiales */
|
||||
|
||||
.title, .titulo {
|
||||
margin-top: 3em;
|
||||
margin-left: 0;
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
.subtitle, .subtitulo {
|
||||
margin-top: -1.25em;
|
||||
margin-bottom: 3em;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.author, .autor {
|
||||
width: 250px; /* Avoids 100% width in author image / Se añade a la imagen del autor para que no abarque el 100% */
|
||||
}
|
||||
|
||||
.contributor + p, .contribuidor + p {
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
h1 + .contributor, h1 + .contribuidor {
|
||||
margin-top: -6em !important;
|
||||
margin-bottom: 6em;
|
||||
}
|
||||
|
||||
.copyright, .legal * {
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
.epigraph, .epigrafe {
|
||||
font-size: .9em;
|
||||
text-align: right;
|
||||
line-height: 1.65em;
|
||||
margin-left: 40%;
|
||||
}
|
||||
|
||||
body > .epigraph:first-child, body > .epigrafe:first-child {
|
||||
margin-top: 3em;
|
||||
}
|
||||
|
||||
.epigraph + p, .epigrafe + p {
|
||||
margin-top: 2em;
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
.epigraph + .epigraph, .epigrafe + .epigrafe {
|
||||
margin-top: .5em;
|
||||
}
|
||||
|
||||
.vertical-space1, .espacio-arriba1 {
|
||||
margin-top: 1em !important;
|
||||
}
|
||||
|
||||
.vertical-space2, .espacio-arriba2 {
|
||||
margin-top: 2em !important;
|
||||
}
|
||||
|
||||
.vertical-space3, .espacio-arriba3 {
|
||||
margin-top: 3em !important;
|
||||
}
|
||||
|
||||
.space, .espacio {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
/* Footnotes / Notas al pie */
|
||||
|
||||
.n-note-sup {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.n-note-hr {
|
||||
margin-top: 2em;
|
||||
width: 25%;
|
||||
margin-left: 0;
|
||||
border: 1px solid blue;
|
||||
background-color: blue;
|
||||
}
|
||||
|
||||
.n-note-a {
|
||||
display: block;
|
||||
margin-left: -3em;
|
||||
margin-bottom: -1.375em;
|
||||
}
|
||||
|
||||
.n-note-sup:before, .n-note-a:before {
|
||||
content: "[";
|
||||
color: #0000EE;
|
||||
}
|
||||
|
||||
.n-note-sup:after, .n-note-a:after {
|
||||
content: "]";
|
||||
color: #0000EE;
|
||||
}
|
||||
|
||||
.n-note-p, .n-note-p2 {
|
||||
margin-left: 3em;
|
||||
font-size: .9em;
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
* + .n-note-p {
|
||||
margin-top: 1em;
|
||||
text-indent: 0;
|
||||
}
|
||||
|
||||
.n-note-p2 {
|
||||
margin-top: 0;
|
||||
text-indent: 1.5em;
|
||||
}
|
||||
|
||||
/* Indexes / Índices analíticos */
|
||||
|
||||
.i-item-section p {
|
||||
margin-top: .5em !important;
|
||||
}
|
||||
|
||||
.i-item-div > h2:first-child, .i-item-div-single > h2:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
@media screen and (min-width:768px) {
|
||||
@media not amzn-mobi, not-amzn-kf8 { /* For any device except Kindle / Para cualquier dispositivo excepto Kindle */
|
||||
.i-item-div {
|
||||
column-count: 2;
|
||||
column-gap: 2em;
|
||||
column-rule: solid 1px lightgray;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.i-item-a:before {
|
||||
content: "[";
|
||||
color: #0000EE;
|
||||
}
|
||||
|
||||
.i-item-a:after {
|
||||
content: "]";
|
||||
color: #0000EE;
|
||||
}
|
||||
|
||||
/* For print / Para impresión */
|
||||
|
||||
@media print {
|
||||
section {
|
||||
page-break-before: always;
|
||||
}
|
||||
|
||||
section:first-of-type {
|
||||
page-break-before: avoid;
|
||||
}
|
||||
|
||||
section > h1:first-child {
|
||||
padding-top: 5em !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Styles for this edition / Estilos de esta edición */
|
||||
|
||||
/* ADD HERE CUSTOM STYLES / AGREGAR ESTILOS PERSONALIZADOS */
|
||||
body > h1:first-child {margin-bottom:0;}
|
||||
.addenda {border-left: 3px solid yellow; padding-left:1em;}
|
||||
.meta {font-size:.75em;text-indent:0;color:gray;margin-bottom:6em;}
|
||||
.meta a {color:gray;}
|
||||
.meta + p {text-indent:0;}
|
|
@ -0,0 +1,5 @@
|
|||
body > h1:first-child {margin-bottom:0;}
|
||||
.addenda {border-left: 3px solid yellow; padding-left:1em;}
|
||||
.meta {font-size:.75em;text-indent:0;color:gray;margin-bottom:6em;}
|
||||
.meta a {color:gray;}
|
||||
.meta + p {text-indent:0;}
|
|
@ -29,10 +29,6 @@ footer > *:first-child {margin-top: 1em;}
|
|||
footer {word-wrap: break-word;}
|
||||
}
|
||||
|
||||
.addenda {border-left: 3px solid yellow; padding-left:1em;}
|
||||
.meta {font-size:.75em;text-indent:0;color:gray;margin-bottom:6em;}
|
||||
.meta a {color:gray;}
|
||||
.meta + p {text-indent:0;}
|
||||
div {margin-bottom:1em;padding-bottom:1em;border-bottom: 1px solid #ddd;}
|
||||
div:last-child {border:none;}
|
||||
div .meta {margin-bottom: 0;}
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -8,7 +8,7 @@
|
|||
<meta name="keywords" content="publishing, blog, book, ebook, methodology, foss, libre-software, format, markdown, html, epub, pdf, mobi, latex, tex">
|
||||
<link rel="shortcut icon" href="../icon.png">
|
||||
<link rel="alternate" type="application/rss+xml" href="https://blog.cliteratu.re/feed/" title="Publishing is Coding: Change My Mind">
|
||||
<link type="text/css" rel="stylesheet" href="../css/styles.css">
|
||||
<link type="text/css" rel="stylesheet" href="../css/core.css">
|
||||
<link type="text/css" rel="stylesheet" href="../css/extra.css">
|
||||
</head>
|
||||
<body>
|
||||
|
@ -23,18 +23,7 @@
|
|||
</nav>
|
||||
</header>
|
||||
<section>
|
||||
<h1 id="digital-publishing-as-publishing-from-scratch">Digital Publishing as Publishing from Scratch</h1>
|
||||
<p class="meta">October 3, 2018 | Methodology | <span class="smallcap"><a target="_blank" href="https://blog.cliteratu.re/epub/entry001.epub">EPUB</a></span> / <span class="smallcap"><a target="_blank" href="https://blog.cliteratu.re/mobi/entry001.mobi">MOBI</a></span> / <a target="_blank" href="https://marianaeguaras.com/edicion-digital-como-edicion-desde-cero">original</a></p>
|
||||
<p>Thanks to <a href="http://marianaeguaras.com/">Mariana Eguaras</a> we are going to blogging about <b>digital publishing</b>, its <b>characteristics, benefits and challenges</b>, as well as <b>its relation with print publishing</b> and how these issues directly affect the necesary proceedings for any kind of publishing.</p>
|
||||
<p>We already have planned what we are going write in the first entries, but any suggestion is welcome. As far as possible the writing is not going to be technical and more friendly to general public or publishers.</p>
|
||||
<p>However, you have to consider that some technicalities are now necessary for publishing. As well as the typography, printing or design slangs are common knowledge for publishers, in the same way the jargons from web or software developers are starting to be part of our cultural background.</p>
|
||||
<blockquote class="addenda">
|
||||
<p>The entries were originally wrote in spanish. Some of them are now kind of old: for some things I already have a different opinion or distinct approach. And as is obvious, english is not my first language. Therefore, you are going to find a lot of grammar mistakes or typos and I will only translate (in a very free way) the entries that I still consider relevant. So when you find this kind of box with a yellow border, it means that it is an <i>addendum</i> for this broken english version.</p>
|
||||
</blockquote>
|
||||
<blockquote class="addenda">
|
||||
<p>Do you want to improve this mess? You can always help through <a href="https://gitlab.com/NikaZhenya/publishing-is-coding">GitLab</a> or <a href="https://github.com/NikaZhenya/publishing-is-coding">GitHub</a> (the links are always in the footer).</p>
|
||||
</blockquote>
|
||||
|
||||
<h1 id="digital-publishing-as-publishing-from-scratch">Digital Publishing as Publishing from Scratch</h1> <p class="meta">October 3, 2018 | Methodology | <span class="smallcap"><a target="_blank" href="https://blog.cliteratu.re/ebooks/entry001.epub">EPUB</a></span> / <span class="smallcap"><a target="_blank" href="https://blog.cliteratu.re/ebooks/entry001.mobi">MOBI</a></span> / <a target="_blank" href="https://marianaeguaras.com/edicion-digital-como-edicion-desde-cero">original</a></p> <p>Thanks to <a href="http://marianaeguaras.com/">Mariana Eguaras</a> we are going to blogging about <b>digital publishing</b>, its <b>characteristics, benefits and challenges</b>, as well as <b>its relation with print publishing</b> and how these issues directly affect the necesary proceedings for any kind of publishing.</p> <p>We already have planned what we are going write in the first entries, but any suggestion is welcome. As far as possible the writing is not going to be technical and more friendly to general public or publishers.</p> <p>However, you have to consider that some technicalities are now necessary for publishing. As well as the typography, printing or design slangs are common knowledge for publishers, in the same way the jargons from web or software developers are starting to be part of our cultural background.</p> <blockquote class="addenda"> <p>The entries were originally wrote in spanish. Some of them are now kind of old: for some things I already have a different opinion or distinct approach. And as is obvious, english is not my first language. Therefore, you are going to find a lot of grammar mistakes or typos and I will only translate (in a very free way) the entries that I still consider relevant. So when you find this kind of box with a yellow border, it means that it is an <i>addendum</i> for this broken english version.</p> </blockquote> <blockquote class="addenda"> <p>Do you want to improve this mess? You can always help through <a href="https://gitlab.com/NikaZhenya/publishing-is-coding">GitLab</a> or <a href="https://github.com/NikaZhenya/publishing-is-coding">GitHub</a> (the links are always in the footer).</p> </blockquote>
|
||||
</section>
|
||||
<footer>
|
||||
<p><a target="_blank" href="https://ted.cliteratu.re/">ted.cliteratu.re</a> | <a target="_blank" href="https://ed.cliteratu.re/">ed.cliteratu.re</a> | <a target="_blank" href="https://pecas.cliteratu.re/">pecas.cliteratu.re</a> | <a target="_blank" href="https://xxx.cliteratu.re/">xxx.cliteratu.re</a></p>
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-US">
|
||||
<head>
|
||||
<title>Publishing is Coding: Change My Mind | Main</title>
|
||||
<title>Publishing is Coding: Change My Mind | Digital Publishing as Publishing from Scratch</title>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="application-name" content="Publishing is Coding: Change My Mind">
|
||||
<meta name="description" content="A broken english version of some entries published in Mariana Eguaras's blog.">
|
||||
<meta name="keywords" content="publishing, blog, book, ebook, methodology, foss, libre-software, format, markdown, html, epub, pdf, mobi, latex, tex">
|
||||
<link rel="shortcut icon" href="icon.png">
|
||||
<link rel="alternate" type="application/rss+xml" href="https://blog.cliteratu.re/feed/" title="Publishing is Coding: Change My Mind">
|
||||
<link type="text/css" rel="stylesheet" href="css/styles.css">
|
||||
<link type="text/css" rel="stylesheet" href="css/core.css">
|
||||
<link type="text/css" rel="stylesheet" href="css/extra.css">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1><a href="https://blog.cliteratu.re">Publishing is Coding: Change My Mind</a></h1>
|
||||
<p>A broken english version of some entries published in <a target="_blank" href="https://marianaeguaras.com/blog/">Mariana Eguaras's blog</a>.</p>
|
||||
<p>A broken english version of some entries published in <a target="_blank" href="https://marianaeguaras.com/blog/"><a target="_blank" href="https://marianaeguaras.com/blog/">Mariana Eguaras's blog</a></a>.</p>
|
||||
<nav>
|
||||
<h3>Contact</h3>
|
||||
<p><a target="_blank" href="mailto:nika.zhenya@cliteratu.re">Email</a></p>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Digital Publishing as Publishing from Scratch
|
||||
|
||||
@current['2018-10-03','Methodology','A general comparation between the most common methods for developing EPUBs.','https://marianaeguaras.com/edicion-digital-como-edicion-desde-cero']
|
||||
@meta['2018-10-03','Methodology','A general comparation between the most common methods for developing EPUBs.','https://marianaeguaras.com/edicion-digital-como-edicion-desde-cero']
|
||||
|
||||
Thanks to [Mariana Eguaras](http://marianaeguaras.com/)
|
||||
we are going to blogging about __digital publishing__,
|
||||
|
|
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 73 KiB |
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xml:lang="es" lang="es">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Cover</title>
|
||||
<style>.sin-margen{margin:0;padding:0;}.forro{display:block;margin:auto;padding:0;height:100vh;width:auto;}</style>
|
||||
</head>
|
||||
<body class="sin-margen">
|
||||
<section epub:type="cover" role="doc-cover">
|
||||
<img id="cover-image" class="forro" alt="Imagen de portada" src="../img/cover.png" />
|
||||
</section>
|
||||
</body>
|
||||
</html>
|
|
@ -8,7 +8,7 @@
|
|||
<meta name="keywords" content="$site_keywords$">
|
||||
<link rel="shortcut icon" href="../$site_img$">
|
||||
<link rel="alternate" type="application/rss+xml" href="$site_link$/feed/" title="$site_name$">
|
||||
<link type="text/css" rel="stylesheet" href="../css/styles.css">
|
||||
<link type="text/css" rel="stylesheet" href="../css/core.css">
|
||||
<link type="text/css" rel="stylesheet" href="../css/extra.css">
|
||||
</head>
|
||||
<body>
|
Loading…
Reference in New Issue