Archive for September, 2015
get the title of a web page
September 8, 2015
Leave a comment
Problem
You need the title of a web page.
Solution
from bs4 import BeautifulSoup soup = BeautifulSoup(html) print soup.title.string
I found the solution here.
Categories: python
beautifulsoup, html, scrape, title
python-markdown: add support for strikethrough
September 7, 2015
1 comment
Problem
In a webapp of mine I use markdown with the excellent Python-Markdown package. However, it doesn’t support strikethrough by default.
Solution
The good news is that you can add 3rd-party extensions to Python-Markdown. With the extension “mdx_del_ins” you can use the <del> and <ins> tags.
Here is a Python function that converts markdown to HTML:
import bleach from markdown import markdown def md_to_html(md): """ Markdown to HTML conversion. """ allowed_tags = ['a', 'abbr', 'acronym', 'b', 'blockquote', 'code', 'em', 'i', 'li', 'ol', 'pre', 'strong', 'ul', 'h1', 'h2', 'h3', 'p', 'br', 'ins', 'del'] return bleach.linkify(bleach.clean( markdown(md, output_format='html', extensions=['nl2br', 'del_ins']), tags=allowed_tags, strip=True))
Input:
TODO list --------- * ~~strikethrough in Python-Markdown~~
Output:
TODO list
* strikethrough in Python-Markdown
Categories: python
markdown, strikethrough
[flask] render a template and jump to an anchor
September 6, 2015
Leave a comment
Problem
You render a page but you want to jump to an anchor on the rendered page.
Solution
Here is a route:
@app.route('/about/') def fn_about(): return render_template('about.html')
In the view add this (assuming you have jQuery):
<script> $(function(){ window.location.hash = "jump_here"; }); </script>
It’ll run once the HTML is loaded. Found it here.
Categories: flask, python
anchor, jquery, render_template