{"id":186,"date":"2015-01-23T01:05:42","date_gmt":"2015-01-23T05:05:42","guid":{"rendered":"http:\/\/www.fitzsim.org\/blog\/?p=186"},"modified":"2015-01-23T12:55:52","modified_gmt":"2015-01-23T16:55:52","slug":"emacs-and-twiki","status":"publish","type":"post","link":"https:\/\/www.fitzsim.org\/blog\/?p=186","title":{"rendered":"Emacs and TWiki"},"content":{"rendered":"<p>At work I have cause to edit a TWiki that my team uses for internal documentation. I wanted to use Emacs for this task, so that I wouldn&#8217;t need to interact with a web browser text area widget. I couldn&#8217;t find anything that did that, so I took the closest thing I could find, <code>erin.el<\/code>, a TWiki markup mode, and added connectivity to it via Emacs&#8217;s <code>url<\/code> package.<\/p>\n<p>The result is <a href=\"https:\/\/github.com\/fitzsim\/erin\">a fork of erin.el<\/a> that supports these new operations:<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Log in:<\/strong><\/td>\n<td><code>M-x erin-log-in<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Edit a topic:<\/strong><\/td>\n<td><code>M-x erin-edit-topic<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Commit edits:<\/strong><\/td>\n<td><code>C-c C-c<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Cancel edits:<\/strong><\/td>\n<td><code>C-c C-k<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Log out:<\/strong><\/td>\n<td><code>M-x erin-log-out<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>without ever leaving Emacs. Now with <a href=\"http:\/\/www.gnu.org\/software\/emacs\/manual\/html_mono\/eww.html\">EWW<\/a> to see the resulting pages, there&#8217;s no need to leave Emacs at all.<\/p>\n<p>This being a fork, it doesn&#8217;t qualify for <a href=\"http:\/\/melpa.org\/\">MELPA<\/a>, and I can&#8217;t get in touch with the original author, so it will stay in limbo as a raw repo, without ever being packaged.<\/p>\n<p>A while after I did this development, <a href=\"https:\/\/github.com\/christopherjwhite\/emacs-twiki-mode\">emacs-twiki-mode<\/a> sprang up. It looks like it has some nice advantages, like <a href=\"http:\/\/orgmode.org\/manual\/Built_002din-table-editor.html\">orgtbl<\/a> editing.  If it used Emacs&#8217;s built-in URL handling instead of an external <code>bash<\/code> script I would probably switch to it.  For now my <code>erin.el<\/code> fork works well enough for me. I do wish there were one monster Emacs mode that would handle all Wiki server implementations, including connectivity; a sort of Gnus for Wikis. Oh well.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>At work I have cause to edit a TWiki that my team uses for internal documentation. I wanted to use Emacs for this task, so that I wouldn&#8217;t need to interact with a web browser text area widget. I couldn&#8217;t find anything that did that, so I took the closest thing I could find, erin.el, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.fitzsim.org\/blog\/?p=186\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Emacs and TWiki&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-186","post","type-post","status-publish","format-standard","hentry","category-emacs","entry"],"_links":{"self":[{"href":"https:\/\/www.fitzsim.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fitzsim.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fitzsim.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fitzsim.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fitzsim.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=186"}],"version-history":[{"count":40,"href":"https:\/\/www.fitzsim.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/186\/revisions"}],"predecessor-version":[{"id":226,"href":"https:\/\/www.fitzsim.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/186\/revisions\/226"}],"wp:attachment":[{"href":"https:\/\/www.fitzsim.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fitzsim.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fitzsim.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}