75 lines
1.8 KiB
Ruby
Executable File
75 lines
1.8 KiB
Ruby
Executable File
#!/usr/bin/env ruby
|
|
# encoding: UTF-8
|
|
# coding: UTF-8
|
|
|
|
require 'fileutils'
|
|
|
|
# Definiciones
|
|
|
|
# Obtiene el mes
|
|
def get_month m
|
|
if m == 1
|
|
return 'enero'
|
|
elsif m == 2
|
|
return 'febrero'
|
|
elsif m == 3
|
|
return 'marzo'
|
|
elsif m == 4
|
|
return 'abril'
|
|
elsif m == 5
|
|
return 'mayo'
|
|
elsif m == 6
|
|
return 'junio'
|
|
elsif m == 7
|
|
return 'julio'
|
|
elsif m == 8
|
|
return 'agosto'
|
|
elsif m == 9
|
|
return 'septiembre'
|
|
elsif m == 10
|
|
return 'octubre'
|
|
elsif m == 11
|
|
return 'noviembre'
|
|
elsif m == 12
|
|
return 'diciembre'
|
|
end
|
|
end
|
|
|
|
# Variables
|
|
|
|
pdf_config = File.read('../pdf/generate').gsub(/\\\n\s*/, '')
|
|
$title = pdf_config.gsub(/^(.|\n)*?--title="([^"]+?)"(.|\n)*/, '\2')
|
|
$author = pdf_config.gsub(/^(.|\n)*?--author="([^"]+?)"(.|\n)*/, '\2')
|
|
$press = pdf_config.gsub(/^(.|\n)*?--press="([^"]+?)"(.|\n)*/, '\2')
|
|
.gsub(/\\\\textsc{([^{]+?)}/, ) do |e|
|
|
e = e.gsub(/\\\\textsc{([^{]+?)}/, '\1')
|
|
'<span class="versalita">' + e.upcase + '</span>'
|
|
end
|
|
$year = Time.now.year.to_s
|
|
$date = Time.now.day.to_s + ' de ' +
|
|
get_month(Time.now.month) + ' del ' +
|
|
Time.now.year.to_s
|
|
|
|
# Copia la carpeta XHTML para modificar los archivos
|
|
FileUtils.cp_r('in/xhtml', 'in/xhtml.tmp')
|
|
|
|
# Modifica los archivos XHTML
|
|
Dir.glob('in/xhtml.tmp/*.xhtml') do |file|
|
|
raw = File.read(file)
|
|
clean = raw.gsub('@title', $title)
|
|
.gsub('@author', $author)
|
|
.gsub('@press', $press)
|
|
.gsub('@year', $year)
|
|
.gsub('@date', $date)
|
|
File.write(file, clean)
|
|
end
|
|
|
|
# Va a la carpeta de epub-automata
|
|
Dir.chdir('out')
|
|
|
|
# Llama a la generación de los ebooks
|
|
system("bash generate.sh")
|
|
|
|
# Elimina la carpeta XHTML temporal
|
|
FileUtils.rm_rf('../in/xhtml.tmp')
|