示例#1
0
 def html_export(self, projectid, writingid):
     user = self.get_login_user()
     project = self.get_project(projectid)
     if not project:
         self.error(404)
         self.render("404.html",
                     info='Project with key <em>%s</em> not found' %
                     projectid)
         return
     writing = self.get_writing(project, writingid)
     if not writing:
         self.error(404)
         self.render("404.html",
                     info='Writing with key <em>%s</em> not found' %
                     writingid)
         return
     if not (writing.is_open_p() or
             (user and project.user_is_author(user))):
         self.render("project_page_not_visible.html",
                     project=project,
                     user=user)
         return
     last_revision = self.get_last_revision(writing)
     content = filters.md("# " + writing.title + "\n" +
                          last_revision.content)
     self.render("html_export.html", title=writing.title, content=content)
示例#2
0
 def rendered_contents(self):
     def repl(m):
         tixtype, tixnum = m.groups()
         app = {'dg': dupeguru, 'mg': moneyguru, 'pm': pdfmasher}[tixtype]
         return "[#{}]({})".format(tixnum, app.tixurl.format(tixnum))
     re_tix = re.compile(r'#(dg|mg|pm)(\d+)')
     contents = re_tix.sub(repl, self.contents)
     return md(contents)
示例#3
0
 def rendered_summary(self):
     if self.summary_paragraphs > 0:
         paragraphs = self.contents.split('\n\n')
         summary = '\n\n'.join(paragraphs[:self.summary_paragraphs])
         summary += '\n[More](http://www.hardcoded.net/articles/{})'.format(self.name)
     else:
         summary = self.contents
     return md(summary)
示例#4
0
 def html_export(self, projectid, writingid):
     user = self.get_login_user()
     project = self.get_project(projectid)
     if not project:
         self.error(404)
         self.render("404.html", info = 'Project with key <em>%s</em> not found' % projectid)
         return
     writing = self.get_writing(project, writingid)
     if not writing:
         self.error(404)
         self.render("404.html", info = 'Writing with key <em>%s</em> not found' % writingid)
         return
     if not (writing.is_open_p() or (user and project.user_is_author(user))):
         self.render("project_page_not_visible.html", project = project, user = user)
         return
     last_revision = self.get_last_revision(writing)
     content = filters.md("# " + writing.title + "\n" + last_revision.content)
     self.render("html_export.html", title = writing.title, content = content)
示例#5
0
文件: apps.py 项目: hsoft/hs-webgen
 def __init__(self, data):
     self.name = data['name']
     self.short_name = data.get('shortname', self.name)
     self.logo_name = data['logo']
     self.weburl = data['weburl']
     self._version = data.get('version')
     dls = data['downloads']
     if 'changelog' in data:
         self.changelog_path = data['changelog']
         if not op.isabs(self.changelog_path):
             self.changelog_path = op.join(HSGIT_ROOT, self.changelog_path)
         if self.changelog_path.endswith('yaml'):
             changelogs = yaml.load(open(self.changelog_path))
         else:
             changelogs = read_changelog_file(self.changelog_path)
         self.changelogs = [AppChangelog(self, log) for log in changelogs]
     else:
         self.changelogs = []
     self.downloads = []
     for p, dlitem in dls.items():
         if isinstance(dlitem, dict):
             fp = dlitem['href']
             reqs = md(dlitem.get('requirements', ''))
             reqs = reqs.replace('{old}', '<a href="#oldversions">older</a>')
         else:
             fp = dlitem
             reqs = None
         if fp.startswith('http'):
             download = AppUrl(fp, p)
         else:
             download = AppDownload(self, p, fp)
         download.requirements = reqs
         self.downloads.append(download)
     DL_ORDER = ['osx', 'deball', 'win64', 'win', 'src']
     sort_key = lambda dl: DL_ORDER.index(dl.platform)
     self.downloads.sort(key=sort_key)
     self.tixurl = data['tixurl']
     self.tixfunc = tixgen(self.tixurl)
示例#6
0
 def post(self):
     content = self.request.get("content")
     wiki_p_id = self.request.get("wiki_p_id")
     self.write(filters.md(content, wiki_p_id))
示例#7
0
文件: generic.py 项目: anando5/-e
 def post(self):
     content = self.request.get("content")
     wiki_p_id = self.request.get("wiki_p_id")
     self.write(filters.md(content, wiki_p_id))
示例#8
0
文件: news.py 项目: hsoft/hs-webgen
 def rendered_contents(self):
     return md(self.content)
示例#9
0
 def post(self):
     content = self.request.get("content")
     self.write(filters.md(content))
示例#10
0
 def rendered_contents(self):
     return md(self.rendered_tix())