On Mon, Feb 9, 2015 at 3:14 PM, RjOllos <[email protected]> wrote:
> INSTALL (5) and UPGRADE (6) duplicate what is provided in TracInstall (7)
> and TracUpgrade (8). Would it be sufficient to just put a link to the wiki
> docs in the files? The link could direct to either the documentation in the
> distribution or to the t.e.o wiki.
Linking to the documentation in the distribution sounds good. INSTALL
and UPGRADE files already navigate the files in the default-pages
directory.
9 **You should also read the trac/wiki/default-pages/TracInstall
10 documentation file present in the source distribution.**
11
12 If you're upgrading an already installed Trac environment, please also
13 read trac/wiki/default-pages/TracUpgrade.
However, I assume that users read INSTALL and UPGRADE files on the
user's terminal. TracInstall and TracUpgrade file have too long lines
(over 80 columns).
> If there's a good reason to not take that approach, maybe there's another
> way to eliminate the duplication, such as exporting from the wiki to ReST or
> MarkDown? Unfortunately we don't have those features yet.
I tried to convert TracInstall using pypi:trac2rst but an IndexError is raised.
Another idea is using pypi:html2rest library after converting Trac
wiki to html. See attached wiki2rst.py.
$ pip install html2rest
$ PYTHONPATH=. python contrib/wiki2rst.py TracInstall
--
Jun Omae <[email protected]> (大前 潤)
--
You received this message because you are subscribed to the Google Groups "Trac
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/trac-dev.
For more options, visit https://groups.google.com/d/optout.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os.path
import sys
from cStringIO import StringIO
from html2rest import html2rest
from pkg_resources import resource_listdir, resource_string
from trac.loader import load_components
from trac.test import EnvironmentStub, Mock, MockPerm
from trac.util.text import printout
from trac.web.chrome import web_context
from trac.web.href import Href
from trac.wiki.formatter import format_to_html
from trac.wiki.model import WikiPage
def main():
names = sorted(name for name in resource_listdir('trac.wiki',
'default-pages')
if not name.startswith('.'))
env = EnvironmentStub()
load_components(env)
with env.db_transaction:
for name in names:
wiki = WikiPage(env, name)
wiki.text = resource_string('trac.wiki', 'default-pages/' +
name).decode('utf-8')
if wiki.text:
wiki.save('trac', '')
else:
printout('%s: Skipped empty page' % name)
req = Mock(href=Href('/'), abs_href=Href('http://trac.edgewall.org/'),
perm=MockPerm())
for name in sys.argv[1:]:
name = os.path.basename(name)
wiki = WikiPage(env, name)
if not wiki.exists:
continue
context = web_context(req, wiki.resource, absurls=True)
html = '<html><body>%s</body></html>' % \
format_to_html(env, context, wiki.text).encode('utf-8')
out = StringIO()
html2rest(html, writer=out)
out = out.getvalue().replace(': http://trac.edgewall.org/wiki/',
': trac/wiki/default-pages/')
sys.stdout.write(out)
if __name__ == '__main__':
main()