summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Richter <timo@iera.de>2011-08-06 18:50:34 +0200
committerJan Holesovsky <kendy@suse.cz>2011-08-26 13:43:54 +0200
commit4125fb5b27501a1481bf6746d4141d45896a3364 (patch)
tree7710580408696fc525b061d4a24e9c4ff6bbc188
parente56dbe6b95f14f9e4d3a416ea567b550fc9b79ed (diff)
Added installation of a DLL to the HHC-Installer.
There is no need to do a reinstallation of hhc. Added table of contents New layout mwlib_mods are more flexible
-rwxr-xr-xhelpcontent2/wiki-to-help/HHC/install_hhc.sh7
-rwxr-xr-xhelpcontent2/wiki-to-help/convert.py10
-rw-r--r--helpcontent2/wiki-to-help/htmlhelp.xsl24
-rw-r--r--helpcontent2/wiki-to-help/mwlib_mods/__init__.py9
-rw-r--r--helpcontent2/wiki-to-help/mwlib_mods/custom_nfo.py4
-rw-r--r--helpcontent2/wiki-to-help/mwlib_mods/docbook_internLinks.py24
-rw-r--r--helpcontent2/wiki-to-help/mwlib_mods/no_sections.py38
7 files changed, 105 insertions, 11 deletions
diff --git a/helpcontent2/wiki-to-help/HHC/install_hhc.sh b/helpcontent2/wiki-to-help/HHC/install_hhc.sh
index ba93c78c26..8f13788827 100755
--- a/helpcontent2/wiki-to-help/HHC/install_hhc.sh
+++ b/helpcontent2/wiki-to-help/HHC/install_hhc.sh
@@ -32,6 +32,10 @@ cd "$HHDIR"
# Install HTML Help Workshop
wget -O htmlhelp.exe 'http://go.microsoft.com/fwlink/?LinkId=14188'
+
+# unneccessary
+#wine htmlhelp.exe
+
cabextract -F hhc.exe htmlhelp.exe
cabextract -F HHA.dll htmlhelp.exe
@@ -40,12 +44,15 @@ cabextract -F hhupd.exe htmlhelp.exe
cabextract -F itircl.dll hhupd.exe
cabextract -F itss.dll hhupd.exe
cabextract -F itcc.dll htmlhelp.exe
+cabextract -F hhctrl.ocx hhupd.exe
cp -a itircl.dll "$WINEPREFIX/drive_c/windows/system32/"
cp -a itcc.dll "$WINEPREFIX/drive_c/windows/system32/"
cp -a itss.dll "$WINEPREFIX/drive_c/windows/system32/"
+cp -a hhctrl.ocx "$WINEPREFIX/drive_c/windows/system32/"
wine regsvr32 'C:\WINDOWS\SYSTEM32\itcc.dll'
wine regsvr32 'C:\WINDOWS\SYSTEM32\itircl.dll'
wine regsvr32 'C:\WINDOWS\SYSTEM32\itss.dll'
+wine regsvr32 'C:\WINDOWS\SYSTEM32\hhctrl.ocx'
# Install MFC40.DLL
wget -N http://activex.microsoft.com/controls/vc/mfc40.cab
diff --git a/helpcontent2/wiki-to-help/convert.py b/helpcontent2/wiki-to-help/convert.py
index cd0ffac143..1c92004e56 100755
--- a/helpcontent2/wiki-to-help/convert.py
+++ b/helpcontent2/wiki-to-help/convert.py
@@ -26,7 +26,8 @@ class Main(object):
createChm = True # final
keepTmp = True # final
workingDir = "./test" # final
- style=os.path.join(scriptpath,'xsl/htmlhelp/htmlhelp.xsl') # final
+ #style=os.path.join(scriptpath,'xsl/htmlhelp/htmlhelp.xsl') # final
+ style=os.path.join(scriptpath,'htmlhelp.xsl') # final
tmp=None
@@ -55,7 +56,8 @@ class Main(object):
except OSError:
pass
- def createMetabook(self,xmldump,output):
+ @staticmethod
+ def createMetabook(xmldump,output): # TODO: move to class Metabook
"""
@xmldump String path
@output String path
@@ -68,7 +70,7 @@ class Main(object):
with open(output,"w") as f:
m.write(f)
- def convert(self,source,dest,startpage=None):
+ def convert(self,source,dest,startpage=None,title="LibreOffice"):
"""
Create the converted files.
@source XML-Dump-file
@@ -87,7 +89,7 @@ class Main(object):
#MW.render("--config=%s/wikiconf.txt"%(tmp),
# "-w","docbook","-o",tmp+"/docbook.xml",*names)
MW.render("--config=%s/wikiconf.txt"%(tmp),
- "-w","docbook","-o",tmp+"/docbook.xml","-m",metabook)
+ "-w","docbook","-o",tmp+"/docbook.xml","-m",metabook,"--title",title)
#and mwlib.apps.render
#self.ex(self.mwpath+"mw-buildcdb","--input",source,"--output",tmp) and \
#self.ex(
diff --git a/helpcontent2/wiki-to-help/htmlhelp.xsl b/helpcontent2/wiki-to-help/htmlhelp.xsl
new file mode 100644
index 0000000000..ba7ce7357f
--- /dev/null
+++ b/helpcontent2/wiki-to-help/htmlhelp.xsl
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
+ xmlns:exsl="http://exslt.org/common"
+ xmlns:set="http://exslt.org/sets"
+ version="1.0"
+ exclude-result-prefixes="doc exsl set">
+
+<!-- ********************************************************************
+ $Id: htmlhelp.xsl 1676 2002-06-12 13:21:54Z kosek $
+ ********************************************************************
+
+ This file is used by htmlhelp.xsl if you want to generate source
+ files for HTML Help. It is based on the XSL DocBook Stylesheet
+ distribution (especially on JavaHelp code) from Norman Walsh.
+
+ ******************************************************************** -->
+
+<xsl:import href="xsl/html/chunk.xsl"/>
+<xsl:param name="htmlhelp.use.hhk" select="0"></xsl:param>
+<xsl:include href="xsl/htmlhelp/htmlhelp-common.xsl"/>
+<xsl:param name="generate.index" select="1"/>
+
+</xsl:stylesheet>
diff --git a/helpcontent2/wiki-to-help/mwlib_mods/__init__.py b/helpcontent2/wiki-to-help/mwlib_mods/__init__.py
index 43368eee21..381f31211e 100644
--- a/helpcontent2/wiki-to-help/mwlib_mods/__init__.py
+++ b/helpcontent2/wiki-to-help/mwlib_mods/__init__.py
@@ -3,6 +3,15 @@ This package sets up modifications and bugfixes for mwlib.
Usage: import mwlib_mods
"""
+# The order of the imports is relevant!
+
+import no_sections
+no_sections.apply()
+
import docbook_internLinks
+docbook_internLinks.apply()
+
import custom_nfo
+custom_nfo.apply()
+
diff --git a/helpcontent2/wiki-to-help/mwlib_mods/custom_nfo.py b/helpcontent2/wiki-to-help/mwlib_mods/custom_nfo.py
index 12a3497bed..e1df7845de 100644
--- a/helpcontent2/wiki-to-help/mwlib_mods/custom_nfo.py
+++ b/helpcontent2/wiki-to-help/mwlib_mods/custom_nfo.py
@@ -14,5 +14,7 @@ class WikiDB(mwlib.cdbwiki.WikiDB):
print "Mod: WikiDB"
self.nfo = self.get_data("nfo") or self.nfo
self.siteinfo = self.get_data("siteinfo") or self.siteinfo
-mwlib.cdbwiki.WikiDB=WikiDB
+
+def apply():
+ mwlib.cdbwiki.WikiDB=WikiDB
diff --git a/helpcontent2/wiki-to-help/mwlib_mods/docbook_internLinks.py b/helpcontent2/wiki-to-help/mwlib_mods/docbook_internLinks.py
index ab54dd0c16..9c1bb08656 100644
--- a/helpcontent2/wiki-to-help/mwlib_mods/docbook_internLinks.py
+++ b/helpcontent2/wiki-to-help/mwlib_mods/docbook_internLinks.py
@@ -1,10 +1,13 @@
"""
This enables the conversion of article links to internal links within the docbook output.
+Usage:
+ import docbook_internLinks
+ docbook_internLinks.apply()
Author: Timo Richter
"""
-# Set up nuwiki.adapt
+## Set up nuwiki.adapt
import mwlib.nuwiki
class MyAdapt(mwlib.nuwiki.adapt):
def getParsedArticle(self, title, revision=None):
@@ -17,16 +20,18 @@ class MyAdapt(mwlib.nuwiki.adapt):
""" Returns raw link targets """
return name
-mwlib.nuwiki.adapt = MyAdapt
+def setupAdapt():
+ mwlib.nuwiki.adapt = MyAdapt
-# Set up docbookwriter.grammar
+## Set up docbookwriter.grammar
import mwlib.docbookwriter
import docbook45grammar
-mwlib.docbookwriter.grammar = docbook45grammar.grammar
+def setupGrammar():
+ mwlib.docbookwriter.grammar = docbook45grammar.grammar
-# Set up docbookwriter
+## Set up docbookwriter
import mwlib.docbookwriter
import lxml.etree
class MyDocBookWriter(mwlib.docbookwriter.DocBookWriter):
@@ -63,5 +68,12 @@ class MyDocBookWriter(mwlib.docbookwriter.DocBookWriter):
#dbwriteInterwikiLink = dbwriteLink# FIXME
#dbwriteSpecialLink = dbwriteLink# FIXME
-mwlib.docbookwriter.DocBookWriter = MyDocBookWriter
+def setupDocBookWriter():
+ mwlib.docbookwriter.DocBookWriter = MyDocBookWriter
+
+def apply():
+ setupAdapt()
+ setupGrammar()
+ setupDocBookWriter()
+
diff --git a/helpcontent2/wiki-to-help/mwlib_mods/no_sections.py b/helpcontent2/wiki-to-help/mwlib_mods/no_sections.py
new file mode 100644
index 0000000000..6869fed411
--- /dev/null
+++ b/helpcontent2/wiki-to-help/mwlib_mods/no_sections.py
@@ -0,0 +1,38 @@
+"""
+Writes <article>...</article> instead of <article><section>...</section></article>.
+
+"""
+
+import mwlib.docbookwriter
+#import lxml.etree
+#Element = mwlib.docbookwriter.Element
+class MyDocBookWriter(mwlib.docbookwriter.DocBookWriter):
+ def dbwriteArticle(self, a):
+ from mwlib.docbookwriter import *
+ """
+ this generates the root element if not available
+ """
+ #e = super(MyDocBookWriter,self).dbwriteArticle(a)
+ #e.remove(e.find("section"))
+ #return e
+ # add head + title
+ e = Element("article", lang=self.language)
+ if self.root is None:
+ self.root = e
+ h = SubElement(e,"articleinfo")
+ t = SubElement(h, "title")
+ if a.caption:
+ t.text = a.caption
+
+ # DONT add a section and heading for this article
+ #s = SubElement(e, "section")
+ #si = SubElement(s, "sectioninfo")
+ #h = SubElement(si, "title")
+ #h.text = a.caption
+ #e.writeto = s
+ return e
+
+def apply():
+ mwlib.docbookwriter.DocBookWriter = MyDocBookWriter
+
+