projects
/
mdref
/
mdref
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
more consistent default zoom
[mdref/mdref]
/
public
/
index.js
diff --git
a/public/index.js
b/public/index.js
index 4878936a383649981948a0b3645b81534c10b3f3..8d6c506bd533a71ff70ed92b0e33f0c32f07b2bc 100644
(file)
--- a/
public/index.js
+++ b/
public/index.js
@@
-129,7
+129,7
@@
$(function() {
$n.text().split(/([^a-zA-Z0-9_\\\$:]+)/).forEach(function(v) {
var t;
$n.text().split(/([^a-zA-Z0-9_\\\$:]+)/).forEach(function(v) {
var t;
-
+
if ((t = mdref.type(v.replace(/:$/, ""), nn))) {
a.push($(t).text(v));
} else if (a.length && a[a.length-1].nodeName === "#text") {
if ((t = mdref.type(v.replace(/:$/, ""), nn))) {
a.push($(t).text(v));
} else if (a.length && a[a.length-1].nodeName === "#text") {
@@
-147,6
+147,28
@@
$(function() {
walk: function walk(i, e) {
// mdref.log("walk", i, e);
walk: function walk(i, e) {
// mdref.log("walk", i, e);
+ switch (e.nodeName) {
+ case "H1":
+ case "H2":
+ case "H3":
+ case "H4":
+ case "H5":
+ case "H6":
+ if (e.id.length) {
+ var href = document.location.pathname;
+ var perm = $("<a class=\"permalink\" href=\""+href+"#\">#</a>");
+ if (e.nodeName === "H1") {
+ perm.prependTo(e);
+ } else {
+ perm.attr("href", function(i, href) {
+ return href + e.id;
+ });
+ perm.appendTo(e);
+ }
+ }
+ break;
+ }
+
$.each($.makeArray(e.childNodes), function(i, n) {
switch (n.nodeName) {
case "A":
$.each($.makeArray(e.childNodes), function(i, n) {
switch (n.nodeName) {
case "A":
@@
-178,29
+200,34
@@
$(function() {
},
hashchange: function hashchange() {
if (location.hash.length > 1) {
},
hashchange: function hashchange() {
if (location.hash.length > 1) {
- var hash = location.hash.substring(1);
- var name = mdref.is_variable(hash) ? ".var" : ".constant";
- var scrolled = false;
+ var e;
+ if ((e = document.getElementById(location.hash.substring(1)))) {
+ mdref.blink(e);
+ } else {
+ var hash = location.hash.substring(1);
+ var name = mdref.is_variable(hash) ? ".var" : ".constant";
+ var scrolled = false;
- $(name).each(hash.substring(hash.length-1) === "_" ? function(i, c) {
- if (c.textContent.substring(0, hash.length) === hash) {
- if (!scrolled) {
+ $(name).each(hash.substring(hash.length-1) === "_" ? function(i, c) {
+ if (c.textContent.substring(0, hash.length) === hash) {
+ if (!scrolled) {
+ $(window).scrollTop($(c).offset().top - 100);
+ scrolled = true;
+ }
+ mdref.blink(c);
+ }
+ } : function(i, c) {
+ if (c.textContent === hash) {
$(window).scrollTop($(c).offset().top - 100);
$(window).scrollTop($(c).offset().top - 100);
- scrolled = true;
+ mdref.blink(c);
+ return false;
}
}
- mdref.blink(c);
- }
- } : function(i, c) {
- if (c.textContent === hash) {
- $(window).scrollTop($(c).offset().top - 100);
- mdref.blink(c);
- return false;
- }
- });
+ });
+ }
}
}
};
}
}
};
-
+
$("h1,h2,h3,h4,h5,h6,p,li,code,td").each(mdref.walk);
$(window).on("hashchange", mdref.hashchange);
mdref.hashchange();
$("h1,h2,h3,h4,h5,h6,p,li,code,td").each(mdref.walk);
$(window).on("hashchange", mdref.hashchange);
mdref.hashchange();