Anonymous avatar Anonymous committed 0ca1179

[svn] helper for HInclude

Comments (0)

Files changed (1)

webhelpers/hinclude.py

+"""
+``Tired of regenerating HTML pages from templates? Want more from Web caches?
+HInclude makes one thing very easy; including other bits of HTML into your Web
+page, using the browser.``
+
+http://www.mnot.net/javascript/hinclude.html
+"""
+
+from webhelpers.util import html_escape
+from webhelpers.rails.tags import content_tag
+
+def include(url, default=''):
+    """Do a client-side include of ``url``, defaulting to ``default```
+        >>> hinclude.include("/foo","hello")
+        '<hx:include src="/foo">hello</hx:include>'
+    """
+    
+    if callable(url):
+        url = url()
+    else:
+        url = html_escape(url)
+
+    return content_tag("hx:include", content=default, src=url)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.