Desarrollo de 'create-indexes-feeds'

This commit is contained in:
Nika Zhenya 2019-03-20 02:01:01 -06:00
parent 01f1fea51e
commit 7c9e0850a0
54 changed files with 348 additions and 3708 deletions

36
README.md Normal file
View File

@ -0,0 +1,36 @@
# Publishing is Coding: Change My Mind
## Donations
🌮 Donate for some tacos with [ETH](https://etherscan.io/address/0x39b0bf0cf86776060450aba23d1a6b47f5570486).
:dog: Donate for some dog food with [DOGE](https://dogechain.info/address/DMbxM4nPLVbzTALv5n8G16TTzK4WDUhC7G).
:beer: Donate for some beers with [PayPal](https://www.paypal.me/perrotuerto).
## Related links (spanish)
Taller de Edición Digital (Digital Publishing Workshop): [ted.perrotuerto.blog](https://ted.perrotuerto.blog/).
_Edición digital como metodología para una edición global_ (_Digital Publishing as Methodology for Global Publishing_): [ed.perrotuerto.blog](https://ed.perrotuerto.blog/).
Pecas, herramientas editoriales (Pecas, publishing tools): [pecas.perrotuerto.blog](https://pecas.perrotuerto.blog/).
Blog: [perrotuerto.blog](https://perrotuerto.blog).
## License
All content is under [Licencia Editorial Abierta y Libre (LEAL)](https://gitlab.com/NikaZhenya/licencia-editorial-abierta-y-libre).
“Licencia Editorial Abierta y Libre” is translated to “Open and Free Publishing
License.” “LEAL” is the acronym but also means “loyal” in Spanish.
With LEAL you are free to use, copy, reedit, modify, share or sell any of this
content under the following conditions:
* Anything produced with this content must be under some type of LEAL.
* All files—editable or final formats—must be on public access.
* The sale can't be the only way to acquire the final product.
* The generated surplus value can't be used for exploitation of labor.
* The content can't be used for AI or data mining.
* The use of the content must not harm any collaborator.

121
config/build/create-indexes-feeds Executable file
View File

@ -0,0 +1,121 @@
#!/usr/bin/env ruby
# encoding: UTF-8
# coding: UTF-8
require 'date'
require 'fileutils'
require File.realdirpath(__FILE__).gsub(/build.*$/, '') + "template/site/main_lang.rb"
# Displays message when something goes wrong
def check condition, err_msg
if condition then puts err_msg + ' For help use -h or --help.'; abort end
end
# To the root directory
Dir.chdir(File.dirname(__FILE__) + '/../..')
# Variables
locale = ''
content = []
template_dir = 'config/template/site/'
# Displays help
if ARGV[0] =~ /-h/
puts "create-indexes-feeds generates the index and feed file for each language."
puts "\nUse:"
puts " create-indexes-feeds"
abort
end
# Formats date in RFC 2822
def format_date date
raw_date = date.gsub(/[\/:]/, ',').gsub(/\s+/, '').split(',')
par_date = DateTime.new(raw_date[0].to_i, raw_date[1].to_i, raw_date[2].to_i,
raw_date[3].to_i, raw_date[4].to_i, raw_date[5].to_i,
DateTime.now.to_s[-6..-6] + DateTime.now.to_s[-4..-4])
return par_date.rfc2822
end
# Itinerates each locale
Dir.glob('content/html/*').each do |local|
locale = local.split('/').last
content = []
rss = []
# Gets the metadata of each post
Dir.glob(local + '/*').each do |f|
if File.basename(f) =~ /^\d+/
file = f.split('/').last
title = File.read(f)
.gsub(/\n/, '')
.gsub(/^.*?<title>([^<]*?)<\/title>.*$/, '\1')
.strip
date = File.read(f)
.gsub(/\n/, '')
.gsub(/^.*?#{$template_lang[locale]['build']}\s+(\d+.+?)\..*$/, '\1')
.strip
if title != ''
content.push(' <div class="post">' + "\n" +
' <p><a href="' + file + '">' + file.gsub(/_.*$/, '').to_i.to_s + '. ' + title + '</a></p>' + "\n" +
' <p>[' + date + ']</p>' + "\n" +
' </div>')
end
end
end
# Inverse posts order from the newest to the oldest
content.reverse!
# Creates the items for RSS feed
content.each do |c|
title = c.split('">').last.split('</a>').first
link = 'https://perrotuerto.blog/content/html/' + locale + '/' + c.split('href="').last.split('"').first
date = format_date(c.split('[').last.split(']').first)
rss.push(' <item>' + "\n" +
' <title>' + title + '</title>' + "\n" +
' <link>' + link + '</link>' + "\n" +
' <pubDate>' + date + '</pubDate>' + "\n" +
' <guid isPermaLink="false">guid' + title.split('.')[0] + '</guid>' + "\n" +
' </item>')
end
# Cleans and adds headers and footer for index
content.unshift(File.read(template_dir + 'header.html'))
content.unshift(File.read(template_dir + 'head.html'))
content.push(File.read(template_dir + 'footer.html'))
content = content.join("\n").gsub(/\n\n/, "\n")
# Replaces some strings for index
content = content.gsub('@file', 'index.html')
content = content.gsub('@locale', locale)
content = content.gsub('@title', $template_lang[locale]['main'])
content = content.gsub('@links', $template_lang[locale]['links'])
content = content.gsub('@about', $template_lang[locale]['about'])
content = content.gsub('@contact', $template_lang[locale]['contact'])
content = content.gsub('@fork', $template_lang[locale]['fork'])
content = content.gsub('@donate', $template_lang[locale]['donate'])
content = content.gsub('@copyfarleft', $template_lang[locale]['copyfarleft'])
content = content.gsub('@license', $template_lang[locale]['license'])
content = content.gsub('@build', $template_lang[locale]['build'])
content = content.gsub('@date', Time.now.strftime('%Y/%m/%d, %H:%M'))
# Creates index
file = File.open(local + '/index.html', 'w:utf-8')
file.puts content
file.close
# Cleans and add header and footer for RSS
rss.unshift(File.read(template_dir + 'head.xml'))
rss.push(File.read(template_dir + 'foot.xml'))
rss = rss.join("\n").gsub(/\n\n/, "\n")
# Replaces some strings for RSS
rss = rss.gsub('@locale', locale)
rss = rss.gsub('@date', format_date(Time.now.strftime('%Y/%m/%d, %H:%M')))
# Creates RSS
file = File.open(Dir.pwd + '/feed/' + locale + '/rss.xml', 'w:utf-8')
file.puts rss
file.close
end

View File

@ -5,6 +5,7 @@
require 'simple_po_parser'
require 'fileutils'
require 'time'
require File.realdirpath(__FILE__).gsub(/build.*$/, '') + "template/site/main_lang.rb"
# Displays message when something goes wrong
def check condition, err_msg
@ -22,28 +23,6 @@ html_name = ''
html_tmp = ''
md_name = ''
template_dir = 'config/template/site/'
template_lang = {
'en' => {
'links' => 'Links',
'about' => 'About',
'contact' => 'Contact',
'fork' => 'Fork',
'donate' => 'Donate',
'copyfarleft' => 'All content is under',
'license' => 'Open and Free Publishing License',
'build' => 'Last build of this page:',
},
'es' => {
'links' => 'Enlaces',
'about' => 'Acerca',
'contact' => 'Contacto',
'fork' => 'Bifurca',
'donate' => 'Dona',
'copyfarleft' => 'Todo el contenido está bajo',
'license' => 'Licencia Editorial Abierta y Libre',
'build' => 'Última modificación de esta página:',
}
}
# Displays help
if ARGV[0] =~ /-h/
@ -125,14 +104,14 @@ Dir.glob(po_dir + '*/*.po').each do |po|
html_tmp = html_tmp.gsub('@locale', hash['locale'])
html_tmp = html_tmp.gsub('@title', hash['title'])
html_tmp = html_tmp.gsub('@file', hash['file'])
html_tmp = html_tmp.gsub('@links', template_lang[hash['locale']]['links'])
html_tmp = html_tmp.gsub('@about', template_lang[hash['locale']]['about'])
html_tmp = html_tmp.gsub('@contact', template_lang[hash['locale']]['contact'])
html_tmp = html_tmp.gsub('@fork', template_lang[hash['locale']]['fork'])
html_tmp = html_tmp.gsub('@donate', template_lang[hash['locale']]['donate'])
html_tmp = html_tmp.gsub('@copyfarleft', template_lang[hash['locale']]['copyfarleft'])
html_tmp = html_tmp.gsub('@license', template_lang[hash['locale']]['license'])
html_tmp = html_tmp.gsub('@build', template_lang[hash['locale']]['build'])
html_tmp = html_tmp.gsub('@links', $template_lang[hash['locale']]['links'])
html_tmp = html_tmp.gsub('@about', $template_lang[hash['locale']]['about'])
html_tmp = html_tmp.gsub('@contact', $template_lang[hash['locale']]['contact'])
html_tmp = html_tmp.gsub('@fork', $template_lang[hash['locale']]['fork'])
html_tmp = html_tmp.gsub('@donate', $template_lang[hash['locale']]['donate'])
html_tmp = html_tmp.gsub('@copyfarleft', $template_lang[hash['locale']]['copyfarleft'])
html_tmp = html_tmp.gsub('@license', $template_lang[hash['locale']]['license'])
html_tmp = html_tmp.gsub('@build', $template_lang[hash['locale']]['build'])
html_tmp = html_tmp.gsub('@date', Time.now.strftime('%Y/%m/%d, %H:%M'))
# Save the data

View File

@ -0,0 +1,2 @@
</channel>
</rss>

View File

@ -2,7 +2,7 @@
<footer>
<p class="left no-indent">@copyfarleft <a href="../../../content/html/@locale/_fork.html">@license (<span class="smallcap">LEAL</span>)</a>.</p>
<p class="left no-indent">@build @date.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/rss.xml">RSS</a></span> | <a href="../../../content/html/en/@file"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/@file"><span class="versalita">ES</span></a></p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/@locale/rss.xml">RSS</a></span> | <a href="../../../content/html/en/@file"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/@file"><span class="versalita">ES</span></a></p>
</footer>
</body>
</html>

View File

@ -0,0 +1,15 @@
<?xml version="1.0" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="https://perrotuerto.blog/feed/@locale/rss.xml" rel="self" type="application/rss+xml" />
<title>Publishing is Coding: Change My Mind</title>
<link>https://perrotuerto.blog/content/html/@locale/</link>
<description>Blog about free culture, free software and free publishing.</description>
<language>@locale</language>
<managingEditor>hi@perrotuerto.blog (Nika Zhenya)</managingEditor>
<lastBuildDate>@date</lastBuildDate>
<image>
<title>Publishing is Coding: Change My Mind</title>
<url>https://perrotuerto.blog/icon.png</url>
<link>https://perrotuerto.blog/content/html/@locale/</link>
</image>

View File

@ -1,6 +1,6 @@
<body>
<header>
<h1><a href="https://perrotuerto.blog">Publishing is Coding: Change My Mind</a></h1>
<h1><a href="https://perrotuerto.blog/content/html/@locale/">Publishing is Coding: Change My Mind</a></h1>
<nav>
<p>
<a href="../../../content/html/@locale/_links.html">@links</a> |

View File

@ -0,0 +1,24 @@
$template_lang = {
'en' => {
'main' => 'Publishing is Coding: Change My Mind',
'links' => 'Links',
'about' => 'About',
'contact' => 'Contact',
'fork' => 'Fork',
'donate' => 'Donate',
'copyfarleft' => 'All content is under',
'license' => 'Open and Free Publishing License',
'build' => 'Last build of this page:',
},
'es' => {
'main' => 'Publishing is Coding: Change My Mind',
'links' => 'Enlaces',
'about' => 'Acerca',
'contact' => 'Contacto',
'fork' => 'Bifurca',
'donate' => 'Dona',
'copyfarleft' => 'Todo el contenido está bajo',
'license' => 'Licencia Editorial Abierta y Libre',
'build' => 'Última modificación de esta página:',
}
}

View File

@ -14,7 +14,7 @@
</head>
<body>
<header>
<h1><a href="https://perrotuerto.blog">Publishing is Coding: Change My Mind</a></h1>
<h1><a href="https://perrotuerto.blog/content/html/en/">Publishing is Coding: Change My Mind</a></h1>
<nav> <p> <a href="../../../content/html/en/_links.html">Links</a> | <a href="../../../content/html/en/_about.html">About</a> | <a href="../../../content/html/en/_contact.html">Contact</a> | <a href="../../../content/html/en/_fork.html">Fork</a> | <a href="../../../content/html/en/_donate.html">Donate</a> </p>
</nav>
</header>
@ -29,8 +29,8 @@
</section>
<footer>
<p class="left no-indent">All content is under <a href="../../../content/html/en/_fork.html">Open and Free Publishing License (<span class="smallcap">LEAL</span>)</a>.</p>
<p class="left no-indent">Last build of this page: 2019/03/19, 23:09.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_about.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_about.html"><span class="versalita">ES</span></a></p>
<p class="left no-indent">Last build of this page: 2019/03/20, 01:59.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/en/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_about.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_about.html"><span class="versalita">ES</span></a></p>
</footer>
</body>
</html>

View File

@ -14,7 +14,7 @@
</head>
<body>
<header>
<h1><a href="https://perrotuerto.blog">Publishing is Coding: Change My Mind</a></h1>
<h1><a href="https://perrotuerto.blog/content/html/en/">Publishing is Coding: Change My Mind</a></h1>
<nav> <p> <a href="../../../content/html/en/_links.html">Links</a> | <a href="../../../content/html/en/_about.html">About</a> | <a href="../../../content/html/en/_contact.html">Contact</a> | <a href="../../../content/html/en/_fork.html">Fork</a> | <a href="../../../content/html/en/_donate.html">Donate</a> </p>
</nav>
</header>
@ -33,8 +33,8 @@
</section>
<footer>
<p class="left no-indent">All content is under <a href="../../../content/html/en/_fork.html">Open and Free Publishing License (<span class="smallcap">LEAL</span>)</a>.</p>
<p class="left no-indent">Last build of this page: 2019/03/19, 23:09.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_contact.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_contact.html"><span class="versalita">ES</span></a></p>
<p class="left no-indent">Last build of this page: 2019/03/20, 01:59.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/en/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_contact.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_contact.html"><span class="versalita">ES</span></a></p>
</footer>
</body>
</html>

View File

@ -14,7 +14,7 @@
</head>
<body>
<header>
<h1><a href="https://perrotuerto.blog">Publishing is Coding: Change My Mind</a></h1>
<h1><a href="https://perrotuerto.blog/content/html/en/">Publishing is Coding: Change My Mind</a></h1>
<nav> <p> <a href="../../../content/html/en/_links.html">Links</a> | <a href="../../../content/html/en/_about.html">About</a> | <a href="../../../content/html/en/_contact.html">Contact</a> | <a href="../../../content/html/en/_fork.html">Fork</a> | <a href="../../../content/html/en/_donate.html">Donate</a> </p>
</nav>
</header>
@ -28,8 +28,8 @@
</section>
<footer>
<p class="left no-indent">All content is under <a href="../../../content/html/en/_fork.html">Open and Free Publishing License (<span class="smallcap">LEAL</span>)</a>.</p>
<p class="left no-indent">Last build of this page: 2019/03/19, 23:09.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_donate.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_donate.html"><span class="versalita">ES</span></a></p>
<p class="left no-indent">Last build of this page: 2019/03/20, 01:59.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/en/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_donate.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_donate.html"><span class="versalita">ES</span></a></p>
</footer>
</body>
</html>

View File

@ -14,7 +14,7 @@
</head>
<body>
<header>
<h1><a href="https://perrotuerto.blog">Publishing is Coding: Change My Mind</a></h1>
<h1><a href="https://perrotuerto.blog/content/html/en/">Publishing is Coding: Change My Mind</a></h1>
<nav> <p> <a href="../../../content/html/en/_links.html">Links</a> | <a href="../../../content/html/en/_about.html">About</a> | <a href="../../../content/html/en/_contact.html">Contact</a> | <a href="../../../content/html/en/_fork.html">Fork</a> | <a href="../../../content/html/en/_donate.html">Donate</a> </p>
</nav>
</header>
@ -58,8 +58,8 @@
</section>
<footer>
<p class="left no-indent">All content is under <a href="../../../content/html/en/_fork.html">Open and Free Publishing License (<span class="smallcap">LEAL</span>)</a>.</p>
<p class="left no-indent">Last build of this page: 2019/03/19, 23:09.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_fork.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_fork.html"><span class="versalita">ES</span></a></p>
<p class="left no-indent">Last build of this page: 2019/03/20, 01:59.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/en/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_fork.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_fork.html"><span class="versalita">ES</span></a></p>
</footer>
</body>
</html>

View File

@ -14,7 +14,7 @@
</head>
<body>
<header>
<h1><a href="https://perrotuerto.blog">Publishing is Coding: Change My Mind</a></h1>
<h1><a href="https://perrotuerto.blog/content/html/en/">Publishing is Coding: Change My Mind</a></h1>
<nav> <p> <a href="../../../content/html/en/_links.html">Links</a> | <a href="../../../content/html/en/_about.html">About</a> | <a href="../../../content/html/en/_contact.html">Contact</a> | <a href="../../../content/html/en/_fork.html">Fork</a> | <a href="../../../content/html/en/_donate.html">Donate</a> </p>
</nav>
</header>
@ -43,8 +43,8 @@
</section>
<footer>
<p class="left no-indent">All content is under <a href="../../../content/html/en/_fork.html">Open and Free Publishing License (<span class="smallcap">LEAL</span>)</a>.</p>
<p class="left no-indent">Last build of this page: 2019/03/19, 23:09.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_links.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_links.html"><span class="versalita">ES</span></a></p>
<p class="left no-indent">Last build of this page: 2019/03/20, 01:59.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/en/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_links.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_links.html"><span class="versalita">ES</span></a></p>
</footer>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Publishing is Coding: Change My Mind</title>
<meta charset="utf-8" />
<meta name="application-name" content="Publishing is Coding: Change My Mind">
<meta name="description" content="Blog about free culture, free software and free publishing.">
<meta name="keywords" content="publishing, blog, book, ebook, methodology, foss, libre-software, format, markdown, html, epub, pdf, mobi, latex, tex, culture, free culture, philosophy">
<meta name="viewport" content="width=device-width, user-scalable=0">
<link rel="shortcut icon" href="../../../icon.png">
<link rel="alternate" type="application/rss+xml" href="https://perrotuerto.blog/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/extra.css">
</head>
<body>
<header>
<h1><a href="https://perrotuerto.blog/content/html/en/">Publishing is Coding: Change My Mind</a></h1>
<nav>
<p>
<a href="../../../content/html/en/_links.html">Links</a> |
<a href="../../../content/html/en/_about.html">About</a> |
<a href="../../../content/html/en/_contact.html">Contact</a> |
<a href="../../../content/html/en/_fork.html">Fork</a> |
<a href="../../../content/html/en/_donate.html">Donate</a>
</p>
</nav>
</header>
<section>
</section>
<footer>
<p class="left no-indent">All content is under <a href="../../../content/html/en/_fork.html">Open and Free Publishing License (<span class="smallcap">LEAL</span>)</a>.</p>
<p class="left no-indent">Last build of this page: 2019/03/20, 01:58.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/en/rss.xml">RSS</a></span> | <a href="../../../content/html/en/index.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/index.html"><span class="versalita">ES</span></a></p>
</footer>
</body>
</html>

View File

@ -14,7 +14,7 @@
</head>
<body>
<header>
<h1><a href="https://perrotuerto.blog">Publishing is Coding: Change My Mind</a></h1>
<h1><a href="https://perrotuerto.blog/content/html/es/">Publishing is Coding: Change My Mind</a></h1>
<nav> <p> <a href="../../../content/html/es/_links.html">Enlaces</a> | <a href="../../../content/html/es/_about.html">Acerca</a> | <a href="../../../content/html/es/_contact.html">Contacto</a> | <a href="../../../content/html/es/_fork.html">Bifurca</a> | <a href="../../../content/html/es/_donate.html">Dona</a> </p>
</nav>
</header>
@ -29,8 +29,8 @@
</section>
<footer>
<p class="left no-indent">Todo el contenido está bajo <a href="../../../content/html/es/_fork.html">Licencia Editorial Abierta y Libre (<span class="smallcap">LEAL</span>)</a>.</p>
<p class="left no-indent">Última modificación de esta página: 2019/03/19, 23:09.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_about.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_about.html"><span class="versalita">ES</span></a></p>
<p class="left no-indent">Última modificación de esta página: 2019/03/20, 01:59.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/es/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_about.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_about.html"><span class="versalita">ES</span></a></p>
</footer>
</body>
</html>

View File

@ -14,7 +14,7 @@
</head>
<body>
<header>
<h1><a href="https://perrotuerto.blog">Publishing is Coding: Change My Mind</a></h1>
<h1><a href="https://perrotuerto.blog/content/html/es/">Publishing is Coding: Change My Mind</a></h1>
<nav> <p> <a href="../../../content/html/es/_links.html">Enlaces</a> | <a href="../../../content/html/es/_about.html">Acerca</a> | <a href="../../../content/html/es/_contact.html">Contacto</a> | <a href="../../../content/html/es/_fork.html">Bifurca</a> | <a href="../../../content/html/es/_donate.html">Dona</a> </p>
</nav>
</header>
@ -33,8 +33,8 @@
</section>
<footer>
<p class="left no-indent">Todo el contenido está bajo <a href="../../../content/html/es/_fork.html">Licencia Editorial Abierta y Libre (<span class="smallcap">LEAL</span>)</a>.</p>
<p class="left no-indent">Última modificación de esta página: 2019/03/19, 23:09.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_contact.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_contact.html"><span class="versalita">ES</span></a></p>
<p class="left no-indent">Última modificación de esta página: 2019/03/20, 01:59.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/es/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_contact.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_contact.html"><span class="versalita">ES</span></a></p>
</footer>
</body>
</html>

View File

@ -14,7 +14,7 @@
</head>
<body>
<header>
<h1><a href="https://perrotuerto.blog">Publishing is Coding: Change My Mind</a></h1>
<h1><a href="https://perrotuerto.blog/content/html/es/">Publishing is Coding: Change My Mind</a></h1>
<nav> <p> <a href="../../../content/html/es/_links.html">Enlaces</a> | <a href="../../../content/html/es/_about.html">Acerca</a> | <a href="../../../content/html/es/_contact.html">Contacto</a> | <a href="../../../content/html/es/_fork.html">Bifurca</a> | <a href="../../../content/html/es/_donate.html">Dona</a> </p>
</nav>
</header>
@ -28,8 +28,8 @@
</section>
<footer>
<p class="left no-indent">Todo el contenido está bajo <a href="../../../content/html/es/_fork.html">Licencia Editorial Abierta y Libre (<span class="smallcap">LEAL</span>)</a>.</p>
<p class="left no-indent">Última modificación de esta página: 2019/03/19, 23:09.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_donate.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_donate.html"><span class="versalita">ES</span></a></p>
<p class="left no-indent">Última modificación de esta página: 2019/03/20, 01:59.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/es/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_donate.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_donate.html"><span class="versalita">ES</span></a></p>
</footer>
</body>
</html>

View File

@ -14,7 +14,7 @@
</head>
<body>
<header>
<h1><a href="https://perrotuerto.blog">Publishing is Coding: Change My Mind</a></h1>
<h1><a href="https://perrotuerto.blog/content/html/es/">Publishing is Coding: Change My Mind</a></h1>
<nav> <p> <a href="../../../content/html/es/_links.html">Enlaces</a> | <a href="../../../content/html/es/_about.html">Acerca</a> | <a href="../../../content/html/es/_contact.html">Contacto</a> | <a href="../../../content/html/es/_fork.html">Bifurca</a> | <a href="../../../content/html/es/_donate.html">Dona</a> </p>
</nav>
</header>
@ -58,8 +58,8 @@
</section>
<footer>
<p class="left no-indent">Todo el contenido está bajo <a href="../../../content/html/es/_fork.html">Licencia Editorial Abierta y Libre (<span class="smallcap">LEAL</span>)</a>.</p>
<p class="left no-indent">Última modificación de esta página: 2019/03/19, 23:09.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_fork.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_fork.html"><span class="versalita">ES</span></a></p>
<p class="left no-indent">Última modificación de esta página: 2019/03/20, 01:59.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/es/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_fork.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_fork.html"><span class="versalita">ES</span></a></p>
</footer>
</body>
</html>

View File

@ -14,7 +14,7 @@
</head>
<body>
<header>
<h1><a href="https://perrotuerto.blog">Publishing is Coding: Change My Mind</a></h1>
<h1><a href="https://perrotuerto.blog/content/html/es/">Publishing is Coding: Change My Mind</a></h1>
<nav> <p> <a href="../../../content/html/es/_links.html">Enlaces</a> | <a href="../../../content/html/es/_about.html">Acerca</a> | <a href="../../../content/html/es/_contact.html">Contacto</a> | <a href="../../../content/html/es/_fork.html">Bifurca</a> | <a href="../../../content/html/es/_donate.html">Dona</a> </p>
</nav>
</header>
@ -43,8 +43,8 @@
</section>
<footer>
<p class="left no-indent">Todo el contenido está bajo <a href="../../../content/html/es/_fork.html">Licencia Editorial Abierta y Libre (<span class="smallcap">LEAL</span>)</a>.</p>
<p class="left no-indent">Última modificación de esta página: 2019/03/19, 23:09.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_links.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_links.html"><span class="versalita">ES</span></a></p>
<p class="left no-indent">Última modificación de esta página: 2019/03/20, 01:59.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/es/rss.xml">RSS</a></span> | <a href="../../../content/html/en/_links.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/_links.html"><span class="versalita">ES</span></a></p>
</footer>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="es">
<head>
<title>Publishing is Coding: Change My Mind</title>
<meta charset="utf-8" />
<meta name="application-name" content="Publishing is Coding: Change My Mind">
<meta name="description" content="Blog about free culture, free software and free publishing.">
<meta name="keywords" content="publishing, blog, book, ebook, methodology, foss, libre-software, format, markdown, html, epub, pdf, mobi, latex, tex, culture, free culture, philosophy">
<meta name="viewport" content="width=device-width, user-scalable=0">
<link rel="shortcut icon" href="../../../icon.png">
<link rel="alternate" type="application/rss+xml" href="https://perrotuerto.blog/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/extra.css">
</head>
<body>
<header>
<h1><a href="https://perrotuerto.blog/content/html/es/">Publishing is Coding: Change My Mind</a></h1>
<nav>
<p>
<a href="../../../content/html/es/_links.html">Enlaces</a> |
<a href="../../../content/html/es/_about.html">Acerca</a> |
<a href="../../../content/html/es/_contact.html">Contacto</a> |
<a href="../../../content/html/es/_fork.html">Bifurca</a> |
<a href="../../../content/html/es/_donate.html">Dona</a>
</p>
</nav>
</header>
<section>
</section>
<footer>
<p class="left no-indent">Todo el contenido está bajo <a href="../../../content/html/es/_fork.html">Licencia Editorial Abierta y Libre (<span class="smallcap">LEAL</span>)</a>.</p>
<p class="left no-indent">Última modificación de esta página: 2019/03/20, 01:58.</p>
<p class="left no-indent"><span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/es/rss.xml">RSS</a></span> | <a href="../../../content/html/en/index.html"><span class="versalita">EN</span></a> | <a href="../../../content/html/es/index.html"><span class="versalita">ES</span></a></p>
</footer>
</body>
</html>

View File

@ -16,6 +16,9 @@ section {margin-top: 50px}
section > * {text-align: left !important;}
section h1 {margin: 0em; margin-bottom: 1em; font-size: 1.15em;}
section code {font-size: 0.75em;}
section .post {margin-top: 1em;}
section .post p {text-indent: 0;}
section .post p:first-child {font-size: 1.15em;}
/* Footer */

17
feed/en/rss.xml Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="https://perrotuerto.blog/feed/en/rss.xml" rel="self" type="application/rss+xml" />
<title>Publishing is Coding: Change My Mind</title>
<link>https://perrotuerto.blog/content/html/en/</link>
<description>Blog about free culture, free software and free publishing.</description>
<language>en</language>
<managingEditor>hi@perrotuerto.blog (Nika Zhenya)</managingEditor>
<lastBuildDate>Wed, 20 Mar 2019 01:58:00 -0600</lastBuildDate>
<image>
<title>Publishing is Coding: Change My Mind</title>
<url>https://perrotuerto.blog/icon.png</url>
<link>https://perrotuerto.blog/content/html/en/</link>
</image>
</channel>
</rss>

17
feed/es/rss.xml Normal file
View File

@ -0,0 +1,17 @@
<?xml version="1.0" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="https://perrotuerto.blog/feed/es/rss.xml" rel="self" type="application/rss+xml" />
<title>Publishing is Coding: Change My Mind</title>
<link>https://perrotuerto.blog/content/html/es/</link>
<description>Blog about free culture, free software and free publishing.</description>
<language>es</language>
<managingEditor>hi@perrotuerto.blog (Nika Zhenya)</managingEditor>
<lastBuildDate>Wed, 20 Mar 2019 01:58:00 -0600</lastBuildDate>
<image>
<title>Publishing is Coding: Change My Mind</title>
<url>https://perrotuerto.blog/icon.png</url>
<link>https://perrotuerto.blog/content/html/es/</link>
</image>
</channel>
</rss>

View File

@ -1,34 +0,0 @@
# Publishing is Coding: Change My Mind
## Donations
🌮 Donate for some tacos with [ETH](https://etherscan.io/address/0x39b0bf0cf86776060450aba23d1a6b47f5570486).
:dog: Donate for some dog food with [DOGE](https://dogechain.info/address/DMbxM4nPLVbzTALv5n8G16TTzK4WDUhC7G).
:beer: Donate for some beers with [PayPal](https://www.paypal.me/perrotuerto).
## Related links (spanish)
Taller de Edición Digital (Digital Publishing Workshop): [ted.cliteratu.re](https://ted.cliteratu.re/).
_Edición digital como metodología para una edición global_ (_Digital Publishing as Methodology for Global Publishing_): [ed.cliteratu.re](https://ed.cliteratu.re/).
Pecas, herramientas editoriales (Pecas, publishing tools): [pecas.cliteratu.re](https://pecas.cliteratu.re/).
Blog: [perrotuerto.blog](https://perrotuerto.blog).
## License
All content is under [Licencia Editorial Abierta y Libre (LEAL)](https://github.com/NikaZhenya/licencia-editorial-abierta-y-libre).
“Licencia Editorial Abierta y Libre” is translated to “Open and Free Publishing
License”. “LEAL” is the acronym but also means “loyal” in spanish.
With LEAL you are free to use, copy, reedit, modify, distribute or merchandise
any of this content under the following conditions:
1. Any product produced with this content must be under some type of LEAL.
2. Merchandising cannot be the only way to acquire the final product.
3. The use of content must not harm any collaborator.
4. All files (editables or finals) must be public access.

View File

@ -1,299 +0,0 @@
#!/usr/bin/env ruby
# encoding: UTF-8
# coding: UTF-8
require 'fileutils'
require 'time'
require 'json'
#=> Also requires Inkscape and Pecas
Encoding.default_internal = Encoding::UTF_8
Dir.chdir(File.dirname(__FILE__))
#=> Variables
$language = 'en-US'
$mariana = 'Mariana Eguaras\' blog'
$author_name = 'Nika Zhenya'
$author_email = 'hi@perrotuerto.blog'
$site_name = 'Publishing is Coding: Change My Mind'
$site_description = 'Such empty! It is under construction…'
$site_keywords = 'publishing, blog, book, ebook, methodology, foss, libre-software, format, markdown, html, epub, pdf, mobi, latex, tex'
$site_link = 'https://perrotuerto.blog'
$site_img = 'icon.png'
$date = Time.now.to_s.split(' ')[0]
$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,
:link => $site_link,
:description => $site_description,
:language => $language,
:managingEditor => $author_email + ' (' + $author_name + ')',
:lastBuildDate => '',
:image => {
:title => $site_name,
:url => $site_link + '/' + $site_img,
:link => $site_link
},
:items => []
}
}
$xml = []
#=> Definitions
# Gets date in proper format
def get_date d, rfc = false
d = d.split('-')
def month m
months = [
'January', 'February', 'March', 'April',
'May', 'June', 'July', 'August',
'September', 'October', 'November', 'December'
]
return months[m.to_i - 1]
end
if rfc
return Time.new(d[0], d[1], d[2]).rfc2822
else
return month(d[1]) + ' ' +
d[2].to_i.to_s + ', ' +
d[0]
end
end
# Replaces strings
def replace_content content, title = 'Main'
elements = [
['language', $language],
['site_name', $site_name],
['site_description', $site_description],
['site_keywords', $site_keywords],
['site_link', $site_link],
['site_img', $site_img],
['author_name', $author_name],
['author_email', $author_email],
['date', get_date($date)],
['title', title]
]
elements.each do |e|
content.gsub!("$#{e[0]}$", e[1])
end
if content.split("\n")[0] == '<header>'
content.gsub!($mariana, "<a target=\"_blank\" href=\"https://marianaeguaras.com/blog/\">#{$mariana}</a>")
end
if title == 'Main'
content.gsub!('href="../', 'href="')
content.gsub!('src="../', 'src="')
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
md_content = []
item = {
:guid => $site_link + '/html/' + File.basename(md, '.*'),
:title => '',
:link => $site_link + '/html/' + File.basename(md, '.*') + '.html',
:description => '',
:author => $author_email + ' (' + $author_name + ')',
:category => '',
:pubDate => ''
}
# Gets properties from MD
def item_split s
return s.gsub(/@\S+\['(.*?)'\]/, '\1').strip.split('\',\'')
end
puts "Building '" + File.basename(md) + "'…"
# Analizes MD
file = File.open(md, 'r:UTF-8')
file.each_with_index do |l, i|
if i == 0
item[:title] = l.gsub(/^#/, '').strip
end
if l =~ /^@meta\[.*?\]\s*?$/
data = item_split(l)
item[:pubDate] = get_date(data[0], true)
item[:category] = data[1]
item[:description] = data[2]
md_content.push(
'<p class="meta">' +
get_date(data[0]) + ' | ' +
data[1] + ' | ' +
'<span class="smallcap"><a target="_blank" href="' + $site_link + '/md/' + File.basename(md) + '">MD</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] + '">spanish version</a>' +
'</p>'
)
else
md_content.push(l)
end
end
# Everything is gonna be created in a temporary directory
Dir.mkdir('tmp')
Dir.chdir('tmp')
# 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}")
# Will convert HTML to EPUB and MOBI
system("pc-automata --init")
Dir.chdir('epub-automata')
# 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)
# 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`
# Copies the images
Dir.glob('../../img/*.*').each do |img|
if File.basename(img) =~ /^e#{File.basename(md)[5..7]}/
FileUtils.cp(img, cover_url + 'img')
end
end
# 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
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 create_xml hash, space = ''
hash.each do |k, v|
if k.to_s != 'items'
$xml.push(space + '<' + k.to_s + '>')
if k.to_s == 'channel'
$xml.push(space + ' <atom:link href="' + $site_link + '/feed/rss.xml" rel="self" type="application/rss+xml" />')
end
end
if v.class == Hash
create_xml(v, space + ' ')
elsif v.class == Array
v.each do |e|
$xml.push(space + '<item>')
create_xml(e, space + ' ')
$xml.push(space + '</item>')
end
else
$xml.push(space + ' ' + v)
end
if k.to_s != 'items'
$xml.push(space + '</' + k.to_s + '>')
end
end
end
#=> 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
Dir.glob('md/*.{md}').each_with_index do |md, i|
convert_md(File.absolute_path(md))
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 index.html
puts "Building 'index.html'…"
html_content = []
$rss[:channel][:items].each do |item|
inner_html = '<div class="entry" id="' + item[:guid].split('/').last + '"><p>' +
'<a href="' + item[:link] + '">' + item[:title] + '</a>' +
'</p><p class="meta">' + get_date(Time.parse(item[:pubDate]).to_s.split(/\s+/)[0]) +
' | ' + item[:category] + '</p><p>' + item[:description] + '</p></div>'
html_content.push(inner_html.gsub!($site_link, '.'))
end
change_file('index.html', [replace_content($head),
replace_content($header),
html_content,
replace_content($footer)])
# Builds RSS
puts "Building 'rss.xml'…"
change_file('feed/rss.xml', ['<?xml version="1.0" ?>',
'<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">',
$xml,
'</rss>'])

View File

@ -1,824 +0,0 @@
/**************************************************/
/******************* 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;
-moz-hyphens: none;
-webkit-hyphens: none;
-o-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
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;}
.addenda:before {content: "addendum";display:block;margin-left:-3.5em;font-size:.75em;color:gray;background:white;}
.addenda + .addenda:before {content: "";}
.meta {font-size:.75em;text-indent:0;color:gray;margin-bottom:6em;}
.meta a {color:gray;}
.meta + p {text-indent:0;}

View File

@ -1,7 +0,0 @@
body > h1:first-child {margin-bottom:0;}
.addenda {border-left: 3px solid yellow; padding-left:1em;}
.addenda:before {content: "addendum";display:block;margin-left:-3.5em;font-size:.75em;color:gray;background:white;}
.addenda + .addenda:before {content: "";}
.meta {font-size:.75em;text-indent:0;color:gray;margin-bottom:6em;}
.meta a {color:gray;}
.meta + p {text-indent:0;}

View File

@ -1,36 +0,0 @@
body {margin:0;}
body > * {float:left;}
body > section {width:calc(75% - 10em);margin:5em;}
header {width:calc(25% - 5em);margin-top: 5em;padding:2.5em;background-color:black;color:white;border-radius:0 .5em .5em 0;}
header h1 {margin:0; font-size: 1.25em;}
header h1 + p {margin-top:1em!important;}
header h3 {margin-top:1em;}
header a {color: white;}
header p, footer nav {text-align:left;}
header p + p, footer p + p {text-indent:0;}
header nav > p:before {content:"> ";}
section p {text-align: left;}
section h1 {margin-bottom:0;}
footer {border-top: 1px dashed black; width:calc(100% - 2em); margin: 1em;}
footer {font-size: .75em;}
footer p {text-align: center;}
footer p + p {margin-top:.25em;}
footer > *:first-child {margin-top: 1em;}
@media screen and (max-width: 768px) {
body > * {float:none;}
body > section {width:calc(100% - 5em);margin:2.5em;}
header {width:calc(100% - 5em);margin-top:0;border-radius:0;}
header > p:first-of-type {display:inline;}
header nav {margin-top:1em;}
header nav > * {display:inline;}
header nav > p:before {content:"| ";}
header h3 {display: none;}
header h3 + p:before {content: none;}
footer {word-wrap: break-word;}
}
div.entry {margin-bottom:1em;padding-bottom:1em;border-bottom: 1px solid #ddd;}
div.entry:last-child {border:none;}
div.entry .meta {margin-bottom: 0;}
#hashover {margin-top: 3em;}

View File

@ -1,817 +0,0 @@
/**************************************************/
/******************* 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;
-moz-hyphens: none;
-webkit-hyphens: none;
-o-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
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 */

Binary file not shown.

Binary file not shown.

View File

@ -1,7 +0,0 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="refresh" content="0; url=https://blog.cliteratu.re/feed/rss.xml" />
</head>
<body></body>
</html>

View File

@ -1,35 +0,0 @@
<?xml version="1.0" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="https://perrotuerto.blog/feed/rss.xml" rel="self" type="application/rss+xml" />
<title>
Publishing is Coding: Change My Mind
</title>
<link>
https://perrotuerto.blog
</link>
<description>
Such empty! It is under construction…
</description>
<language>
en-US
</language>
<managingEditor>
hi@perrotuerto.blog (Nika Zhenya)
</managingEditor>
<lastBuildDate>
Sun, 27 Jan 2019 00:00:00 -0600
</lastBuildDate>
<image>
<title>
Publishing is Coding: Change My Mind
</title>
<url>
https://perrotuerto.blog/icon.png
</url>
<link>
https://perrotuerto.blog
</link>
</image>
</channel>
</rss>

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@ -1,37 +0,0 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Publishing is Coding: Change My Mind | Main</title>
<meta charset="utf-8" />
<meta name="application-name" content="Publishing is Coding: Change My Mind">
<meta name="description" content="Such empty! It is under construction…">
<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://perrotuerto.blog/feed/" title="Publishing is Coding: Change My Mind">
<link type="text/css" rel="stylesheet" href="css/core.css">
<link type="text/css" rel="stylesheet" href="css/extra.css">
<script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript" src="js/piwik.js"></script>
</head>
<body>
<header>
<h1><a href="https://perrotuerto.blog">Publishing is Coding: Change My Mind</a></h1>
<p>Such empty! It is under construction…</p>
<nav>
<h3>Contact</h3>
<p><a target="_blank" href="mailto:hi@perrotuerto.blog">Email</a></p>
<p><a target="_blank" href="https://mastodon.social/@_perroTuerto">Mastodon</a></p>
<p><a target="_blank" href="https://twitter.com/_perroTuerto">Twitter</a></p>
</nav>
</header>
<section>
</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://perrotuerto.blog">perrotuerto.blog</a></p>
<p>All content is under <a target="_blank" href="https://github.com/NikaZhenya/publishing-is-coding#license">Licencia Editorial Abierta y Libre (<span class="smallcap">LEAL</span>)</a>.</p>
<p>Last build: January 27, 2019 | <span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/rss.xml">RSS</a></span></p>
<p><a target="_blank" href="https://gitlab.com/NikaZhenya/publishing-is-coding">GitLab</a> | <a target="_blank" href="https://github.com/NikaZhenya/publishing-is-coding">GitHub</a> | <a target="_blank" href="http://git.cliteratu.re/publishing-is-coding">GitList</a></p>
<p><a target="_blank" href="https://etherscan.io/address/0x39b0bf0cf86776060450aba23d1a6b47f5570486"><span class="smallcap">ETH</span></a> | <a target="_blank" href="https://dogechain.info/address/DMbxM4nPLVbzTALv5n8G16TTzK4WDUhC7G"><span class="smallcap">DOGE</span></a> | <a target="_blank" href="https://www.paypal.me/perrotuerto">PayPal</a></p>
</footer>
</body>
</html>

View File

@ -1,17 +0,0 @@
window.onload = function () {
var url = window.location.pathname,
file = url.split('/')[url.split('/').length - 1].substring(0,5);
if (file == 'entry') {
add_shares(url);
}
};
function add_shares (url) {
var section = document.getElementsByTagName('section')[0],
script = document.createElement('script');
script.type = 'text/javascript';
script.src = '/hashover/comments.php';
section.appendChild(script);
}

View File

@ -1,11 +0,0 @@
var _paq = _paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//analytics.cliteratu.re/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', '6']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();

View File

@ -1,325 +0,0 @@
# Digital Publishing as Publishing from Scratch
@meta['2018-10-12','Methodology','A general comparation between the most common methods for developing EPUBs: InDesign, Sigil, Jutoh and “from scratch publishing.”','https://marianaeguaras.com/edicion-digital-como-edicion-desde-cero']
Thanks to [Mariana Eguaras](http://marianaeguaras.com/)
we are going to blog about __digital publishing__,
its __characteristics, benefits and challenges__. We are
also going to talk about __its relation with print
publishing__ and how these issues directly affect the
proceedings for any kind of publishing.
We already have planned what we are going to write about
in the first entries, but any suggestions are welcome. As
much as it is possible the writing won't be technical. We
are going to try to be more friendly to the general public
or publishers.
However, you have to consider that some technicalities
are necessary for publishing. 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.
> The entries were originally wrote in spanish. Some of
> them are now kind of old: in some things I have a
> different opinion or approach. And as it 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 loose way) the
> entries that I still consider relevant. So when you find
> this kind of box, it means that it is an _addendum_ only
> for this broken english version. {.addenda}
> Do you want to improve this mess? You can always help
> through [GitLab](https://gitlab.com/NikaZhenya/publishing-is-coding)
> or [GitHub](https://github.com/NikaZhenya/publishing-is-coding). {.addenda}
In this first entry we will do a __general comparison
between some of the most common methods for developing an
standarized ebook in +++EPUB+++ format__. Some other time
we will go deeper in the history of +++EPUB+++.
First off we should say that between the different ebook
formats available the +++EPUB+++ since the begining was
created as a type of file for _ebooks_. The +++EPUB+++
stands out because of its __versatility, lightness and
respect of web standards__. This ensures code uniformity
and __complete control over the text edition__.
With these features, the +++EPUB+++ is easily convertible
in propertary formats as the ones used by Amazon or Apple.
That means that we can save resources and time when we
develop a digital publication.
This flexibility also allows the development of software
that intends to facilitate the creation of +++EPUB+++s. Just
with a couple of clicks in a text processor (Writer or Word,
e.g.) or desktop publishing (like InDesign) we instantly
have an +++EPUB+++.
At first glance this is a huge advantage for indie authors
or publishers that don't want to invest in “additional
efforts.” However there are at least __two disvantages__ in
doing things this way:
1. The code, design and text edition's qualities tend to be
lower in comparison of others methods.
2. It is often forgotten that the most important thing about
the digital revolution it is not the ebook.
The ebook is the most common feature in digital publishing
but it is just the tip of the iceberg. In order to go
deeper we will have to familiarize with __the behind the
scenes of ebook's development__.
> In spanish I insist that digital publishing isn't the same
> as digital editing. In spanish it is common to use the
> word “edition” and derivatives for things concerning
> publishing. But as far as I can see, “edition“ has
> a more general meaning in english spoken world. {.addenda}
> With “digital editing” I mean _the process_ of publishing
> that involves the use of a computer (practically
> all publishing industry nowadays). “Digital publishing”
> is _the product_ of such process. In these translations I
> will use the terms interchangeably. Only when I see it
> relevant I will say “digital editing” or “digital text
> editing.” {.addenda}
Some people are skeptical about the need of publishing “from
scratch.” Most people prefer to use converters to
automatically create +++EPUB+++ files.
Why do we have to learn markup languages such as [+++HTML+++](https://en.wikipedia.org/wiki/HTML)
or [Markdown](https://en.wikipedia.org/wiki/Markdown)? Why
should we worry about styles sheets like [+++CSS+++](https://en.wikipedia.org/wiki/Cascading_Style_Sheets)
or [+++SCSS+++](https://en.wikipedia.org/wiki/Sass_(stylesheet_language))?
Why must we think about programming languages ([JavaScript](https://en.wikipedia.org/wiki/JavaScript),
[Python](https://en.wikipedia.org/wiki/Python_(programming_language)), [Ruby](https://en.wikipedia.org/wiki/Ruby_(programming_language))
or [C++](https://en.wikipedia.org/wiki/C%2B%2B), e.g.) and
how it could create new reading experiencies or improve the
quality of text edition?
Regardless wether you want a print or digital book, if we
start to pay attention in methodologies, litle by litle we
will see its importance.
## Exercise's peculiarities
To show the advantages and disadvantages of converters
compared to “from scratch publishing,” we will develop the
same book but with each method.
We are gonna do this exercise as realistically as possible.
That is why we are gonna use [Gutenberg Project's spanish edition of
_Don Quixote_](http://www.gutenberg.org/ebooks/2000). For
uniformity our standing points are the text in +++HTML+++
format and the same +++CSS+++ style sheet.
You could wonder:
* __Why will we use Gutenberg Project's edition if there are
better editions online?__ Because it is public domain.
Unlike [Wikisource's edition](https://es.wikisource.org/wiki/El_ingenioso_hidalgo_Don_Quijote_de_la_Mancha),
it is easy to download in a single file.
* __Why will we use an already formated text and not the
direct source?__ I found some typos and similar issues;
plus, formating text could be a nigthmare which I
prefer to discuss another time.
* __Why will we use the same style sheet instead of
redesign the book in each method?__ Design could involve
a lot of time and resources. Also, I want to show the
revelance and flexibility of web style sheets on
publishing even though I am going to talk about it in
another entry.
* __Which methods will we apply in this exercise?__ We will
see [InDesign's](https://www.adobe.com/products/indesign.html)
way of doing things because it is the most common among
publishers and designers. We will use [Jutoh](http://jutoh.com/)
like an example of propertary software for ebook
publishing. Also, we will employ [Sigil](https://github.com/Sigil-Ebook/Sigil)
as open software for ebook publishing. Finally, we will
show how “from scratch publishing” could be a good
candidate for digital publishing.
## Production time chart: the efectiveness of the
“from scratch” method
![Production time chart in minutes.](../img/e001_01.jpg)
One of the biggest myths about “from scratch publishing”
is that it requires a lot of time. But “from scratch”
doesn't mean we have to code it all by hand. As we will
see in other entries, with [scripts](https://en.wikipedia.org/wiki/Scripting_language)
we can grasp all monotonous work implied in +++EPUB+++
development.
With “from scratch publishing” I mean a method were we
don't have a publishing enviroment. Instead of that we use
a [plain text editor](https://en.wikipedia.org/wiki/Text_editor)
or a [source code editor](https://en.wikipedia.org/wiki/Source_code_editor)
and a [command-line interface](https://en.wikipedia.org/wiki/Command-line_interface).
This method could sound very complex and time consuming.
While “from scratch publishing” has it owns challenges,
anyone with a computer can overcome these difficulties.
If we ignore the time needed to format text, in the
following chart we can see that __“from scratch” method is
the most efective__.
With InDesign and Jutoh we have to link each +++CSS+++ style
to a paragraph or character style. InDesign is way more
intuitive than Jutoh. With Sigil or “from scratch
publishing” we don't have this need, because we can
automatically link the +++CSS+++ with the book. But “from
scratch” method has the advantage that we don't have to
recreate the directory tree or import files.
## +++EPUB+++'s size chart: the impact of images and “junk”
code
![+++EPUB+++'s size chart in +++KB+++s.](../img/e001_02.jpg)
There are two factors that impact +++EPUB+++'s
size: __1)__ embedded images and __2)__ “junk” code.
Most +++EPUB+++s embed at least one image, the cover, and
sometimes also a back cover and an author's photo. It
doesn't matter if there are just a couple elements, images
are __the most heavy files in an +++EPUB+++__ if we have
one or more of these setups:
* The book is short.
* The images are bigger than our needs.
* The images lack of good compression.
* The images are in an inconvenient format.
Neither of this conditions affect our exercise because we
are using the same 204 +++KB+++ image.
__The difference comes from “junk” code__. Some converters
add extra code lines. Most of the times it is because it
inject its credits. We also get extra code if we work with
paragraph or character styles instead of +++CSS+++ styles.
> These extra code lines don't improve the reading
> experience of our +++EPUB+++, that is why we called them
> “junk” code. {.addenda}
When we allow converters to create the +++CSS+++, they
will use their own name conventions that generates __two
downsides__:
1. Needless increase of file's size.
2. +++CSS+++ name convention that could make it hard to
understand or edit.
InDesing and Jutoh's +++EPUB+++ are bigger because of “junk”
code. Nevertheless, the size difference between Sigil and
“from scratch publishing” involes the ebook's structure.
From +++EPUB+++3 we have two files for the table of
contents (+++TOC+++). +++NCX+++ is the legacy file while the
new file follows an [+++XHTML+++](https://en.wikipedia.org/wiki/XHTML)
structure.
Because of that, __the +++EPUB+++ developed with “from
scratch publishing” has two +++TOC+++s__. This adds 11
+++KB+++ resulting in a difference of only 5 +++KB+++
between Sigil and “from scratch publishing” books.
> This means that by default Sigil doesn't create the new
> required +++TOC+++ format. That could affect the reading
> experience in newer devices. {.addenda}
## Errors and warnings chart: +++EPUB+++ validation
![Erros and warnings chart.](../img/e001_03.jpg)
One of the main advantages of not developing an +++EPUB+++
with “from scratch” method is that we don't have to know
+++HTML+++, +++CSS+++ and +++EPUB+++ structures. Usually we
also count with a graphical interface that implies a short
learning curve.
However, __ebooks not only requiere good text edition and
design quality, they also need coherent structures__,
i.e. we have to care about technical issues. +++EPUB+++s
must not have errors or warnings because of bad quality
+++HTML+++ or +++CSS+++ code, insufficient metadata or
image issues.
For this reasons we need __+++EPUB+++ validators__. The
official tool for +++EPUB+++ validation is EpubCheck. You
can use it [online](http://validator.idpf.org/) or
[download it](https://github.com/IDPF/epubcheck/releases).
Generally we use another validator so we can do a double
check. For this exercise we also used [BlueGriffon](http://www.bluegriffon-epubedition.com/BGEV.html).
This software isn't free, but is demanded by some clients.
The above chart only show BlueGriffon's validation because
EpubCheck didn't find any error or warning. We had a few
issues because we used the same +++HTML+++ and +++CSS+++
files. Besides, each method created metadata independently.
(For “from scratch publishing” we used [Pecas](https://pecas.cliteratu.re/),
a suite of publishing scripts.)
In InDesign the issue is because an incorrect image
compression. For Sigil and Jutoh, BlueGriffon considers they
are using obsolete metadata elements.
Actually, __it isn't hard to solve these issues__.
Nevertheless, it could be very frustrating to solve them if
you don't know what is inside an +++EPUB+++ file. In order to
solve them we must decompress the +++EPUB+++, then we have
to modify the problematic files and, finally, compress the
files again.
## Implicit production costs: propertary _vs_ free software
We dont need to buy software in order to develop
+++EPUB+++s.
However, half of the methods seen here use propertary
software and, therefore, they have some additional costs.
For InDesign and Jutoh we have to purchase software
licenses. Sigil and “from scratch publishing” only use free
software.
A common myth between non-free software users is that this
kind of tools have lower quality. At least in publishing
enviroment this isn't true. As we could see in this exercise:
__Sigil and “from scratch publishing” had better results__.
However, most publishers only use Adobe products, so in
specific circumstances it is more convenient to develop
ebooks by this way.
If you really care about the quality of your +++EPUB+++s,
think twice before buying propertary software. The free and
open source software communities have great alternatives
that could fulfill your needs.
## Conclusion: “from scratch publishing” wins the match
As it was shown in this exercise __“from scratch
publishing”__ had better results. Most readers could think
that this method requieres certain complex knowledge and a
long learning curve.
I can say that within a 24 hours workshop anybody can
develop their first ebook “from scratch.” Usually most
learners don't have a technical background such as
knowing +++HTML+++, +++CSS+++ or command line tools.
If you are gong to use software exclusively for ebooks, the
recommendation is that it has to be free or open source
software. With this you can avoid the cost increments at
the same time that you can get free help from their
communities.
You can download the [graphics](http://git.cliteratu.re/publishing-is-coding/blob/master/src/entry001/graphics.ods)
and the [data](http://git.cliteratu.re/publishing-is-coding/raw/master/src/entry001/data.txt) :)

View File

@ -1,41 +0,0 @@
# Cyclical and branched publishing:
from the anteroom to the digital «revolution»
@meta['2018-10-19','Methodology','EMPTY.','https://marianaeguaras.com/edicion-ciclica-y-edicion-ramificada-de-la-antesala-a-la-revolucion-digital']
Print publishing has never been easy. Since scribes
until printing it has been necessary to acomplish
several steps. Generally, there are:
1. Edit and proofread.
2. Graphic and layout design.
3. Compare and review.
4. Print.
5. Distribute.
6. Market and business management.
Before the digital «revolution» each step used to
set the rhythm in publishing. It was almost sure that
quality would decrease or an step would have to be
repeated if something went wrong. __The tasks in
traditional publishing had to go step by step and
trying to return as little as possible__.
This rhythm was also constrained to the existent
infrastructure, resources and demand. The rhythm
was consistent and «slow» before printing. After that
publishing processes got faster, costs went down and
demand went up.
Books stopped to being luxury goods and began to be
a common well. We could say that printing wasn't only
a «revolution» but also an «opening» of information.
This revolution created new crafts that specialized
among centuries. Techniques changed and improved over
time but until the middle of +++XX+++ century the
method was the same: __Publishing was an unilateral
progression until book's marketing__.
## In the digital «revolution»

View File

@ -1,43 +0,0 @@
0 - From scratch
EPUB version: 3.0.1
Size: 1,182 KB
Time: 4:17
Epub Check
Errors: 0
Warnings: 0
Blue Griffon
Errors: 0
Warnings: 0
1 - InDesign CC
EPUB version: 3.0.0
Size: 1,185 KB
Time: 4:29
Epub Check
Errors: 0
Warnings: 0
Blue Griffon
Errors: 1
Warnings: 1
2 - Sigil
EPUB version: 3.0.1
Size: 1,177 KB
Time: 4:23
Epub Check
Errors: 0
Warnings: 0
Blue Griffon
Errors: 0
Warnings: 1
3 - Jutoh
EPUB version: 3.0.1
Size: 1,191 KB
Time: 4:46
Epub Check
Errors: 0
Warnings: 0
Blue Griffon
Errors: 0
Warnings: 1

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 73 KiB

View File

@ -1,14 +0,0 @@
<?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>

View File

@ -1,10 +0,0 @@
</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://perrotuerto.blog">perrotuerto.blog</a></p>
<p>All content is under <a target="_blank" href="https://github.com/NikaZhenya/publishing-is-coding#license">Licencia Editorial Abierta y Libre (<span class="smallcap">LEAL</span>)</a>.</p>
<p>Last build: $date$ | <span class="smallcap"><a target="_blank" href="https://perrotuerto.blog/feed/rss.xml">RSS</a></span></p>
<p><a target="_blank" href="https://gitlab.com/NikaZhenya/publishing-is-coding">GitLab</a> | <a target="_blank" href="https://github.com/NikaZhenya/publishing-is-coding">GitHub</a> | <a target="_blank" href="http://git.cliteratu.re/publishing-is-coding">GitList</a></p>
<p><a target="_blank" href="https://etherscan.io/address/0x39b0bf0cf86776060450aba23d1a6b47f5570486"><span class="smallcap">ETH</span></a> | <a target="_blank" href="https://dogechain.info/address/DMbxM4nPLVbzTALv5n8G16TTzK4WDUhC7G"><span class="smallcap">DOGE</span></a> | <a target="_blank" href="https://www.paypal.me/perrotuerto">PayPal</a></p>
</footer>
</body>
</html>

View File

@ -1,16 +0,0 @@
<!DOCTYPE html>
<html lang="$language$">
<head>
<title>$site_name$ | $title$</title>
<meta charset="utf-8" />
<meta name="application-name" content="$site_name$">
<meta name="description" content="$site_description$">
<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/core.css">
<link type="text/css" rel="stylesheet" href="../css/extra.css">
<script type="text/javascript" src="../js/main.js"></script>
<script type="text/javascript" src="../js/piwik.js"></script>
</head>
<body>

View File

@ -1,11 +0,0 @@
<header>
<h1><a href="$site_link$">$site_name$</a></h1>
<p>$site_description$</p>
<nav>
<h3>Contact</h3>
<p><a target="_blank" href="mailto:hi@perrotuerto.blog">Email</a></p>
<p><a target="_blank" href="https://mastodon.social/@_perroTuerto">Mastodon</a></p>
<p><a target="_blank" href="https://twitter.com/_perroTuerto">Twitter</a></p>
</nav>
</header>
<section>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.