maestria-investigacion/tesis/ebooks/generate

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')