anatoly techtonik avatar anatoly techtonik committed 4052582

Simple linkifying rule

Comments (0)

Files changed (1)

 __license__ = "MIT | Public Domain"
 __version__ = "0.1"
 
+# --- define rules ---
+
+# rule is a function that takes text and returns either
+# None (not mathed) or a list of three text items:
+# [ not-matched, processed, the-rest ]
+
+import re
+
+def rule_linkify(text):
+  """ replace text links with HTML links """
+  linkre = re.compile('https?://\S+')
+  # [ ] test with commas and other URL escaped symbols
+  match = linkre.search(text)
+  if match == None:
+    return None
+  return (text[:match.start()], "[link]", text[match.end():])
+
+print rule_linkify("a web site http://google.com")
+
+# [ ] sets of common rules
+# [ ] configurable replacements
+# [ ] indented prints after every step
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.