From 72dfd5f12ecad942ef784ff58ecd6716eb5c3813 Mon Sep 17 00:00:00 2001 From: "Yann Esposito (Yogsototh)" Date: Wed, 17 Nov 2010 16:32:03 +0100 Subject: [PATCH] Include an HTML generation of the book (via SVG). --- .gitignore | 1 + Rakefile | 49 ++++++++++++++++++++++++++ include/index.html | 88 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 138 insertions(+) create mode 100644 include/index.html diff --git a/.gitignore b/.gitignore index 77cdbbd..ebe4b31 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ *.out my_book.tex tmp/ +site/ diff --git a/Rakefile b/Rakefile index a6c24ce..448b461 100644 --- a/Rakefile +++ b/Rakefile @@ -7,9 +7,58 @@ CLEAN.include('**/*.{aux,log,out}') CLEAN.include('tmp/**/*') CLOBBER.include('**/*.pdf') CLOBBER.include('content/**/*.tex') +CLOBBER.include('site/**/*') task :default => [:compile] +task :to_html do + class HTMLCompile + def initialize + eval File.read('config.rb') + puts @pdfname + end + + def run + FileUtils.mkdir_p("site") + + if not FileTest.exists?( "tmp/#{@pdfname}.pdf" ) + puts "run `rake compile` to generate the pdf file please" + exit 1 + end + command=%{pdf2svg tmp/#{@pdfname}.pdf site/#{@pdfname}-%d.svg all} + system(command) + hdecal=110 + vdecal=120 + nb_pages=0 + Dir["site/*.svg"].each do |fic| + f=File.open(fic,"r") + res=f.read().sub( /viewBox="(\d+) (\d+) (\d+) (\d+)"/) do + res=%{viewBox="} + res<<=%{#{Integer($1) + hdecal} } + res<<=%{#{Integer($2) + vdecal} } + res<<=%{#{Integer($3) - hdecal} } + res<<=%{#{Integer($4) - vdecal}"} + end + f.close + f=File.open(fic,"w") + f.write( res ) + f.close + nb_pages+=1 + end + target=File.open("site/index.html","w") + src=File.open("include/index.html","r") + res=src.read() + src.close + + res.sub!("var nb_pages=0","var nb_pages=#{nb_pages}") + target.write(res) + target.close + end + end + x=HTMLCompile.new + x.run +end + task :compile do require 'rubygems' require 'kramdown' diff --git a/include/index.html b/include/index.html new file mode 100644 index 0000000..55ab642 --- /dev/null +++ b/include/index.html @@ -0,0 +1,88 @@ + + + + + + + + +
+ +
+
+ +
Page 1 / ??
+
+
+ +
+ +