diff --git a/app/models/document.rb b/app/models/document.rb index f49bc18..b935a25 100644 --- a/app/models/document.rb +++ b/app/models/document.rb @@ -101,5 +101,32 @@ class Document < ActiveRecord::Base end end end - + def maketoc + require "open3" + require "json" + sin,sout,serr=Open3.popen3("python #{Rails.root}/bin/maketoc.py") + sin.puts(self.text) + sin.close + b=sout.read() + c=JSON.parse(b) + l=2 + f=true; + s=""*(l-h["level"]) if (h["level"]" if (h["level"]==l) and !f + if (h["level"]>l) + s=s + ""*(l-2) if (l>2) + s=s+"" + self.toc=s + end end diff --git a/app/views/documents/show.html.erb b/app/views/documents/show.html.erb index db59eec..dff248d 100644 --- a/app/views/documents/show.html.erb +++ b/app/views/documents/show.html.erb @@ -11,6 +11,7 @@ +<%= @document.toc %>

<%= @document.name %>

diff --git a/db/migrate/20150504121709_add_toc_to_documents.rb b/db/migrate/20150504121709_add_toc_to_documents.rb new file mode 100644 index 0000000..22ec343 --- /dev/null +++ b/db/migrate/20150504121709_add_toc_to_documents.rb @@ -0,0 +1,5 @@ +class AddTocToDocuments < ActiveRecord::Migration + def change + add_column :documents, :toc, :text + end +end