Пример #1
0
import os
import sys

from tsdoc.page import MarkdownPage
from tsdoc.blocks.html import HTMLPrinter
from tsdoc.blocks.pdf import PDFPrinter, CheatSheetTemplate
        
# Main code
_ = sys.argv.pop(0)
page_path = sys.argv.pop(0) 
out_path = sys.argv.pop(0) 

# Destination dir
doc_dir = os.path.dirname(page_path)

if out_path.endswith('.pdf'):
    printer = PDFPrinter(False, CheatSheetTemplate)
elif out_path.endswith('.html'):
    printer = HTMLPrinter(os.getenv('TSDOC_HTML_TEMPLATE'))

page = MarkdownPage(page_path)
page.header = os.getenv('TSDOC_HEADER')
page.docspace = None

with open(out_path, 'wb') as outf:
    if printer.single_doc:
        printer.do_print_pages(outf, page.header, [page])
    else:
        printer.do_print(outf, page.header, page)

Пример #2
0
    doc_suffix = '.creole'
    printer = CreolePrinter()
else:
    raise ValueError("Invalid documentation format '%s'" % doc_format)

pages = defaultdict(OrderedDict)
tsdoc_pages = []

if verbose:
    print 'Parsing ',

for page_path in sys.argv:
    page_name = os.path.basename(page_path)
    print page_name,
    if page_path.endswith('.src.md'):
        page = MarkdownPage(page_path)
    elif page_path.endswith('.tsdoc'):
        page = TSDocPage(page_path)
        tsdoc_pages.append(page)

    pages[page.docspace][page.name] = page

if verbose:
    print '\nProcessing',

for page in tsdoc_pages:
    print '%s/%s' % (page.docspace, page.name),
    page.process()

if verbose:
    print '\nBuilding index...'
Пример #3
0
    st = os.stat(mdfile)
    page_date = time.strftime('%B %Y', time.gmtime(st.st_mtime))

    cmd_name, section = manfile.rsplit('.', 1)
    cmd_name = os.path.basename(cmd_name)

    header = os.getenv('TSDOC_HEADER')

    return '.TH {0} {1} "{2}" "{3}"'.format(cmd_name, section, page_date,
                                            header)


mdfile, manfile = sys.argv[1:]

manprinter = GroffPrinter()
page = MarkdownPage(mdfile)

if isinstance(page.blocks[0].parts[0], Header):
    # Remove first block which is header of entire page because we already
    # mentioned command name in the title
    page.blocks.pop(0)

# Add some generic information to man page
page.blocks.append(
    Paragraph([
        Header('SEE ALSO', 4),
        Text(
            'For more information, please refer to TSLoad documentation '
            'which may already be installed locally and which is also available '
            'online at ' + os.getenv('TSDOC_MAN_URL') + '.')
    ]))
Пример #4
0
    doc_suffix = '.creole'
    printer = CreolePrinter()    
else:
    raise ValueError("Invalid documentation format '%s'" % doc_format)

pages = defaultdict(OrderedDict)
tsdoc_pages = []

if verbose:
    print 'Parsing ', 

for page_path in sys.argv:
    page_name = os.path.basename(page_path)
    print page_name, 
    if page_path.endswith('.src.md'):
        page = MarkdownPage(page_path)
    elif page_path.endswith('.tsdoc'):
        page = TSDocPage(page_path)
        tsdoc_pages.append(page)
    
    pages[page.docspace][page.name] = page

if verbose:
    print '\nProcessing',

for page in tsdoc_pages:
    print '%s/%s' % (page.docspace, page.name),
    page.process()

if verbose:
    print '\nBuilding index...'