NEW: For a prettier blog interface, see the Wordpress version!

Resources

See PlannerMode for more details.

Emacs-wiki has a new maintainer, Michael Olson. http://mwolson.org/projects/:.html

Notes

5. Fancy striped tables

Ephrem wrote:

Here's a bit of magic to make fancy striped tables. The javascript is from http://alistapart.com/articles/zebratables/. 4 steps. One caveat, if you have multiple tables on a page (not including headers and footers) this could result in multiple instances of id="tabular". If anyone knows how to adapt the javascript to identify class instead of id, that would be an improvement.
  1. Edit emacs-wiki-publishing-header and add this javascript somewhere within the head tag:
    <script type=\"text/javascript\">
        <!--
          // this function is need to work around
          // a bug in IE related to element attributes
          function hasClass(obj) {
             var result = false;
             if (obj.getAttributeNode(\"class\") != null) {
                 result = obj.getAttributeNode(\"class\").value;
             }
             return result;
          }
    
         function stripe(id) {
            // the flag we'll use to keep track of
            // whether the current row is odd or even
            var even = false;
    
            // if arguments are provided to specify the colours
            // of the even & odd rows, then use the them;
            // otherwise use the following defaults:
            var evenColor = arguments[1] ? arguments[1] : \"#fff\";
            var oddColor = arguments[2] ? arguments[2] : \"#eee\";
    
            // obtain a reference to the desired table
            // if no such table exists, abort
            var table = document.getElementById(id);
            if (! table) { return; }
    
            // by definition, tables can have more than one tbody
            // element, so we'll have to get the list of child
            // &lt;tbody&gt;s
            var tbodies = table.getElementsByTagName(\"tbody\");
    
            // and iterate through them...
            for (var h = 0; h < tbodies.length; h++) {
    
             // find all the &lt;tr&gt; elements...
              var trs = tbodies[h].getElementsByTagName(\"tr\");
    
              // ... and iterate through them
              for (var i = 0; i < trs.length; i++) {
    
        	    // avoid rows that have a class attribute
                // or backgroundColor style
        	    if (!hasClass(trs[i]) && ! trs[i].style.backgroundColor) {
    
                 // get all the cells in this row...
                  var tds = trs[i].getElementsByTagName(\"td\");
    
                  // and iterate through them...
                  for (var j = 0; j < tds.length; j++) {
    
                    var mytd = tds[j];
    
                    // avoid cells that have a class attribute
                    // or backgroundColor style
        	        if (! hasClass(mytd) && ! mytd.style.backgroundColor) {
    
        		      mytd.style.backgroundColor = even ? evenColor : oddColor;
    
                    }
                  }
                }
                // flip from odd to even, or vice-versa
                even =  ! even;
              }
            }
          }
        // -->
        </script>
    
  2. Edit emacs-wiki-publishing-header so that the body tag has an onload attribute as follows:
        <body onload=\"stripe('tabular', '#fff', '#edf3fe');\">
    
  3. Edit emacs-wiki-table-attributes so that it includes id="tabular":

        (setq emacs-wiki-table-attributes "id=\"tabular\" border=\"0\"
    cellpadding=\"2\" cellspacing=0")
    
  4. Add something like the following to your stylesheet:

        /*
        // Only tables with the "tabular" id, thereby avoiding header
        // and footer tables.
       */
    
        table#tabular {
            border: 3px solid #555;
        }
    
    
        /*
        // Apply border to all td elements which are not in the first row.
        */
    
        table#tabular tr + tr>td {
            border-top: 1px solid #aaa;
        }
    
        table#tabular td {
            padding: .5ex .5em;
        }
    
    
        /*
        // Apply left border to all columns except the first.
        */
    
        table#tabular td + td {
            border-left: 1px dotted #aaa;
        }
    
    

E-Mail from [email protected]

3. Graphs in EmacsWikiMode

  <mmc> maybe i want 2 relations:  #parent for the 'first subpage' and #follows for the other subpages.
  <sachac> mmc: Good point.
  <sachac> mmc: Or, in general, #edge <type of edge> <page>
Chat on orwell.freenode.net#emacs

2. Mark Triggs: Emacs-wiki publishing should not die on error

Mark Triggs submitted a patch to make emacs-wiki not die on publishing errors. I modified his patch to use the standard warning display functions and replace invalid Lisp code with the text "INVALID LISP CODE."

EmacsWikiMode

1. Should emacs-wiki links be easily editable?

With the recent addition of `emacs-wiki-link-escape' and `emacs-wiki-link-unescape', links are now unescaped before displaying. This makes them uneditable. People probably shouldn't be editing the links manually as this can screw up planner links (among others), but I should provide an easy way to edit the link at point. I have a function in my emacs-wiki-config.el to do that. I'll probably bind to C-c C-e, which makes sense.

EmacsWikiMode

Tasks

B2CAdd a way to edit intangibles from EmacsWikiMode {{Tasks:651}} (2004.04.17)
B3CSet up announce-only mailing list from E-Mail from Eric Belpaire {{Tasks:797}} (2004.04.23)
B1CFix changelog markup from E-Mail from Robin Hu (nil)
C1CAllow people to organize wiki files in a directory tree using Gary's patch from E-Mail from Gary V. Vaughan {{Tasks:781}} (2004.04.22)
C2CFeature: Work on Oddmuse compatibility from E-Mail from Joe Corneli {{Tasks:806}} (2004.04.26)
C3C1h Feature: Patch: Merge in emacs-wiki index generation sorted by mtime as recent changes from E-Mail from Michal Maruska {{Tasks:708}} (2004.05.15)
A1XPackage emacs-wiki deb {{Tasks:593}} (2004.03.08)
A2XBugfix: emph and parens from E-Mail from Joe Corneli {{Tasks:782}} (2004.04.05)
B4XAdd a check to emacs-wiki-next- and emacs-wiki-previous-reference so that it skips out of example {{Tasks:579}} (2004.03.06)
B5XMerge in patch that scans for title tags {{Tasks:591}} (2004.03.07)
B6XMake it easy to edit emacs-wiki links, as if we do the funky escaping thing, we can't easily edit them any more. {{Tasks:627}} (2004.03.10)
B7XTrack down image publishing bug {{Tasks:663}} (2004.03.14)
B8XUse titles instead of or in addition to filenames in wiki indices {{Tasks:584}} (2004.03.14)
B9XTrack down emacs-wiki-published-function from E-Mail from Joe Corneli {{Tasks:785}} (2004.03.25)
B10XFeature: Implement include tag from E-Mail from Joe Corneli {{Tasks:852}} (2004.04.11)
B11X30min Feature: hippie expansion of page names from E-Mail from Gary V. Vaughan {{Tasks:927}} {{Schedule:10:45-11:00}} (2004.04.22)
B12XMake sure that links are resolved correctly for emacs-wiki-directories and subdirectory files from Chat with zyfsz on sterling.freenode.net#emacs {{Tasks:987}} (2004.04.28)
B13XMerge Gary Vaughan's patch for hierarchical directory trees {{Tasks:988}} (2004.04.28)
B14XFeature: Merge patch for hierarchical wikis from E-Mail from Gary V. Vaughan {{Tasks:788}} (2004.04.28)
B15XMerge [email protected]/emacs-wiki--gary--1.0--patch-6 from E-Mail from Gary V. Vaughan {{Tasks:995}} (2004.04.29)
B16XImplement tree-based file structures from E-Mail from Andrew J. Korty {{Tasks:955}} {{Schedule:20:00-21:00}} (2004.05.01)
B17XPackage emacs-wiki stable with bugfix for index from E-Mail from Matt Hodges (2004.05.19)

Previous day | Next day

I'd love to hear about any questions, comments, suggestions or links that you might have. Your comments will not be posted on this website immediately, but will be e-mailed to me first. You can use this form to get in touch with me, or e-mail me at [email protected] .

Page: Emacs Wiki Mode
Updated: 2005-02-10
NOTE: ANTI-SPAM MEASURE NOW IN PLACE. Please answer the following question with the right number in order to send me your comment.
What is two minus one? (hint: one ;) )
Name:
E-mail:
URL:
Comments: