def blog_post_view(context, request): result = {} obj = context dc = obj.metadata.get('dublin',{}) result['title'] = dc.get('title', obj.__name__) result['description'] = dc.get('description', '') result['url'] = obj.__name__ result['created'] = dc.get('created', '') result['creator'] = dc.get('creators', [])[0] pachs = request.url.split('/') img_url = '/'.join(pachs[0:len(pachs)-2]) + '/img/' result['body'] = IHTMLRenderer(obj).html().replace('src="img/', 'src="%s' % img_url) tabs = render_tabs(context,request) settings = queryUtility(ISettings) idcomments_acct = str(getattr(settings, 'idcomments_acct', '')) return render_template_to_response('templates/blogpost.pt', title = dc.get('title', context.__name__), result = result, tabs = tabs, post_created = getDisplayTime(result['created']), idcomments_acct = idcomments_acct, )
def blog_view(context, request, size=5): current_page = request.params.get("page", "0") # XXX hack, 很奇怪会附加一个/ if current_page.endswith("/"): current_page = current_page[:-1] current_page = int(current_page) page_url = paginate.PageURL_WebOb(request) blog_subpaths = context.get_recent_file_subpaths() blog_page = paginate.Page(blog_subpaths, current_page, items_per_page=size, url=page_url) posts = [] for subpath in blog_page: obj = context.get_obj_by_subpath(subpath) if obj is not None: raw_html = obj.render_html(request) converted_html = raw_html.replace('src="img/', 'src="%s/../img/' % obj.url(request)) dc = obj.metadata created = dc.get("modified", dc.get("created", datetime.now())) posts.append( { "title": obj.title, "description": dc.get("description", ""), "url": subpath, "created": getDisplayTime(created), "creator": dc.get("creator", ""), "body": converted_html, } ) batch = blog_page.pager() return render("templates/bloglist.pt", dict(result=posts, batch=batch))
def blog_post_view(context, request): result = {} obj = context dc = obj.metadata.get('dublin', {}) result['title'] = dc.get('title', obj.__name__) result['description'] = dc.get('description', '') result['url'] = obj.__name__ result['created'] = dc.get('created', '') result['creator'] = dc.get('creators', [])[0] pachs = request.url.split('/') img_url = '/'.join(pachs[0:len(pachs) - 2]) + '/img/' result['body'] = IHTMLRenderer(obj).html().replace('src="img/', 'src="%s' % img_url) tabs = render_tabs(context, request) settings = queryUtility(ISettings) idcomments_acct = str(getattr(settings, 'idcomments_acct', '')) return render_template_to_response( 'templates/blogpost.pt', title=dc.get('title', context.__name__), result=result, tabs=tabs, post_created=getDisplayTime(result['created']), idcomments_acct=idcomments_acct, )
def blog_post_view(context, request): """ 单独一篇博客 """ obj = context dc = obj.metadata result = {} result['url'] = obj.__name__ result['title'] = obj.title result['description'] = dc.get('description', '') result['created'] = dc.get('modified', dc.get('created', '')) result['creator'] = dc.get('creator', '') pachs = request.url.split('/') img_url = '/'.join(pachs[0:len(pachs)-2]) + '/img/' result['body'] = obj.render_html(request).replace('src="img/', 'src="%s' % img_url) idcomments_acct = request.registry.settings.get('idcomments_acct', '') title = context.title description = dc.get('description', '') return render( 'templates/blogpost_main.pt', dict( result = result, post_created = getDisplayTime(result['created']), idcomments_acct = idcomments_acct, ) )
def blog_post_view(context, request): """ 单独一篇博客 """ obj = context dc = obj.metadata result = {} result['url'] = obj.__name__ result['title'] = obj.title result['description'] = dc.get('description', '') result['created'] = dc.get('modified', dc.get('created', datetime.now())) result['creator'] = dc.get('creator', '') pachs = request.url.split('/') img_url = '/'.join(pachs[0:len(pachs) - 2]) + '/img/' result['body'] = obj.render_html(request).replace('src="img/', 'src="%s' % img_url) idcomments_acct = request.registry.settings.get('idcomments_acct', '') title = context.title description = dc.get('description', '') return render( 'templates/blogpost_main.pt', dict( result=result, post_created=getDisplayTime(result['created']), idcomments_acct=idcomments_acct, ))
def render_news(context, request, path, size=5, klass='nav nav-list'): site = context.get_site() container = site.get_obj_by_subpath(path) container_url = container.url(request) title = container.title posts = [] blog_subpaths = container.get_recent_file_subpaths() for subpath in blog_subpaths[:size]: obj = container.get_obj_by_subpath(subpath) if obj is None: continue dc = obj.metadata url = obj.url(request) if url.endswith('/'): url = url[:-1] created = dc.get('modified', dc.get('created', datetime.now())) posts.append("""<li><a href="%s">%s</a><span>%s</span></li>""" % \ (url, obj.title, getDisplayTime(created))) return '<ul class="%s">%s</ul>' % (klass, ''.join(posts))
def blog_view(context, request, size=5): current_page = request.params.get('page', '0') # XXX hack, 很奇怪会附加一个/ if current_page.endswith('/'): current_page = current_page[:-1] current_page = int(current_page) page_url = paginate.PageURL_WebOb(request) blog_subpaths = context.get_recent_file_subpaths() blog_page = paginate.Page(blog_subpaths, current_page, items_per_page=size, url=page_url) posts = [] for subpath in blog_page: obj = context.get_obj_by_subpath(subpath) if obj is not None: url = '/'.join(obj.vpath.split('/')[2:]) dc = obj.metadata raw_html = obj.render_html(request) converted_html = raw_html.replace( 'src="img/', 'src="%s/%s/../img/' % (request.application_url, url) ) created = datetime.strptime(dc.get('modified', dc.get('created', '')), '%Y-%m-%d %H:%M') posts.append({ 'title':obj.title, 'description':dc.get('description', ''), 'url':subpath, 'created':getDisplayTime(created), 'creator':dc.get('creator', ''), 'body':converted_html, }) batch = blog_page.pager() return render( 'templates/bloglist.pt', dict( result = posts, batch = batch, ) )
def blog_view(context, request): batch_start = int(request.params.get('b_start', 0)) posts = [] blog_subpaths = context.get_recent_file_subpaths() if batch_start >= len(blog_subpaths): return HTTPFound(location=request.url.split('?b_start')[0]) for subpath in blog_subpaths: obj = context.get_obj_by_subpath(subpath) if obj != None: url = '/'.join(obj.vpath.split('/')[2:]) dc = obj.metadata.get('dublin', {}) raw_html = IHTMLRenderer(obj).html().decode('utf-8') converted_html = raw_html.replace('src="img/',\ 'src="%s/%s/../img/' %(request.application_url, url)) posts.append({ 'title': dc.get('title', obj.__name__), 'description': dc.get('description', ''), 'url': '/'.join(url.split('/')[1:]), 'created': getDisplayTime(dc.get('created', '')), 'creator': dc.get('creators', [])[0], 'body': converted_html[:500] + ' ......', }) posts = Batch(posts, start=batch_start, size=5) dc = context.metadata.get('dublin', {}) tabs = render_tabs(context, request) html_cols = render_cols(context, request) batch = render_batch(context, request) return render_template_to_response( 'templates/blog.pt', title=dc.get('title', context.__name__), result=posts, tabs=tabs, batch=batch, html_cols=html_cols, )
def blog_view(context, request): batch_start = int(request.params.get('b_start', 0)) posts = [] blog_subpaths = context.get_recent_file_subpaths() if batch_start >= len(blog_subpaths): return HTTPFound(location=request.url.split('?b_start')[0]) for subpath in blog_subpaths: obj = context.get_obj_by_subpath(subpath) if obj != None: url = '/'.join(obj.vpath.split('/')[2:]) dc = obj.metadata.get('dublin', {}) raw_html = IHTMLRenderer(obj).html().decode('utf-8') converted_html = raw_html.replace('src="img/',\ 'src="%s/%s/../img/' %(request.application_url, url)) posts.append( {'title':dc.get('title', obj.__name__), 'description':dc.get('description', ''), 'url':'/'.join(url.split('/')[1:]), 'created':getDisplayTime(dc.get('created', '')), 'creator':dc.get('creators', [])[0], 'body': converted_html[:500]+' ......', }) posts = Batch(posts, start=batch_start, size=5) dc = context.metadata.get('dublin', {}) tabs = render_tabs(context,request) html_cols = render_cols(context, request) batch = render_batch(context, request) return render_template_to_response('templates/blog.pt', title = dc.get('title', context.__name__), result = posts, tabs = tabs, batch = batch, html_cols = html_cols, )
def blog_post_view(context, request): """ 单独一篇博客 """ obj = context dc = obj.metadata result = {} result["url"] = obj.__name__ result["title"] = obj.title result["description"] = dc.get("description", "") result["created"] = dc.get("modified", dc.get("created", datetime.now())) result["creator"] = dc.get("creator", "") pachs = request.url.split("/") img_url = "/".join(pachs[0 : len(pachs) - 2]) + "/img/" result["body"] = obj.render_html(request).replace('src="img/', 'src="%s' % img_url) idcomments_acct = request.registry.settings.get("idcomments_acct", "") title = context.title description = dc.get("description", "") return render( "templates/blogpost_main.pt", dict(result=result, post_created=getDisplayTime(result["created"]), idcomments_acct=idcomments_acct), )
def blog_view(context, request, size=5): current_page = request.params.get('page', '0') # XXX hack, 很奇怪会附加一个/ if current_page.endswith('/'): current_page = current_page[:-1] current_page = int(current_page) page_url = paginate.PageURL_WebOb(request) blog_subpaths = context.get_recent_file_subpaths() blog_page = paginate.Page(blog_subpaths, current_page, items_per_page=size, url=page_url) posts = [] for subpath in blog_page: obj = context.get_obj_by_subpath(subpath) if obj is not None: raw_html = obj.render_html(request) converted_html = raw_html.replace( 'src="img/', 'src="%s/../img/' % obj.url(request)) dc = obj.metadata created = dc.get('modified', dc.get('created', datetime.now())) posts.append({ 'title': obj.title, 'description': dc.get('description', ''), 'url': subpath, 'created': getDisplayTime(created), 'creator': dc.get('creator', ''), 'body': converted_html, }) batch = blog_page.pager() return render('templates/bloglist.pt', dict( result=posts, batch=batch, ))
def render_news(context, request, path, size=5, klass="nav nav-list"): site = context.get_site() container = site.get_obj_by_subpath(path) container_url = container.url(request) title = container.title posts = [] blog_subpaths = container.get_recent_file_subpaths() for subpath in blog_subpaths[:size]: obj = container.get_obj_by_subpath(subpath) if obj is None: continue dc = obj.metadata url = obj.url(request) if url.endswith("/"): url = url[:-1] created = dc.get("modified", dc.get("created", datetime.now())) posts.append("""<li><a href="%s">%s</a><span>%s</span></li>""" % (url, obj.title, getDisplayTime(created))) return '<ul class="%s">%s</ul>' % (klass, "".join(posts))