| author | Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr> |
| Tue, 15 Apr 2014 17:46:09 +0200 | |
| changeset 48 | 1b2dffb4ac2b |
| permissions | -rw-r--r-- |
|
48
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1 |
<!DOCTYPE html> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2 |
<html> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3 |
<!-- |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4 |
This is MDwiki v0.6.1 |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
5 |
(C) 2013 by Timo Dörr and contributors. This software is licensed |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
6 |
under the terms of the GNU GPLv3 with additional terms applied. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
7 |
See https://github.com/Dynalon/mdwiki/blob/master/LICENSE.txt for more detail. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
8 |
See http://github.com/Dynalon/mdwiki for a copy of the source code. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
9 |
--> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
10 |
<head> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
11 |
<title>MDwiki</title> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
12 |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
13 |
<meta name="fragment" content="!"> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
14 |
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" /> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
15 |
<meta charset="UTF-8"> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
16 |
<style type="text/css"> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
17 |
/* hide the main content while we assemble everything */ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
18 |
.md-hidden-load { display: none; }
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
19 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
20 |
.anchor-highlight {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
21 |
font-size: 0.7em; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
22 |
margin-left: 0.25em; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
23 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
24 |
/* for pageContentMenu */ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
25 |
#md-page-menu {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
26 |
position: static; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
27 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
28 |
#md-page-menu a.active {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
29 |
/* background-color: rgba(0, 0, 0, 0.01); */ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
30 |
font-weight: bold; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
31 |
padding-left: 6px; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
32 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
33 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
34 |
@media (min-width: 992px) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
35 |
#md-page-menu.affix {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
36 |
position: fixed; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
37 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
38 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
39 |
@media (min-width: 768px) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
40 |
.md-float-left .col-sm-8, .md-float-right .col-sm-8 {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
41 |
max-width: 66.67%; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
42 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
43 |
.md-float-left .col-sm-4, .md-float-right .col-sm-4 {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
44 |
max-width: 33.33%; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
45 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
46 |
.md-float-left .col-sm-2, .md-float-right .col-sm-2 {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
47 |
max-width: 16.67%; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
48 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
49 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
50 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
51 |
@media (max-width: 992px) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
52 |
a.forkmeongithub {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
53 |
display: none; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
54 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
55 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
56 |
@media (max-width: 768px) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
57 |
/* don't use floating for smaller screens */ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
58 |
.md-float-left .col-sm-8, .md-float-left .col-sm-4, .md-float-left .col-sm-2 {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
59 |
width: 100%; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
60 |
max-width: !important; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
61 |
min-width: 100%; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
62 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
63 |
.md-float-right .col-sm-8, .md-float-right .col-sm-4, .md-float-right .col-sm-2 {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
64 |
width: 100%; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
65 |
max-width: !important; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
66 |
min-width: 100%; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
67 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
68 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
69 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
70 |
.md-floatenv .md-text {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
71 |
/* md-text is not of md-col-* but needs the spacing */ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
72 |
margin-left: 15px; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
73 |
margin-right: 15px; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
74 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
75 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
76 |
/* float images */ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
77 |
.md-float-left .col-sm-8, .md-float-left .col-sm-4, .md-float-left .col-sm-2 {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
78 |
width: auto; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
79 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
80 |
.md-float-right .col-sm-8, .md-float-right .col-sm-4, .md-float-right .col-sm-2 {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
81 |
float: right !important; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
82 |
width: auto; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
83 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
84 |
#md-all .md-copyright-footer {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
85 |
background-color: !important; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
86 |
font-size: smaller; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
87 |
padding: 1em; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
88 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
89 |
</style> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
90 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
91 |
<!-- START extlib/css/highlight.github.css --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
92 |
<style id="style:extlib/css/highlight.github.css">pre code{display:block;padding:.5em;color:#333;background:#f8f8ff}pre .comment,pre .template_comment,pre .diff .header,pre .javadoc{color:#998;font-style:italic}pre .keyword,pre .css .rule .keyword,pre .winutils,pre .javascript .title,pre .nginx .title,pre .subst,pre .request,pre .status{color:#333;font-weight:bold}pre .number,pre .hexcolor,pre .ruby .constant{color:#099}pre .string,pre .tag .value,pre .phpdoc,pre .tex .formula{color:#d14}pre .title,pre .id{color:#900;font-weight:bold}pre .javascript .title,pre .lisp .title,pre .clojure .title,pre .subst{font-weight:normal}pre .class .title,pre .haskell .type,pre .vhdl .literal,pre .tex .command{color:#458;font-weight:bold}pre .tag,pre .tag .title,pre .rules .property,pre .django .tag .keyword{color:#000080;font-weight:normal}pre .attribute,pre .variable,pre .lisp .body{color:#008080}pre .regexp{color:#009926}pre .class{color:#458;font-weight:bold}pre .symbol,pre .ruby .symbol .string,pre .lisp .keyword,pre .tex .special,pre .prompt{color:#990073}pre .built_in,pre .lisp .title,pre .clojure .built_in{color:#0086b3}pre .preprocessor,pre .pi,pre .doctype,pre .shebang,pre .cdata{color:#999;font-weight:bold}pre .deletion{background:#fdd}pre .addition{background:#dfd}pre .diff .change{background:#0086b3}pre .chunk{color:#aaa}</style><!-- END extlib/css/highlight.github.css -->
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
93 |
<!-- START extlib/css/bootstrap-3.0.0.min.css --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
94 |
<style id="style:extlib/css/bootstrap-3.0.0.min.css">/*! |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
95 |
* Bootstrap v3.0.0 |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
96 |
* |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
97 |
* Copyright 2013 Twitter, Inc |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
98 |
* Licensed under the Apache License v2.0 |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
99 |
* http://www.apache.org/licenses/LICENSE-2.0 |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
100 |
* |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
101 |
* Designed and built with all the love in the world by @mdo and @fat. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
102 |
*//*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input,select[multiple],textarea{background-image:none}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16.099999999999998px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-warning{color:#c09853}.text-danger{color:#b94a48}.text-success{color:#468847}.text-info{color:#3a87ad}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}h1 small,.h1 small{font-size:24px}h2 small,.h2 small{font-size:18px}h3 small,.h3 small,h4 small,.h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small{display:block;line-height:1.428571429;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:1.428571429}code,pre{font-family:Monaco,Menlo,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11{float:left}.col-xs-1{width:8.333333333333332%}.col-xs-2{width:16.666666666666664%}.col-xs-3{width:25%}.col-xs-4{width:33.33333333333333%}.col-xs-5{width:41.66666666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.333333333333336%}.col-xs-8{width:66.66666666666666%}.col-xs-9{width:75%}.col-xs-10{width:83.33333333333334%}.col-xs-11{width:91.66666666666666%}.col-xs-12{width:100%}@media(min-width:768px){.container{max-width:750px}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11{float:left}.col-sm-1{width:8.333333333333332%}.col-sm-2{width:16.666666666666664%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333333333%}.col-sm-5{width:41.66666666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.333333333333336%}.col-sm-8{width:66.66666666666666%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333333334%}.col-sm-11{width:91.66666666666666%}.col-sm-12{width:100%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-11{left:91.66666666666666%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-11{margin-left:91.66666666666666%}}@media(min-width:992px){.container{max-width:970px}.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11{float:left}.col-md-1{width:8.333333333333332%}.col-md-2{width:16.666666666666664%}.col-md-3{width:25%}.col-md-4{width:33.33333333333333%}.col-md-5{width:41.66666666666667%}.col-md-6{width:50%}.col-md-7{width:58.333333333333336%}.col-md-8{width:66.66666666666666%}.col-md-9{width:75%}.col-md-10{width:83.33333333333334%}.col-md-11{width:91.66666666666666%}.col-md-12{width:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.333333333333332%}.col-md-push-2{left:16.666666666666664%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333333333333%}.col-md-push-5{left:41.66666666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.333333333333336%}.col-md-push-8{left:66.66666666666666%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333333333334%}.col-md-push-11{left:91.66666666666666%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-11{right:91.66666666666666%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-11{margin-left:91.66666666666666%}}@media(min-width:1200px){.container{max-width:1170px}.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11{float:left}.col-lg-1{width:8.333333333333332%}.col-lg-2{width:16.666666666666664%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333333333%}.col-lg-5{width:41.66666666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.333333333333336%}.col-lg-8{width:66.66666666666666%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333333334%}.col-lg-11{width:91.66666666666666%}.col-lg-12{width:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-11{left:91.66666666666666%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-11{margin-left:91.66666666666666%}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table thead>tr>th,.table tbody>tr>th,.table tfoot>tr>th,.table thead>tr>td,.table tbody>tr>td,.table tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table caption+thead tr:first-child th,.table colgroup+thead tr:first-child th,.table thead:first-child tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed thead>tr>th,.table-condensed tbody>tr>th,.table-condensed tfoot>tr>th,.table-condensed thead>tr>td,.table-condensed tbody>tr>td,.table-condensed tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8;border-color:#d6e9c6}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td{background-color:#d0e9c6;border-color:#c9e2b3}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede;border-color:#eed3d7}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td{background-color:#ebcccc;border-color:#e6c1c7}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3;border-color:#fbeed5}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td{background-color:#faf2cc;border-color:#f8e5be}@media(max-width:768px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0;background-color:#fff}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>thead>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>thead>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}select[multiple],select[size]{height:auto}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:45px;line-height:45px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label{color:#c09853}.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.has-warning .input-group-addon{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.has-error .help-block,.has-error .control-label{color:#b94a48}.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.has-error .input-group-addon{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.has-success .help-block,.has-success .control-label{color:#468847}.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.has-success .input-group-addon{color:#468847;background-color:#dff0d8;border-color:#468847}.form-control-static{padding-top:7px;margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline .radio,.form-inline .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}@media(min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-link{font-weight:normal;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-xs{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;line-height:1}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-print:before{content:"\e045"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-briefcase:before{content:"\1f4bc"}.glyphicon-calendar:before{content:"\1f4c5"}.glyphicon-pushpin:before{content:"\1f4cc"}.glyphicon-paperclip:before{content:"\1f4ce"}.glyphicon-camera:before{content:"\1f4f7"}.glyphicon-lock:before{content:"\1f512"}.glyphicon-bell:before{content:"\1f514"}.glyphicon-bookmark:before{content:"\1f516"}.glyphicon-fire:before{content:"\1f525"}.glyphicon-wrench:before{content:"\1f527"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid #000;border-right:4px solid transparent;border-bottom:0 dotted;border-left:4px solid transparent;content:""}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#fff;text-decoration:none;background-color:#428bca}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-default .caret{border-top-color:#333}.btn-primary .caret,.btn-success .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret{border-top-color:#fff}.dropup .btn-default .caret{border-bottom-color:#333}.dropup .btn-primary .caret,.dropup .btn-success .caret,.dropup .btn-warning .caret,.dropup .btn-danger .caret,.dropup .btn-info .caret{border-bottom-color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group-xs>.btn{padding:5px 10px;padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.btn-group-justified .btn{display:table-cell;float:none;width:1%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group.col{float:none;padding-right:0;padding-left:0}.input-group .form-control{width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:45px;line-height:45px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}}.nav-tabs.nav-justified>li>a{margin-right:0;border-bottom:1px solid #ddd}.nav-tabs.nav-justified>.active>a{border-bottom-color:#fff}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:5px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-bottom:1px solid #ddd}.nav-tabs-justified>.active>a{border-bottom-color:#fff}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after{clear:both}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after{clear:both}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.nav .caret{border-top-color:#428bca;border-bottom-color:#428bca}.nav a:hover .caret{border-top-color:#2a6496;border-bottom-color:#2a6496}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;z-index:1000;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media(min-width:768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-collapse .navbar-nav.navbar-left:first-child{margin-left:-15px}.navbar-collapse .navbar-nav.navbar-right:last-child{margin-right:-15px}.navbar-collapse .navbar-text:last-child{margin-right:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;border-width:0 0 1px}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;z-index:1030}.navbar-fixed-bottom{bottom:0;margin-bottom:0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media(min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}@media(min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media(min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-text{float:left;margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{margin-right:15px;margin-left:15px}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e6e6e6}.navbar-default .navbar-nav>.dropdown>a:hover .caret,.navbar-default .navbar-nav>.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.open>a .caret,.navbar-default .navbar-nav>.open>a:hover .caret,.navbar-default .navbar-nav>.open>a:focus .caret{border-top-color:#555;border-bottom-color:#555}.navbar-default .navbar-nav>.dropdown>a .caret{border-top-color:#777;border-bottom-color:#777}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-nav>.dropdown>a .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .navbar-nav>.open>a .caret,.navbar-inverse .navbar-nav>.open>a:hover .caret,.navbar-inverse .navbar-nav>.open>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.badge:empty{display:none}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.btn .badge{position:relative;top:-1px}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1{font-size:63px}}.thumbnail{display:inline-block;display:block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img{display:block;height:auto;max-width:100%}a.thumbnail:hover,a.thumbnail:focus{border-color:#428bca}.thumbnail>img{margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.alert-warning hr{border-top-color:#f8e5be}.alert-warning .alert-link{color:#a47e3c}.alert-danger{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger hr{border-top-color:#e6c1c7}.alert-danger .alert-link{color:#953b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table{margin-bottom:0}.panel>.panel-body+.table{border-top:1px solid #ddd}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:#fbeed5}.panel-warning>.panel-heading{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#fbeed5}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#fbeed5}.panel-danger{border-color:#eed3d7}.panel-danger>.panel-heading{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#eed3d7}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#eed3d7}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}body.modal-open,.modal-open .navbar-fixed-top,.modal-open .navbar-fixed-bottom{margin-right:15px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{z-index:1050;width:auto;padding:10px;margin-right:auto;margin-left:auto}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.modal-dialog{right:auto;left:50%;width:600px;padding-top:30px;padding-bottom:30px}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;max-width:100%;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);opacity:.5;filter:alpha(opacity=50)}.carousel-control.left{background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,0.5)),to(rgba(0,0,0,0.0001)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.5) 0),color-stop(rgba(0,0,0,0.0001) 100%));background-image:-moz-linear-gradient(left,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,0.0001)),to(rgba(0,0,0,0.5)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.0001) 0),color-stop(rgba(0,0,0,0.5) 100%));background-image:-moz-linear-gradient(left,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;left:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media screen and (max-width:400px){@-ms-viewport{width:320px}}.hidden{display:none!important;visibility:hidden!important}.visible-xs{display:none!important}tr.visible-xs{display:none!important}th.visible-xs,td.visible-xs{display:none!important}@media(max-width:767px){.visible-xs{display:block!important}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}tr.visible-xs.visible-sm{display:table-row!important}th.visible-xs.visible-sm,td.visible-xs.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}tr.visible-xs.visible-md{display:table-row!important}th.visible-xs.visible-md,td.visible-xs.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-xs.visible-lg{display:block!important}tr.visible-xs.visible-lg{display:table-row!important}th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell!important}}.visible-sm{display:none!important}tr.visible-sm{display:none!important}th.visible-sm,td.visible-sm{display:none!important}@media(max-width:767px){.visible-sm.visible-xs{display:block!important}tr.visible-sm.visible-xs{display:table-row!important}th.visible-sm.visible-xs,td.visible-sm.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-sm{display:block!important}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}tr.visible-sm.visible-md{display:table-row!important}th.visible-sm.visible-md,td.visible-sm.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-sm.visible-lg{display:block!important}tr.visible-sm.visible-lg{display:table-row!important}th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell!important}}.visible-md{display:none!important}tr.visible-md{display:none!important}th.visible-md,td.visible-md{display:none!important}@media(max-width:767px){.visible-md.visible-xs{display:block!important}tr.visible-md.visible-xs{display:table-row!important}th.visible-md.visible-xs,td.visible-md.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}tr.visible-md.visible-sm{display:table-row!important}th.visible-md.visible-sm,td.visible-md.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-md{display:block!important}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-md.visible-lg{display:block!important}tr.visible-md.visible-lg{display:table-row!important}th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell!important}}.visible-lg{display:none!important}tr.visible-lg{display:none!important}th.visible-lg,td.visible-lg{display:none!important}@media(max-width:767px){.visible-lg.visible-xs{display:block!important}tr.visible-lg.visible-xs{display:table-row!important}th.visible-lg.visible-xs,td.visible-lg.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}tr.visible-lg.visible-sm{display:table-row!important}th.visible-lg.visible-sm,td.visible-lg.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}tr.visible-lg.visible-md{display:table-row!important}th.visible-lg.visible-md,td.visible-lg.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-lg{display:block!important}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}tr.hidden-xs{display:table-row!important}th.hidden-xs,td.hidden-xs{display:table-cell!important}@media(max-width:767px){.hidden-xs{display:none!important}tr.hidden-xs{display:none!important}th.hidden-xs,td.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm{display:none!important}tr.hidden-xs.hidden-sm{display:none!important}th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md{display:none!important}tr.hidden-xs.hidden-md{display:none!important}th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-xs.hidden-lg{display:none!important}tr.hidden-xs.hidden-lg{display:none!important}th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}tr.hidden-sm{display:table-row!important}th.hidden-sm,td.hidden-sm{display:table-cell!important}@media(max-width:767px){.hidden-sm.hidden-xs{display:none!important}tr.hidden-sm.hidden-xs{display:none!important}th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}tr.hidden-sm{display:none!important}th.hidden-sm,td.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md{display:none!important}tr.hidden-sm.hidden-md{display:none!important}th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-sm.hidden-lg{display:none!important}tr.hidden-sm.hidden-lg{display:none!important}th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}tr.hidden-md{display:table-row!important}th.hidden-md,td.hidden-md{display:table-cell!important}@media(max-width:767px){.hidden-md.hidden-xs{display:none!important}tr.hidden-md.hidden-xs{display:none!important}th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-md.hidden-sm{display:none!important}tr.hidden-md.hidden-sm{display:none!important}th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}tr.hidden-md{display:none!important}th.hidden-md,td.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-md.hidden-lg{display:none!important}tr.hidden-md.hidden-lg{display:none!important}th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}tr.hidden-lg{display:table-row!important}th.hidden-lg,td.hidden-lg{display:table-cell!important}@media(max-width:767px){.hidden-lg.hidden-xs{display:none!important}tr.hidden-lg.hidden-xs{display:none!important}th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm{display:none!important}tr.hidden-lg.hidden-sm{display:none!important}th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md{display:none!important}tr.hidden-lg.hidden-md{display:none!important}th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-lg{display:none!important}tr.hidden-lg{display:none!important}th.hidden-lg,td.hidden-lg{display:none!important}}.visible-print{display:none!important}tr.visible-print{display:none!important}th.visible-print,td.visible-print{display:none!important}@media print{.visible-print{display:block!important}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}.hidden-print{display:none!important}tr.hidden-print{display:none!important}th.hidden-print,td.hidden-print{display:none!important}}</style><!-- END extlib/css/bootstrap-3.0.0.min.css -->
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
103 |
<!-- START extlib/js/jquery-1.8.3.min.js --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
104 |
<script type="text/javascript">/*! jQuery v1.8.3 jquery.com | jquery.org/license */ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
105 |
(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Qt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length;while(i--){t=Jt[i]+n;if(t in e)return t}return r}function Gt(e,t){return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Gt(n)&&(i[s]=v._data(n,"olddisplay",nn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none"}return e}function Zt(e,t,n){var r=Rt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function en(e,t,n,r){var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0;for(;i<4;i+=2)n==="margin"&&(s+=v.css(e,n+$t[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+$t[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+$t[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0));return s}function tn(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,"boxSizing")==="border-box";if(r<=0||r==null){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Ut.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+en(e,t,n||(s?"border":"content"),i)+"px"}function nn(e){if(Wt[e])return Wt[e];var t=v("<"+e+">").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write("<!doctype html><html><body>"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\+/.test(r),s&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[s?"unshift":"push"](n)}}function kn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===Sn;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u=="string"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=kn(e,n,r,i,u,o)));return(c||!u)&&!o["*"]&&(u=kn(e,n,r,i,"*",o)),u}function Ln(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]==="*")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+" "+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function On(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!=="*"){if(u!=="*"&&u!==i){n=a[u+" "+i]||a["* "+i];if(!n)for(r in a){s=r.split(" ");if(s[1]===i){n=a[u+" "+s[0]]||a["* "+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(l){return{state:"parsererror",error:n?l:"No conversion from "+u+" to "+i}}}u=i}return{state:"success",data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function $n(){return setTimeout(function(){qn=t},0),qn=v.now()}function Jn(e,t){v.each(t,function(t,n){var r=(Vn[t]||[]).concat(Vn["*"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Kn(e,t,n){var r,i=0,s=0,o=Xn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=qn||$n(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,i=1-r,s=0,o=f.tweens.length;for(;s<o;s++)f.tweens[s].run(i);return u.notifyWith(e,[f,i,n]),i<1&&o?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Qn(l,f.opts.specialEasing);for(;i<o;i++){r=Xn[i].call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,h=this,p=e.style,d={},m=[],g=e.nodeType&&Gt(e);n.queue||(l=v._queueHooks(e,"fx"),l.unqueued==null&&(l.unqueued=0,c=l.empty.fire,l.empty.fire=function(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,"fx").length||l.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],v.css(e,"display")==="inline"&&v.css(e,"float")==="none"&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)==="inline"?p.display="inline-block":p.zoom=1)),n.overflow&&(p.overflow="hidden",v.support.shrinkWrapBlocks||h.done(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Un.exec(s)){delete t[r],a=a||s==="toggle";if(s===(g?"hide":"show"))continue;m.push(r)}}o=m.length;if(o){u=v._data(e,"fxshow")||v._data(e,"fxshow",{}),"hidden"in u&&(g=u.hidden),a&&(u.hidden=!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,"fxshow",!0);for(t in d)v.style(e,t,d[t])});for(r=0;r<o;r++)i=m[r],f=h.createTween(i,g?u[i]:0),d[i]=u[i]||v.style(e,i),i in u||(u[i]=f.start,g&&(f.end=f.start,f.start=i==="width"||i==="height"?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=$t[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function tr(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,g=/\S/,y=/\s+/,b=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,w=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d&&!d.call("\ufeff\u00a0")?function(e){return e==null?"":d.call(e)}:function(e){return e==null?"":(e+"").replace(b,"")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n==="string"||n==="function"||n==="regexp"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r=="number")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a=="number"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n=="string"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r=="object"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState==="complete")setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener("DOMContentLoaded",A,!1),e.addEventListener("load",v.ready,!1);else{i.attachEvent("onreadystatechange",A),e.attachEvent("onload",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll("left")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){O["[object "+t+"]"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e=="string"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!=="string"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement("div");p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")||(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e==="fx"&&t[0]!=="inprogress"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!="string"&&(n=e,e=t),e=e||"fx";while(u--)r=v._data(o[u],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\t\r\n]/g,R=/\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=" "+i.className+" ";for(o=0,u=t.length;o<u;o++)s.indexOf(" "+t[o]+" ")<0&&(s+=t[o]+" ");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(" "+i.className+" ").replace(q," ");for(s=0,o=n.length;s<o;s++)while(r.indexOf(" "+n[s]+" ")>=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(q," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(v.support.optDisabled?!n.disabled:n.getAttribute("disabled")===null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){t=v(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n=v.makeArray(t);return v(e).find("option").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,""),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error("type property can't be changed");else if(!v.support.radioValue&&t==="radio"&&v.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,"button")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,"button"))return j.set(e,t,n);e.value=t}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&"set"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&"get"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!="boolean"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!=="":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},v.each(["width","height"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===""&&(t="false"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(["href","src","width","height"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype="encoding"),v.support.checkOn||v.each(["radio","checkbox"],function(){v.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(".")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent("on"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||"")).split(" ");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp("(^|\\.)"+f.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r==="**"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf("!")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,"events")||{})[n.type]&&v._data(l,"handle"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!=="click"||!v.nodeName(s,"a"))&&v.acceptData(s)&&h&&s[y]&&(y!=="focus"&&y!=="blur"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d=(v._data(this,"events")||{})[n.type]||[],m=d.delegateCount,g=l.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!=="click"))for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!=="click"){u={},f=[];for(r=0;r<m;r++)c=d[r],h=c.selector,u[h]===t&&(u[h]=c.needsContext?v(h,this).index(s)>=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){a=w[r],n.currentTarget=a.elem;for(i=0;i<a.matches.length&&!n.isImmediatePropagationStopped();i++){c=a.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,o=((v.event.special[c.origType]||{}).handle||c.handler).apply(a.elem,g),o!==t&&(n.result=o,o===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]=="undefined"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,"form"))return!1;v.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=v.nodeName(n,"input")||v.nodeName(n,"button")?n.form:t;r&&!v._data(r,"_submit_attached")&&(v.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),v._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,"form"))return!1;v.event.remove(this,"._submit")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")v.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),v.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate("change",this,e,!0)});return!1}v.event.add(this,"beforeactivate._change",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,"_change_attached")&&(v.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate("change",this.parentNode,e,!0)}),v._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,"._change"),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e=="object"){typeof n!="string"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n=="string"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e=="object"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n=="function")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,"lastToggle"+e.guid)||0)%r;return v._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!r[d]&&(r=ct(r)),i&&!i[d]&&(i=ct(i,s)),N(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||dt(t||"*",u.nodeType?[u]:u,[]),m=e&&(s||!t)?lt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=lt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?T.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a<s;a++)if(n=i.relative[e[a].type])h=[at(ft(h),n)];else{n=i.filter[e[a].type].apply(null,e[a].matches);if(n[d]){r=++a;for(;r<s;r++)if(i.relative[e[r].type])break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a<r&&ht(e.slice(a,r)),r<s&&ht(e=e.slice(r)),r<s&&e.join(""))}h.push(n)}return ft(h)}function pt(e,t){var r=t.length>0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r<i;r++)nt(e,t[r],n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,h=ut(e),p=h.length;if(!r&&h.length===1){u=h[0]=h[0].slice(0);if(u.length>2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},N=function(e,t){return e[d]=t==null||t,e},C=function(){var e={},t=[];return N(function(n,r){return t.push(n)>i.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="<a name='"+d+"'></a><div name='"+d+"'></div>",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:st(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:st(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},f=y.compareDocumentPosition?function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return ot(i[f],s[f]);return f===n?ot(e,s[f],-1):ot(i[f],t,1)},[0,0].sort(f),h=!l,nt.uniqueSort=function(e){var t,n=[],r=1,i=0;l=h,e.sort(f);if(l){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e},nt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},a=nt.compile=function(e,t){var n,r=[],i=[],s=A[d][e+" "];if(!s){t||(t=ut(e)),n=t.length;while(n--)s=ht(t[n]),s[d]?r.push(s):i.push(s);s=A(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,t=vt,n=/'|\\/g,r=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,i=[":focus"],s=[":active"],u=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack("","find",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),"not",e)},filter:function(e){return this.pushStack(ft(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/<tbody/i,gt=/<|&#?\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp("<(?:"+ct+")[\\s/>]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Nt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X<div>","</div>"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),"replaceWith",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],"table")?Lt(this[a],"tbody"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):v.error("no ajax"):v.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Tt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,e.length===1&&typeof a=="string"&&a.length<512&&n===i&&a.charAt(0)==="<"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1></$2>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]==="<table>"&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("<div>").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Vn[n]=Vn[n]||[],Vn[n].unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.Tween=Yn,Yn.prototype={constructor:Yn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?"":"px")},cur:function(){var e=Yn.propHooks[this.prop];return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,n=Yn.propHooks[this.prop];return this.options.duration?this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn("show"),slideUp:Zn("hide"),slideToggle:Zn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,n=v.timers,r=0;qn=v.now();for(;r<n.length;r++)e=n[r],!e()&&n[r]===e&&n.splice(r--,1);n.length||v.fx.stop(),qn=t},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f={top:0,left:0},l=this[0],c=l&&l.ownerDocument;if(!c)return;return(r=c.body)===l?v.offset.bodyOffset(l):(n=c.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!="undefined"&&(f=l.getBoundingClientRect()),i=tr(c),s=n.clientTop||r.clientTop||0,o=n.clientLeft||r.clientLeft||0,u=i.pageYOffset||n.scrollTop,a=i.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window);</script>
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
106 |
<!-- END extlib/js/jquery-1.8.3.min.js --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
107 |
<!-- START extlib/js/bootstrap-3.0.0.min.js --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
108 |
<script type="text/javascript">/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
109 |
* bootstrap.js v3.0.0 by @fat and @mdo |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
110 |
* Copyright 2013 Twitter Inc. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
111 |
* http://www.apache.org/licenses/LICENSE-2.0 |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
112 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
113 |
if(!jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(window.jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("dropdown");d||c.data("dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(window.jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.load(this.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(window.jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show),void 0):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void 0):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach()}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.$element.trigger("hidden.bs."+this.type),this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(window.jQuery),+function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(window.jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery);</script>
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
114 |
<!-- END extlib/js/bootstrap-3.0.0.min.js --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
115 |
<!-- START extlib/js/highlight-7.3.pack.min.js --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
116 |
<script type="text/javascript">/* highlight.js Copyright (c) 2006, Ivan Sagalaev. Licensed under BSD 3-clause. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
117 |
See https://github.com/isagalaev/highlight.js/blob/master/LICENSE */ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
118 |
var hljs=new function(){function l(o){return o.replace(/&/gm,"&").replace(/</gm,"<").replace(/>/gm,">")}function b(p){for(var o=p.firstChild;o;o=o.nextSibling){if(o.nodeName=="CODE"){return o}if(!(o.nodeType==3&&o.nodeValue.match(/\s+/))){break}}}function h(p,o){return Array.prototype.map.call(p.childNodes,function(q){if(q.nodeType==3){return o?q.nodeValue.replace(/\n/g,""):q.nodeValue}if(q.nodeName=="BR"){return"\n"}return h(q,o)}).join("")}function a(q){var p=(q.className+" "+q.parentNode.className).split(/\s+/);p=p.map(function(r){return r.replace(/^language-/,"")});for(var o=0;o<p.length;o++){if(e[p[o]]||p[o]=="no-highlight"){return p[o]}}}function c(q){var o=[];(function p(r,s){for(var t=r.firstChild;t;t=t.nextSibling){if(t.nodeType==3){s+=t.nodeValue.length}else{if(t.nodeName=="BR"){s+=1}else{if(t.nodeType==1){o.push({event:"start",offset:s,node:t});s=p(t,s);o.push({event:"stop",offset:s,node:t})}}}}return s})(q,0);return o}function j(x,v,w){var p=0;var y="";var r=[];function t(){if(x.length&&v.length){if(x[0].offset!=v[0].offset){return(x[0].offset<v[0].offset)?x:v}else{return v[0].event=="start"?x:v}}else{return x.length?x:v}}function s(A){function z(B){return" "+B.nodeName+'="'+l(B.value)+'"'}return"<"+A.nodeName+Array.prototype.map.call(A.attributes,z).join("")+">"}while(x.length||v.length){var u=t().splice(0,1)[0];y+=l(w.substr(p,u.offset-p));p=u.offset;if(u.event=="start"){y+=s(u.node);r.push(u.node)}else{if(u.event=="stop"){var o,q=r.length;do{q--;o=r[q];y+=("</"+o.nodeName.toLowerCase()+">")}while(o!=u.node);r.splice(q,1);while(q<r.length){y+=s(r[q]);q++}}}}return y+l(w.substr(p))}function f(q){function o(s,r){return RegExp(s,"m"+(q.cI?"i":"")+(r?"g":""))}function p(y,w){if(y.compiled){return}y.compiled=true;var s=[];if(y.k){var r={};function z(A,t){t.split(" ").forEach(function(B){var C=B.split("|");r[C[0]]=[A,C[1]?Number(C[1]):1];s.push(C[0])})}y.lR=o(y.l||hljs.IR,true);if(typeof y.k=="string"){z("keyword",y.k)}else{for(var x in y.k){if(!y.k.hasOwnProperty(x)){continue}z(x,y.k[x])}}y.k=r}if(w){if(y.bWK){y.b="\\b("+s.join("|")+")\\s"}y.bR=o(y.b?y.b:"\\B|\\b");if(!y.e&&!y.eW){y.e="\\B|\\b"}if(y.e){y.eR=o(y.e)}y.tE=y.e||"";if(y.eW&&w.tE){y.tE+=(y.e?"|":"")+w.tE}}if(y.i){y.iR=o(y.i)}if(y.r===undefined){y.r=1}if(!y.c){y.c=[]}for(var v=0;v<y.c.length;v++){if(y.c[v]=="self"){y.c[v]=y}p(y.c[v],y)}if(y.starts){p(y.starts,w)}var u=[];for(var v=0;v<y.c.length;v++){u.push(y.c[v].b)}if(y.tE){u.push(y.tE)}if(y.i){u.push(y.i)}y.t=u.length?o(u.join("|"),true):{exec:function(t){return null}}}p(q)}function d(D,E){function o(r,M){for(var L=0;L<M.c.length;L++){var K=M.c[L].bR.exec(r);if(K&&K.index==0){return M.c[L]}}}function s(K,r){if(K.e&&K.eR.test(r)){return K}if(K.eW){return s(K.parent,r)}}function t(r,K){return K.i&&K.iR.test(r)}function y(L,r){var K=F.cI?r[0].toLowerCase():r[0];return L.k.hasOwnProperty(K)&&L.k[K]}function G(){var K=l(w);if(!A.k){return K}var r="";var N=0;A.lR.lastIndex=0;var L=A.lR.exec(K);while(L){r+=K.substr(N,L.index-N);var M=y(A,L);if(M){v+=M[1];r+='<span class="'+M[0]+'">'+L[0]+"</span>"}else{r+=L[0]}N=A.lR.lastIndex;L=A.lR.exec(K)}return r+K.substr(N)}function z(){if(A.sL&&!e[A.sL]){return l(w)}var r=A.sL?d(A.sL,w):g(w);if(A.r>0){v+=r.keyword_count;B+=r.r}return'<span class="'+r.language+'">'+r.value+"</span>"}function J(){return A.sL!==undefined?z():G()}function I(L,r){var K=L.cN?'<span class="'+L.cN+'">':"";if(L.rB){x+=K;w=""}else{if(L.eB){x+=l(r)+K;w=""}else{x+=K;w=r}}A=Object.create(L,{parent:{value:A}});B+=L.r}function C(K,r){w+=K;if(r===undefined){x+=J();return 0}var L=o(r,A);if(L){x+=J();I(L,r);return L.rB?0:r.length}var M=s(A,r);if(M){if(!(M.rE||M.eE)){w+=r}x+=J();do{if(A.cN){x+="</span>"}A=A.parent}while(A!=M.parent);if(M.eE){x+=l(r)}w="";if(M.starts){I(M.starts,"")}return M.rE?0:r.length}if(t(r,A)){throw"Illegal"}w+=r;return r.length||1}var F=e[D];f(F);var A=F;var w="";var B=0;var v=0;var x="";try{var u,q,p=0;while(true){A.t.lastIndex=p;u=A.t.exec(E);if(!u){break}q=C(E.substr(p,u.index-p),u[0]);p=u.index+q}C(E.substr(p));return{r:B,keyword_count:v,value:x,language:D}}catch(H){if(H=="Illegal"){return{r:0,keyword_count:0,value:l(E)}}else{throw H}}}function g(s){var o={keyword_count:0,r:0,value:l(s)};var q=o;for(var p in e){if(!e.hasOwnProperty(p)){continue}var r=d(p,s);r.language=p;if(r.keyword_count+r.r>q.keyword_count+q.r){q=r}if(r.keyword_count+r.r>o.keyword_count+o.r){q=o;o=r}}if(q.language){o.second_best=q}return o}function i(q,p,o){if(p){q=q.replace(/^((<[^>]+>|\t)+)/gm,function(r,v,u,t){return v.replace(/\t/g,p)})}if(o){q=q.replace(/\n/g,"<br>")}return q}function m(r,u,p){var v=h(r,p);var t=a(r);if(t=="no-highlight"){return}var w=t?d(t,v):g(v);t=w.language;var o=c(r);if(o.length){var q=document.createElement("pre");q.innerHTML=w.value;w.value=j(o,c(q),v)}w.value=i(w.value,u,p);var s=r.className;if(!s.match("(\\s|^)(language-)?"+t+"(\\s|$)")){s=s?(s+" "+t):t}r.innerHTML=w.value;r.className=s;r.result={language:t,kw:w.keyword_count,re:w.r};if(w.second_best){r.second_best={language:w.second_best.language,kw:w.second_best.keyword_count,re:w.second_best.r}}}function n(){if(n.called){return}n.called=true;Array.prototype.map.call(document.getElementsByTagName("pre"),b).filter(Boolean).forEach(function(o){m(o,hljs.tabReplace)})}function k(){window.addEventListener("DOMContentLoaded",n,false);window.addEventListener("load",n,false)}var e={};this.LANGUAGES=e;this.highlight=d;this.highlightAuto=g;this.fixMarkup=i;this.highlightBlock=m;this.initHighlighting=n;this.initHighlightingOnLoad=k;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|\\.|-|-=|/|/=|:|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\[\\s\\S]",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE],r:0};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE],r:0};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.inherit=function(q,r){var o={};for(var p in q){o[p]=q[p]}if(r){for(var p in r){o[p]=r[p]}}return o}}();hljs.LANGUAGES.bash=function(a){var g="true false";var e="if then else elif fi for break continue while in do done echo exit return set declare";var c={cN:"variable",b:"\\$[a-zA-Z0-9_#]+"};var b={cN:"variable",b:"\\${([^}]|\\\\})+}"};var h={cN:"string",b:'"',e:'"',i:"\\n",c:[a.BE,c,b],r:0};var d={cN:"string",b:"'",e:"'",c:[{b:"''"}],r:0};var f={cN:"test_condition",b:"",e:"",c:[h,d,c,b],k:{literal:g},r:0};return{k:{keyword:e,literal:g},c:[{cN:"shebang",b:"(#!\\/bin\\/bash)|(#!\\/bin\\/sh)",r:10},c,b,a.HCM,h,d,a.inherit(f,{b:"\\[ ",e:" \\]",r:0}),a.inherit(f,{b:"\\[\\[ ",e:" \\]\\]"})]}}(hljs);hljs.LANGUAGES.cs=function(a){return{k:"abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long namespace new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while ascending descending from get group into join let orderby partial select set value var where yield",c:[{cN:"comment",b:"///",e:"$",rB:true,c:[{cN:"xmlDocTag",b:"///|<!--|-->"},{cN:"xmlDocTag",b:"</?",e:">"}]},a.CLCM,a.CBLCLM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},a.ASM,a.QSM,a.CNM]}}(hljs);hljs.LANGUAGES.ruby=function(e){var a="[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?";var j="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var g={keyword:"and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include"};var c={cN:"yardoctag",b:"@[A-Za-z]+"};var k=[{cN:"comment",b:"#",e:"$",c:[c]},{cN:"comment",b:"^\\=begin",e:"^\\=end",c:[c],r:10},{cN:"comment",b:"^__END__",e:"\\n$"}];var d={cN:"subst",b:"#\\{",e:"}",l:a,k:g};var i=[e.BE,d];var b=[{cN:"string",b:"'",e:"'",c:i,r:0},{cN:"string",b:'"',e:'"',c:i,r:0},{cN:"string",b:"%[qw]?\\(",e:"\\)",c:i},{cN:"string",b:"%[qw]?\\[",e:"\\]",c:i},{cN:"string",b:"%[qw]?{",e:"}",c:i},{cN:"string",b:"%[qw]?<",e:">",c:i,r:10},{cN:"string",b:"%[qw]?/",e:"/",c:i,r:10},{cN:"string",b:"%[qw]?%",e:"%",c:i,r:10},{cN:"string",b:"%[qw]?-",e:"-",c:i,r:10},{cN:"string",b:"%[qw]?\\|",e:"\\|",c:i,r:10}];var h={cN:"function",bWK:true,e:" |$|;",k:"def",c:[{cN:"title",b:j,l:a,k:g},{cN:"params",b:"\\(",e:"\\)",l:a,k:g}].concat(k)};var f=k.concat(b.concat([{cN:"class",bWK:true,e:"$|;",k:"class module",c:[{cN:"title",b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?",r:0},{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+e.IR+"::)?"+e.IR}]}].concat(k)},h,{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:b.concat([{b:j}]),r:0},{cN:"symbol",b:a+":",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"number",b:"\\?\\w"},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+e.RSR+")\\s*",c:k.concat([{cN:"regexp",b:"/",e:"/[a-z]*",i:"\\n",c:[e.BE,d]}]),r:0}]));d.c=f;h.c[1].c=f;return{l:a,k:g,c:f}}(hljs);hljs.LANGUAGES.javascript=function(a){return{k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const",literal:"true false null undefined NaN Infinity"},c:[a.ASM,a.QSM,a.CLCM,a.CBLCLM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBLCLM,{cN:"regexp",b:"/",e:"/[gim]*",i:"\\n",c:[{b:"\\\\/"}]},{b:"<",e:">;",sL:"xml"}],r:0},{cN:"function",bWK:true,e:"{",k:"function",c:[{cN:"title",b:"[A-Za-z$_][0-9A-Za-z$_]*"},{cN:"params",b:"\\(",e:"\\)",c:[a.CLCM,a.CBLCLM],i:"[\"'\\(]"}],i:"\\[|%"}]}}(hljs);hljs.LANGUAGES.xml=function(a){var c="[A-Za-z0-9\\._:-]+";var b={eW:true,c:[{cN:"attribute",b:c,r:0},{b:'="',rB:true,e:'"',c:[{cN:"value",b:'"',eW:true}]},{b:"='",rB:true,e:"'",c:[{cN:"value",b:"'",eW:true}]},{b:"=",c:[{cN:"value",b:"[^\\s/>]+"}]}]};return{cI:true,c:[{cN:"pi",b:"<\\?",e:"\\?>",r:10},{cN:"doctype",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"<!--",e:"-->",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{title:"style"},c:[b],starts:{e:"</style>",rE:true,sL:"css"}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{title:"script"},c:[b],starts:{e:"<\/script>",rE:true,sL:"javascript"}},{b:"",sL:"vbscript"},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"title",b:"[^ />]+"},b]}]}}(hljs);hljs.LANGUAGES.markdown=function(a){return{c:[{cN:"header",b:"^#{1,3}",e:"$"},{cN:"header",b:"^.+?\\n[=-]{2,}$"},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",b:"\\*.+?\\*"},{cN:"emphasis",b:"_.+?_",r:0},{cN:"blockquote",b:"^>\\s+",e:"$"},{cN:"code",b:"`.+?`"},{cN:"code",b:"^ ",e:"$",r:0},{cN:"horizontal_rule",b:"^-{3,}",e:"$"},{b:"\\[.+?\\]\\(.+?\\)",rB:true,c:[{cN:"link_label",b:"\\[.+\\]"},{cN:"link_url",b:"\\(",e:"\\)",eB:true,eE:true}]}]}}(hljs);hljs.LANGUAGES.css=function(a){var b={cN:"function",b:a.IR+"\\(",e:"\\)",c:[a.NM,a.ASM,a.QSM]};return{cI:true,i:"[=/|']",c:[a.CBLCLM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",eE:true,k:"import page media charset",c:[b,a.ASM,a.QSM,a.NM]},{cN:"tag",b:a.IR,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[a.CBLCLM,{cN:"rule",b:"[^\\s]",rB:true,e:";",eW:true,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE:true,c:[b,a.NM,a.QSM,a.ASM,a.CBLCLM,{cN:"hexcolor",b:"\\#[0-9A-F]+"},{cN:"important",b:"!important"}]}}]}]}]}}(hljs);hljs.LANGUAGES.http=function(a){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:true,e:"$",c:[{cN:"string",b:" ",e:" ",eB:true,eE:true}]},{cN:"attribute",b:"^\\w",e:": ",eE:true,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:true}}]}}(hljs);hljs.LANGUAGES.java=function(a){return{k:"false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws",c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"@[A-Za-z]+"}],r:10},a.CLCM,a.CBLCLM,a.ASM,a.QSM,{cN:"class",bWK:true,e:"{",k:"class interface",i:":",c:[{bWK:true,k:"extends implements",r:10},{cN:"title",b:a.UIR}]},a.CNM,{cN:"annotation",b:"@[A-Za-z]+"}]}}(hljs);hljs.LANGUAGES.php=function(a){var e={cN:"variable",b:"\\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"};var b=[a.inherit(a.ASM,{i:null}),a.inherit(a.QSM,{i:null}),{cN:"string",b:'b"',e:'"',c:[a.BE]},{cN:"string",b:"b'",e:"'",c:[a.BE]}];var c=[a.BNM,a.CNM];var d={cN:"title",b:a.UIR};return{cI:true,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return implements parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception php_user_filter default die require __FUNCTION__ enddeclare final try this switch continue endfor endif declare unset true false namespace trait goto instanceof insteadof __DIR__ __NAMESPACE__ __halt_compiler",c:[a.CLCM,a.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+"}]},{cN:"comment",eB:true,b:"__halt_compiler.+?;",eW:true},{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[a.BE]},{cN:"preprocessor",b:"<\\?php",r:10},{cN:"preprocessor",b:"\\?>"},e,{cN:"function",bWK:true,e:"{",k:"function",i:"\\$|\\[|%",c:[d,{cN:"params",b:"\\(",e:"\\)",c:["self",e,a.CBLCLM].concat(b).concat(c)}]},{cN:"class",bWK:true,e:"{",k:"class",i:"[:\\(\\$]",c:[{bWK:true,eW:true,k:"extends",c:[d]},d]},{b:"=>"}].concat(b).concat(c)}}(hljs);hljs.LANGUAGES.python=function(a){var f={cN:"prompt",b:"^(>>>|\\.\\.\\.) "};var c=[{cN:"string",b:"(u|b)?r?'''",e:"'''",c:[f],r:10},{cN:"string",b:'(u|b)?r?"""',e:'"""',c:[f],r:10},{cN:"string",b:"(u|r|ur)'",e:"'",c:[a.BE],r:10},{cN:"string",b:'(u|r|ur)"',e:'"',c:[a.BE],r:10},{cN:"string",b:"(b|br)'",e:"'",c:[a.BE]},{cN:"string",b:'(b|br)"',e:'"',c:[a.BE]}].concat([a.ASM,a.QSM]);var e={cN:"title",b:a.UIR};var d={cN:"params",b:"\\(",e:"\\)",c:["self",a.CNM,f].concat(c)};var b={bWK:true,e:":",i:"[${=;\\n]",c:[e,d],r:10};return{k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda nonlocal|10",built_in:"None True False Ellipsis NotImplemented"},i:"(</|->|\\?)",c:c.concat([f,a.HCM,a.inherit(b,{cN:"function",k:"def"}),a.inherit(b,{cN:"class",k:"class"}),a.CNM,{cN:"decorator",b:"@",e:"$"},{b:"\\b(print|exec)\\("}])}}(hljs);hljs.LANGUAGES.sql=function(a){return{cI:true,c:[{cN:"operator",b:"(begin|start|commit|rollback|savepoint|lock|alter|create|drop|rename|call|delete|do|handler|insert|load|replace|select|truncate|update|set|show|pragma|grant)\\b(?!:)",e:";",eW:true,k:{keyword:"all partial global month current_timestamp using go revoke smallint indicator end-exec disconnect zone with character assertion to add current_user usage input local alter match collate real then rollback get read timestamp session_user not integer bit unique day minute desc insert execute like ilike|2 level decimal drop continue isolation found where constraints domain right national some module transaction relative second connect escape close system_user for deferred section cast current sqlstate allocate intersect deallocate numeric public preserve full goto initially asc no key output collation group by union session both last language constraint column of space foreign deferrable prior connection unknown action commit view or first into float year primary cascaded except restrict set references names table outer open select size are rows from prepare distinct leading create only next inner authorization schema corresponding option declare precision immediate else timezone_minute external varying translation true case exception join hour default double scroll value cursor descriptor values dec fetch procedure delete and false int is describe char as at in varchar null trailing any absolute current_time end grant privileges when cross check write current_date pad begin temporary exec time update catalog user sql date on identity timezone_hour natural whenever interval work order cascade diagnostics nchar having left call do handler load replace truncate start lock show pragma exists number",aggregate:"count sum min max avg"},c:[{cN:"string",b:"'",e:"'",c:[a.BE,{b:"''"}],r:0},{cN:"string",b:'"',e:'"',c:[a.BE,{b:'""'}],r:0},{cN:"string",b:"`",e:"`",c:[a.BE]},a.CNM]},a.CBLCLM,{cN:"comment",b:"--",e:"$"}]}}(hljs);hljs.LANGUAGES.vala=function(a){return{k:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object",literal:"false true null"},c:[{cN:"class",bWK:true,e:"{",k:"class interface delegate namespace",c:[{bWK:true,k:"extends implements"},{cN:"title",b:a.UIR}]},a.CLCM,a.CBLCLM,{cN:"string",b:'"""',e:'"""',r:5},a.ASM,a.QSM,a.CNM,{cN:"preprocessor",b:"^#",e:"$",r:2},{cN:"constant",b:" [A-Z_]+ ",r:0}]}}(hljs);hljs.LANGUAGES.perl=function(e){var a="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when";var d={cN:"subst",b:"[$@]\\{",e:"\\}",k:a,r:10};var b={cN:"variable",b:"\\$\\d"};var i={cN:"variable",b:"[\\$\\%\\@\\*](\\^\\w\\b|#\\w+(\\:\\:\\w+)*|[^\\s\\w{]|{\\w+}|\\w+(\\:\\:\\w*)*)"};var f=[e.BE,d,b,i];var h={b:"->",c:[{b:e.IR},{b:"{",e:"}"}]};var g={cN:"comment",b:"^(__END__|__DATA__)",e:"\\n$",r:5};var c=[b,i,e.HCM,g,{cN:"comment",b:"^\\=\\w",e:"\\=cut",eW:true},h,{cN:"string",b:"q[qwxr]?\\s*\\(",e:"\\)",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\[",e:"\\]",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\{",e:"\\}",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\|",e:"\\|",c:f,r:5},{cN:"string",b:"q[qwxr]?\\s*\\<",e:"\\>",c:f,r:5},{cN:"string",b:"qw\\s+q",e:"q",c:f,r:5},{cN:"string",b:"'",e:"'",c:[e.BE],r:0},{cN:"string",b:'"',e:'"',c:f,r:0},{cN:"string",b:"`",e:"`",c:[e.BE]},{cN:"string",b:"{\\w+}",r:0},{cN:"string",b:"-?\\w+\\s*\\=\\>",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"("+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,g,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"sub",bWK:true,e:"(\\s*\\(.*?\\))?[;{]",k:"sub",r:5},{cN:"operator",b:"-\\w\\b",r:0}];d.c=c;h.c[1].c=c;return{k:a,c:c}}(hljs);hljs.LANGUAGES.scala=function(a){var c={cN:"annotation",b:"@[A-Za-z]+"};var b={cN:"string",b:'u?r?"""',e:'"""',r:10};return{k:"type yield lazy override def with val var false true sealed abstract private trait object null if for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws",c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"@[A-Za-z]+"}],r:10},a.CLCM,a.CBLCLM,a.ASM,a.QSM,b,{cN:"class",b:"((case )?class |object |trait )",e:"({|$)",i:":",k:"case class trait object",c:[{bWK:true,k:"extends with",r:10},{cN:"title",b:a.UIR},{cN:"params",b:"\\(",e:"\\)",c:[a.ASM,a.QSM,b,c]}]},a.CNM,c]}}(hljs);hljs.LANGUAGES.cmake=function(a){return{cI:true,k:"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file",c:[{cN:"envvar",b:"\\${",e:"}"},a.HCM,a.QSM,a.NM]}}(hljs);hljs.LANGUAGES.objectivec=function(a){var b={keyword:"int float while private char catch export sizeof typedef const struct for union unsigned long volatile static protected bool mutable if public do return goto void enum else break extern class asm case short default double throw register explicit signed typename try this switch continue wchar_t inline readonly assign property protocol self synchronized end synthesize id optional required implementation nonatomic interface super unichar finally dynamic IBOutlet IBAction selector strong weak readonly",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"NSString NSDictionary CGRect CGPoint UIButton UILabel UITextView UIWebView MKMapView UISegmentedControl NSObject UITableViewDelegate UITableViewDataSource NSThread UIActivityIndicator UITabbar UIToolBar UIBarButtonItem UIImageView NSAutoreleasePool UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray NSMutableDictionary NSURL NSIndexPath CGSize UITableViewCell UIView UIViewController UINavigationBar UINavigationController UITabBarController UIPopoverController UIPopoverControllerDelegate UIImage NSNumber UISearchBar NSFetchedResultsController NSFetchedResultsChangeType UIScrollView UIScrollViewDelegate UIEdgeInsets UIColor UIFont UIApplication NSNotFound NSNotificationCenter NSNotification UILocalNotification NSBundle NSFileManager NSTimeInterval NSDate NSCalendar NSUserDefaults UIWindow NSRange NSArray NSError NSURLRequest NSURLConnection class UIInterfaceOrientation MPMoviePlayerController dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"};return{k:b,i:"</",c:[a.CLCM,a.CBLCLM,a.CNM,a.QSM,{cN:"string",b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"},{cN:"preprocessor",b:"#import",e:"$",c:[{cN:"title",b:'"',e:'"'},{cN:"title",b:"<",e:">"}]},{cN:"preprocessor",b:"#",e:"$"},{cN:"class",bWK:true,e:"({|$)",k:"interface class protocol implementation",c:[{cN:"id",b:a.UIR}]},{cN:"variable",b:"\\."+a.UIR}]}}(hljs);hljs.LANGUAGES.coffeescript=function(c){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off ",reserved:"case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf"};var a="[A-Za-z$_][0-9A-Za-z$_]*";var e={cN:"title",b:a};var d={cN:"subst",b:"#\\{",e:"}",k:b,c:[c.BNM,c.CNM]};return{k:b,c:[c.BNM,c.CNM,c.ASM,{cN:"string",b:'"""',e:'"""',c:[c.BE,d]},{cN:"string",b:'"',e:'"',c:[c.BE,d],r:0},{cN:"comment",b:"###",e:"###"},c.HCM,{cN:"regexp",b:"///",e:"///",c:[c.HCM]},{cN:"regexp",b:"//[gim]*"},{cN:"regexp",b:"/\\S(\\\\.|[^\\n])*/[gim]*"},{b:"`",e:"`",eB:true,eE:true,sL:"javascript"},{cN:"function",b:a+"\\s*=\\s*(\\(.+\\))?\\s*[-=]>",rB:true,c:[e,{cN:"params",b:"\\(",e:"\\)"}]},{cN:"class",bWK:true,k:"class",e:"$",i:":",c:[{bWK:true,k:"extends",eW:true,i:":",c:[e]},e]},{cN:"property",b:"@"+a}]}}(hljs);hljs.LANGUAGES.r=function(a){var b="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[a.HCM,{b:b,l:b,k:{keyword:"function if in break next repeat else for return switch while try tryCatch|10 stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...|10",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",r:0},{cN:"string",b:'"',e:'"',c:[a.BE],r:0},{cN:"string",b:"'",e:"'",c:[a.BE],r:0}]}}(hljs);hljs.LANGUAGES.json=function(a){var e={literal:"true false null"};var d=[a.QSM,a.CNM];var c={cN:"value",e:",",eW:true,eE:true,c:d,k:e};var b={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:true,eE:true,c:[a.BE],i:"\\n",starts:c}],i:"\\S"};var f={b:"\\[",e:"\\]",c:[a.inherit(c,{cN:null})],i:"\\S"};d.splice(d.length,0,b,f);return{c:d,k:e,i:"\\S"}}(hljs);hljs.LANGUAGES.django=function(c){function e(h,g){return(g==undefined||(!h.cN&&g.cN=="tag")||h.cN=="value")}function f(l,k){var g={};for(var j in l){if(j!="contains"){g[j]=l[j]}var m=[];for(var h=0;l.c&&h<l.c.length;h++){m.push(f(l.c[h],l))}if(e(l,k)){m=b.concat(m)}if(m.length){g.c=m}}return g}var d={cN:"filter",b:"\\|[A-Za-z]+\\:?",eE:true,k:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone",c:[{cN:"argument",b:'"',e:'"'}]};var b=[{cN:"template_comment",b:"{%\\s*comment\\s*%}",e:"{%\\s*endcomment\\s*%}"},{cN:"template_comment",b:"{#",e:"#}"},{cN:"template_tag",b:"{%",e:"%}",k:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor in ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup by as ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone",c:[d]},{cN:"variable",b:"{{",e:"}}",c:[d]}];var a=f(c.LANGUAGES.xml);a.cI=true;return a}(hljs);hljs.LANGUAGES.cpp=function(a){var b={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long throw volatile static protected bool template mutable if public friend do return goto auto void enum else break new extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr"};return{k:b,i:"</",c:[a.CLCM,a.CBLCLM,a.QSM,{cN:"string",b:"'\\\\?.",e:"'",i:"."},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},a.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:b,r:10,c:["self"]}]}}(hljs);hljs.LANGUAGES.matlab=function(a){var b=[a.CNM,{cN:"string",b:"'",e:"'",c:[a.BE,{b:"''"}],r:0}];return{k:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson"},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bWK:true,e:"$",k:"function",c:[{cN:"title",b:a.UIR},{cN:"params",b:"\\(",e:"\\)"},{cN:"params",b:"\\[",e:"\\]"}]},{cN:"transposed_variable",b:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",e:""},{cN:"matrix",b:"\\[",e:"\\]'*[\\.']*",c:b},{cN:"cell",b:"\\{",e:"\\}'*[\\.']*",c:b},{cN:"comment",b:"\\%",e:"$"}].concat(b)}}(hljs);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
119 |
</script> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
120 |
<!-- END extlib/js/highlight-7.3.pack.min.js --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
121 |
<!-- START extlib/css/colorbox.css --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
122 |
<style id="style:extlib/css/colorbox.css">/* |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
123 |
ColorBox Core Style: |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
124 |
The following CSS is consistent between example themes and should not be altered. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
125 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
126 |
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
127 |
#cboxOverlay{position:fixed; width:100%; height:100%;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
128 |
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
129 |
#cboxContent{position:relative;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
130 |
#cboxLoadedContent{overflow:auto;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
131 |
#cboxTitle{margin:0;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
132 |
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
133 |
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
134 |
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
135 |
.cboxIframe{width:100%; height:100%; display:block; border:0;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
136 |
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
137 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
138 |
/* |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
139 |
User Style: |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
140 |
Change the following styles to modify the appearance of ColorBox. They are |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
141 |
ordered & tabbed in a way that represents the nesting of the generated HTML. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
142 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
143 |
#cboxOverlay{background:#000;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
144 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
145 |
#colorbox{}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
146 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
147 |
#cboxTitle{position:absolute; bottom:-25px; left:0; text-align:center; width:100%; font-weight:bold; color:#7C7C7C;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
148 |
#cboxCurrent{position:absolute; bottom:-25px; left:58px; font-weight:bold; color:#7C7C7C;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
149 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
150 |
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{position:absolute; bottom:-29px; background-repeat: no-repeat; background-position: 0px 0px; width:23px; height:23px; text-indent:-9999px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
151 |
#cboxPrevious{left:0px; background-position: -51px -25px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
152 |
#cboxPrevious:hover{background-position:-51px 0px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
153 |
#cboxNext{left:27px; background-position:-75px -25px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
154 |
#cboxNext:hover{background-position:-75px 0px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
155 |
#cboxClose{right:0; background-position:-100px -25px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
156 |
#cboxClose:hover{background-position:-100px 0px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
157 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
158 |
.cboxSlideshow_on #cboxSlideshow{background-position:-125px 0px; right:27px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
159 |
.cboxSlideshow_on #cboxSlideshow:hover{background-position:-150px 0px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
160 |
.cboxSlideshow_off #cboxSlideshow{background-position:-150px -25px; right:27px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
161 |
.cboxSlideshow_off #cboxSlideshow:hover{background-position:-125px 0px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
162 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
163 |
/* begin inline customizing */ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
164 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
165 |
#cboxBottomCenter{height:43px; background-repeat: repeat-x; background-position: bottom left;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
166 |
#cboxTopCenter{height:14px; background-repeat: repeat-x; background-position: top left;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
167 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
168 |
#cboxBottomCenter, #cboxTopCenter {background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABLCAMAAACGCB2xAAAAM1BMVEVSUlJHR0dPT09BQUFLS0tQUFA6OjpgYGCKioozMzPS0tJaWlpRUVHy8vKJiYn////m5eV3dK93AAAAK0lEQVR4XqXBhQ2AQBAAsJ48bvtPywyE1GLGYUgtlPuT0+b5abealNDScL0YiAPSV/RH9wAAAABJRU5ErkJggg==);}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
169 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
170 |
#cboxTopLeft, #cboxTopRight, #cboxBottomLeft, #cboxBottomRight, #cboxMiddleLeft, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
171 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
172 |
#cboxMiddleRight, #cboxContent,#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
173 |
background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAABLCAMAAACx6hDAAAABj1BMVEVPT0/e3t7b29vS0tK7urq5uLjq6uqZmZmSkpJaWlrU1NTj4+PFxcWvr6+goKBbW1u3t7c9PT27u7vCwsKsrKxiYWGqqqq5ublbWlpeXV2Xl5fExMSbmpq6ubmNjY18fHzy8vIrKystLS0sLCxNTU0uLi4wMDDNzc05OTns6+vl5eUvLy/q6ekqKipMTExDQ0M4ODgyMjI2NjbZ2dk6OjrY2NjMzMxLS0vAwMBCQkLo5+dHR0cxMTFKSkpBQUHv7u43NzdISEhFRUVRUVHx8fE7Ozs8PDwzMzNJSUnp6elGRkZQUFDr6upeXl7t7e1gYGCoqKjv7+81NTWKiorn5uZERESCgoJdXV3p6OhOTk51dXVAQEA+Pj6np6fu7e2+vr5cXFxSUlKJiYnOzs7s7OxTU1P29vbw8PB2dnZfX1/m5eV4eHifn59qamqmpqbQ0NCOjo7Kysqzs7P4+PiDg4Otra3z8/M/Pz80NDSrq6u/v7/Pz890dHRpaWmBgYH5+fn08/NoaGjPzs7///+ioqIRuwm9AAAGHUlEQVR4XsTXZY/jPBAA4PwUQxjKzMzLjMfMzPfiD7+xm23ibjZVu5u7+VBL7ljyI3scW9pZOv59+gdjZ+NOeyzlyzXtv9B408/Uynlp3L4r7bzYWC5E4a4xvAQYGkEA2/DG2GL6biBmHbGoz9pVhTBkuRCEhx0TzVNKKNspBczXdHtLnTRa9yC78MdhAND+6xaLh3+7bf1mhO3guEpooJfbaH56h2i7gOx5oCmlckBkwFzqGIi+9LdocllofMSUUnzrndui6wo5bnxVzJyC8BztO06A0HFeM4IIxLgBRAZsYAeI/vSf6DxASAkhFIS8vbaQ6aSw4ExBWNoyDyjFAUKM6Q9zy1ddEwBSSnStY3c0ncCo78j2px+YW6VLQqIoCgEhb68p5L4jWY6xyIsR4yHLgASiJ4S5JohCaICQQn8756suI5vC0KlkNKRlFBiEU9mJkN7KdYaRCpkvVh00y8HRbA6qMZkRZ8L7aJMolmUpiMe6u215ENafOEPe6Qlbk0K22tvoqTCGwob1lpyn0zN0PzIhB8aqzdFevFgLjGJ8b9TMA3EmrJuPAaiqqvVgbe3g9rFp8834z+2DtbUHvF8h+151QfUliKVWWKgWSUBFekI3/TGqzwstV2jdgFCulj+EjfhSbLlEELIDv82A0wmzXffVYJMqOBTcLkQhrLo8om5VkhAg1BnQE16kt81HpWiEfAmb/4cPeV5rDWKu8BAVGpRJ2IQ5ERemQsy73X6+GXdnRK1bSfb7/WSlqwHQJ/TSCyD3hIorVG5CKFdHr8KF907j5ao8FRppBxMFgDDfpCgkU/i0n2DHq0UbPXGFz5AtHEy+9KwRkRCWMP4tXKhlTlpVWZqtIVBAEryGSRYBa6jyP9T5NfTSYQ0j2qVH+XLx3gJh4nRvEAPh3Ys6nNUbq8OCWIccLtahlpmdNLom1qGb3k5HVofSUX5UWyDMpXpxVoggdM9SIPrO0olwllZUAL4XzlId6NOwFF08S3l6hGcpO2iqrZNFwu1esRljQ0K+h3XEg/frm8L3MEEU6O4+gR9Y9IT/e8jTyWYE30NB+Gk5Ib/T6ErInUbzXVKMdAMTCF1Dmk4gcCM9d6dh6RELtQXCz11BGHovpYH3UgorZ8NqUhh1jGx/evC9FOQg5O1vFa72thj73xZ47m2xv9LbInqh+D4MffABUeLAp5wYwfswEiHEcKU3fnalN37kwl/s2M9LAkEUB/C0ml12VgmKLh2+cwtBOkWRUdIvIpJayYNdgkIIukUDdYz8x2tnt96OjQMS8hbzexFhDn6QN2/eIyHTnoZByJD/KJwL58L5TdM/FY5uIZ3dQvx0C2l3C+HuFsNKmuF7/tlm6vixdnR8vfm744tQV/OOX9UJEen4SBpDpKm85J9Mr7Ya4BACK4ZgAYGUaICAIdLxmroro7DVFQHGCFEX1ss7BRpi0wBTYrN4PBDdVumE5reOFSKsFqcnqZERVQaElh3r+A0dn5pwQ3mzOiIcqBgmjo1wZoiLE/A3LEBOLUzAMInVYMrCtUVv1m1hWyTIEgZfSYTZCIt6+iVEFqqurPoopiJHhEhUe7rCpSdvlkloLvwQViKziYpAoeoiogNIQoTysVUSYV9FGl4hUXoWkYAOIXREcl5hQwJeIaW4EQ4A0D3qEAKyMfP/YW+261Aw16H/Lu3MyF36936o6Qpy9ENW4eRvmv6kbxpmIcO7lEHIMFuwCf3zYaSaE8+H/EL2GZ9BWOY9zWc7d+wSMQzFcbzDCTqVCnJ3ok4HdrpAKZRSWnInicUOQiVISYeem25O6Xz+4/YJWaokg8Px4P3+gw/p+L79p/AkQyEkIQlJSEISkpCEJCQhCUmofcJWIhXa+1KfcJlIBsIDSmEzCatLt/CW96pGLNzu2LlbeBcbe+eNURhs6r2+cQGvuczhVh+tsMsK1qdX769DuLqYLQyHdc+lht4CqfDnMy0LZmScjI+/N7Y8llpNT4hYGABRVSYSIp1PCBmZygJRCn1pV87UHsKurnnAK3Tnebu6zCDOgydEKZwnlts/+srOBpY4hdbYOBtZACIWghHm7JyRCu3efEP6T4Vv0sK5wmQ8JLkAAAAASUVORK5CYII=); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
174 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
175 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
176 |
#cboxTopLeft{width:14px; height:14px; background-repeat: no-repeat; background-position: 0 0;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
177 |
#cboxTopRight{width:14px; height:14px; background-repeat: no-repeat; background-position: -36px 0;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
178 |
#cboxBottomLeft{width:14px; height:43px; background-repeat: no-repeat; background-position: 0 -32px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
179 |
#cboxBottomRight{width:14px; height:43px; background-repeat: no-repeat; background-position: -36px -32px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
180 |
#cboxMiddleLeft{width:14px; background-repeat: repeat-y; background-position: -175px 0;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
181 |
#cboxMiddleRight{width:14px; background-repeat: repeat-y; background-position: -211px 0;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
182 |
#cboxContent{background:#fff; overflow:visible;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
183 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
184 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
185 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
186 |
.cboxIframe{background:#fff;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
187 |
#cboxError{padding:50px; border:1px solid #ccc;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
188 |
#cboxLoadedContent{margin-bottom:5px;}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
189 |
#cboxLoadingOverlay{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoBAMAAAB+0KVeAAAAElBMVEX///////////8AAAD///////9H1zSfAAAABXRSTlPvgBAAz5JLnNUAAAA+SURBVHhe7dMhAQAgEEPRIfAYEkCCi0ACEOtfBc8WAHFfPr0hGp/KwKS00BUPquIGTZ9gYqIdrZ23PYK9zAX6sAYavSqAMgAAAABJRU5ErkJggg==);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
190 |
background-repeat: no-repeat; background-position: center center;} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
191 |
#cboxLoadingGraphic{background: url(data:image/gif;base64,R0lGODlhIAAgAPYAAP////9VAP77+v7j1v7m2v78/P7Quv6qgP6wiv7UwP749v7v6P6viP6ofv6/oP7u5v6fcP6LUv6rgv7s5P728v6nfP7Aov7Irv54Nv57Ov5/QP6bav7n3P739P6mev7Dpv76+P7ayP58PP6cbP7w6v6+nv6keP7Tvv7g0v53NP56OP7HrP7Yxv7czP7z7v7i1P50MP7MtP7SvP7EqP708P6ebv62kv7k2P7r4v6uhv5gEv5fEP5sJP5eDv5zLv67mv7q4P7o3v7y7P7KsP68nP64lv6WYv6zjv63lP6DRv6HTP6KUP6CRP6GSv60kP7ezv6ESP6AQv7f0P7Wwv6ITv66mP5mGv5vKP52Mv5jFv5iFP7PuP6QWv6MVP7CpP6gcv6PWP6TXv6XZP6SXP6OVv5rIv5qIP5oHv5wKv7byv7XxP6aaP7Otv6YZv5yLP7Gqv5kGP6UYP5nHP6idP6jdv7Lsv5uJv6shP5+Pv6yjP5cDAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJBQAAACwAAAAAIAAgAAAH/4AAgoOEhYaHiImKi4yNjo+QkZKECzk2NJOCDxchgwU1OjsSmQoQGCIWghQiOz01npALERkYGQ4AFBqtP4ILN0ACjgISGhkpGDIANjw+KABCKNEujxMbGiowowAEHIIT0SgUkBwjGiIzhkIvKDiSJCsxwYYdmI8KFB0FjfqLAgYMEiSUEJeoAJABBAgiGnCgQQUPJlgoIgGuWyICCBhoRNBCEbRoFhEVSODAwocTIBQVwEEgiMJEChSkzNTPRQdEFF46KsABxYtphUisAxLpW7QJgkDMxAFO5yIC0V5gEjrg5kcUQB098ElCEFQURAH4CiLvEQUFg25ECwKLpiCmKBC6ui0kYILcuXjz6t3Ld1IgACH5BAkFAAAALAAAAAAgACAAAAf/gACCg4SFhoeIiYqLjI2Ohw8Tj44XKlhbk4sKEVZZXAWZgwsxLYMdTJ1RCqEAIA1JSjOCFKhaUSCCoI8kRkpMULIKVFZaXaALN0C6jAVHS01RTFMAVVc8XgBCKNsujwsmS1AaCIJSpQAT2ygUk0AeS0oXhkIvKDihQjEyy4QdNJMgOqxqxC9RCyJFkKwYiKgAkAEE2CWi4CChDSdSFJFQx0ERiCEWQlq4oUjbto6KgCQwIOOJAEUFcBAIInGRgIKsGrrogIhCzUcFgqB40a0QiXpAMj1QJ6kVLgA41P1kxGHbi39HB/A0iaKoo6MvSAgisC0pAGRBXk4SOOjGtiCDFXCGSodCSM6GC7ze3cu3r9+/gAcFAgAh+QQJBQAAACwAAAAAIAAgAAAH/4AAgoOEhYaHiImKi4yNjoYkTj8Uj40SPGUMlYsdSzxmSiCbg0IyKIM0TTxnTAqjACAIYGNDgh1Uq1CiAB2VLl9hZGAXsGSrXAUKEjNABY4FRGJjXV0sAD8+aB8ANmItKC6PJAxiXBFIAAIhIYJVUygolI8TCNIxhkAvKDijLidTzgx1oLEJxC5GAReRkLFixZSDhwoAGUBAXiIWQy6smMFBEQl4KDoqenKi5Al+iYSAFJmIwgAUL5opKoCDQBCLM189c9HrEAWcz4LADFeIhD4gmxaAnCDIoCAcIIEuEgqToNEBvVTCI+rIxYAXJAQRgIcUwIIbQQQUPHiD7KCEOhMBTIAnJG7EBVzt6t3Lt6/fvYEAACH5BAkFAAAALAAAAAAgACAAAAf/gACCg4SFhoeIiYqLjI2OhiRVDhSPjQhYPkeViwpjWG5dIJuDBTdBgxRkWGhKCqOCK18QW4IdXKsRogAPHY8FNl8bG2wAIEarRgUKDW4ROI8XHl9rbS0ADhkYbwBIWj1wU48uPx4QYg4ABS1pgm09ZUc0lQtE5SeGR1hEz5sUIWkFDAkAIq9SAQGOAjIC8YLFFBQIExUAMoAAJUU41oVQs0ARCRQgOSyaABKkC0VCSopUJADHjRsTFhXAQSDIRZmvErrodYjCTV9BULw4WYjECxRANn0EGbNYRBwlfzIiKVSe0Ru9UpqsRGHAABKCCIBMCmCBqYiPBKC9MZZUTkJUEIW8PVRgAdG5ePPq3ctXbyAAIfkECQUAAAAsAAAAACAAIAAAB/+AAIKDhIWGh4iJiouMjY6GQhZDHY+NSFEiRZWLCmtRGXEgm4QgCoMdYhoZYKajAA9ETmqCnRoqY6IACy6VCQgHDQkAIBAaGCMAChIpShyPTzYMDR4oADNQUUMAVXJZOj+PHRdOOR4rAAVST4Ij3joXlS7jOSyGNnA7YRSbHSgvhyAMvBHiqlEBgxNu3MCxqACQAQT2KXKBoiIKGopIWHQ20eJFRUI2NsShcMJIAkEkNixo0AWlQxRUPioQxB+vQiReoACySWNFk8MECMJhUSajCRVfYMx5g1LIijcdKSAwgIQgAhV56roBRGilAgcF3cg6KCxLAEhREDxbqACJqGwI48qdS7fuqEAAIfkECQUAAAAsAAAAACAAIAAAB/+AAIKDhIWGh4iJiouMjY6GLitsCo+NJRFUM5WLICYRTSMCm4kdc59iIIIgLw+VT2woggp0EVBrogtfblFSjhNeP0hpAAINEUl0AApfZWdyTr4rFkVOBAB1YBFsAD92zlZ1jiBTbw42WwAFL7ECRmZycEYUjxRqbyW9hUfwRiSbIEGCHKLwxoKQUY1AUCjQiAQBAhMWFWjRgkCHRRRQaERBQxGJjRwwbuSoSAhIRg9u3IioqAAOAkAuMmKIsFEBFzINUZi3qUAQFC9cGCKxDsimjxpZghAFAMdGno4eaHzRkeiNiyY1Cn0EgsAAfwAIaDQKYMENIEwr0QRwY+ygtTUUAUzQeDCuoQIkttrdy7ev3799AwEAIfkECQUAAAAsAAAAACAAIAAAB/+AAIKDhIWGh4iJiouMjY6GBQMDj45sI20ylIsgDG1jBwWaiQp3nl8ggiAyQxSPJCgPqZ1cdAIAJB4pbkeOCmoxF5MCR21cEgAKFTBodmO2jB0hqzM4ADIjRpkOKcw8P48cLAYrIQAFN5MFI252ZRutjiAELFschkVXZWskmgUkC4coXPjgQlQjEDj4MSJBgMCERRPA2MlgYJGCFygy0lCE5MwVH21QjcKoUREBNglY3GC04MaNh4oK4CAARIHBm4gKuOiAiAI8SgWCoHhRsBAJjEA0vcoIE8QzHBlR/Gz0IOOLjUdv8BQStWg8AjcUEsiYFEBLIM+ADrpBdlAonIIRJmQUAhcSCa918+rdy7evqEAAIfkECQUAAAAsAAAAACAAIAAAB/+AAIKDhIWGh4iJiouMjY6HIAKPjkFFP0CTjB8VXx+ZigI/FRAMkgACCWwdjwVCNIICRKMHkkJ3URlIj0FPITgABQ4VNUcFIDl4KiliposCLygtUyQAIXd0LQAzuClYDo9AKFIhN4ITmAV0GSkwX6uOIBziC4ZEKT4QQpmtr4YddStcfGoEYoI+RkIIEJiwaEIYNxpkLAIBDQWKfojy6NiYRIEiihYvKjrSo2QTEIsW3LjBUNEDD1SohBgIqlmjAi7eGaJA4VOBICheCCxEAhqmSSRCtowkCEfIno8eWHzxquiNVUJCDoVH4AY1AAQsHlUJpIDPQTfEDjJLc9AEiwcP2xYqQGKr3Lt48+rdizcQACH5BAkFAAAALAAAAAAgACAAAAf/gACCg4SFhoeIiYqLjI2Oj5CHCmkhCpGLU0gMMpeJBUOaPwWCAiwyHZAdlgACF0g5NgIALkcRTSWPEy8DQgAFdUh3uCBOVFBMELKMBTcoKC8UAC8/CC8AQ11NTBozj0DOKA+CJOIFEtp4FaiOIBzPLoZeTHge8JAFLtGGHVt1NJ2MQEzoxUgIAQITFj1og4EJm0UCBoD7l8iGHCtWlIBQFHGiIhtZQmpcZPBGQkUPxIhY8hDgoQIUlDnCt84QBX33grwzROIFCiCRSIA7CUIZDnA4Gz1w9uJfzxuohICzx47ADRKCCDgDCmDBDRyjIoUF0OznoLEuJzgj6LJQARJUCtvKnUu3rt25gQAAIfkECQUAAAAsAAAAACAAIAAAB/+AAIKDhIWGh4iJiouMjY6PkIgkC5GMHEMzN5WKLBcOQ4MCL2oKkCAgggWdJR8FADREbWMfjyQvA0KCaRdEFwACJUZcXQ2ujRwoKC8UAEB1FhwABrJdS76OOMkoD4I0JIJOY11UOaWOIMgvNIYXZOTrkAUuzIYKJ1vwm4oCD0FCxomEECAwYRGQGhpUJPmSz5CAAdoaGrpjpyKPKzISFYCYTGIhBGZCmrFjQJELAjcKKnqwIQoTJk4E6DNUoIPNR/I6IGIxRGe8IMpcGCKR4EsbobW0qQQhE0A2KQ5QQHqQTB0AWzd0CtGW6xEIlN8AEEgGRNCCGzgA4hx0g+wgtfoTJiTrOrNQARJI6+rdy7evX76BAAAh+QQJBQAAACwAAAAAIAAgAAAH/4AAgoOEhYaHiImKi4yNjo+QiCACkYxCTywklYoEaTIsgwUcQJEgBYM3aQYygh1vHiYtj0IvN0KCnVtTAAUrJhBrDo8cKCgvFABCLQYTAGoVwGJbjzjFKA+CCjSCDl9rRkgKjyDEL9uFWxtxNuePBS7IhiAsJ/GbigILQED2iEIEBJop4jCHShImYlAkEjDAWrtDOVKkwEIRwilEBBwquuOmY0cIilwQuCEwEQ4ISpRQmUPgnqECHWJeZPSuwyEQQ4bYhFQgiDEXhhxo0TIG6CMS1gROEpQGih4dMSA9KGYOAIlaNoUYwKOHCCQQIzUByIiCFIAFMiqUdIeqmFleLhQHTSh2K26hAiSM2t3Lt6/fv5sCAQAh+QQJBQAAACwAAAAAIAAgAAAH/4AAgoOEhYaHiImKi4yNjo+QiAWRjRQ3BAqUihwoKByEIJOQBaIABJ0vggoJRBeZjjQ3N0KCp1IDAAUyRzkHKI9BqBQAQgMoLgBSNgwNDZ+OOJ0oC4Igr3XMJl6ljCCcL8OFagd0Dh2RBS7hhSBPIeeaiwIkODjriC4EBBOLQAdjZLpAwJXoVCcaio4wicJQgwdFBlEgTJQng0WLDxNRIHCDn6IJHsiAAVPhWTxCBTp0eNUoHbxCAmLEeOmoQLAXyAoxsCLHSE5HJKR5BCFAUJgdWqywgfQAFUISL26cQ6IDqQNIIDiSqNUJCAAFDdyI8Thq0I2ugx4UPQlgQidabA4LFSDxM67du3jz6qUUCAAh+QQJBQAAACwAAAAAIAAgAAAH/4AAgoOEhYaHiImKi4yNjo+QkZKECkBAApOJQCgoD5mDBQWDBJwcggUDUwSQHTc3QoKkKEGCTzMODjSPOJwvHQBCAwMUAEErDkVVLo8TnCgLggIggiwWRUd1kCAcKC/EhVJVeRcKkQUu34UCNwPln4kFQg8Pv4oUBAQTixN5NW1iDVYlkoVCV6IfZLp0iRAhhyKCBhEVaUKR4h17BG7oU/TgjpiPOWi9o6TAXaNz9dRt2ZLSUYEg3ZYVysPjyoaIjUg42wgCEwAjVs7YMQDpQS9dJF7c+FXESlAv2jKSiMUJCAAFErBwMWVu0I2qgxZMe9cMBayRhAqQkIm2rdu3cATjNgoEACH5BAkFAAAALAAAAAAgACAAAAf/gACCg4SFhoeIiYqLjI2Oj5CRkoQKQDgCk4k4KCgPmYMFBYMEnByDJBwUkB03N0KCpChBgkAsBiGQE5wvHQBCAwOqJCEydWyYjg+cKAuCAiCCHMUzuI8CHCgvqoU4dR8J0JAFLtuGOEHhn4gFNCQkyIkUBAQTiwtEBx4mSECKsSg0FH3YsKaNQST+lgVM5GDMmDAObSiSd6OeIhJHvnyZYwOHukIKFKRjNK6XIQpvLph8VCBINheGjrjBMufVIxLLLIIIKIALDzQ+6Ch4pCxbQBIvvrABgIQHjytYTjwCQeAGCVgoPJApoOBLmadeIokSdAMFka0AaHjAomTAJ10XFIiA4nD1UwESC0Z+3Mu3r9+/kAIBACH5BAkFAAAALAAAAAAgACAAAAf/gACCg4SFhoeIiYqLjI2Oj5CRkoQCEwsFk4k4KCgLmYOYgwScHIMULpEdBDdCgqMoQYITLyg4kBOcLx0AQgMDFLycLS+QC5ydggIgsigtakCQBRwoL8CFQi1TKKGPBS7WhkKXn4unHdyIFAQEE4tCK0VONh+tia8oNIoxBw0VFR5bFN3Ll+jCl4MHYyhSd6OdIiFEJNy54wAVOUIgMnZzscuQixVsOnYLQs0iIRsZNDQw2YjEMYdPSinggkUFngMiGT3IlQ+ICjQBq/jAggGPl0cgVpEQ9ELFjjEFQHgYimGEgGiDWvjYQQaTEAg+Uvz49OKKjiKm2IT8ROFIlZwXCOPKnUu3LqRAACH5BAkFAAAALAAAAAAgACAAAAf/gACCg4SFhoeIiYqLjI2Oj5CRkoQFJCSTijgoKAuYiASbHIMdHZEKHARCgqAoQYITLy+Xjw+bL6VCAwMUAEKbrZALv50AAiCvv6qPBRwoL7yFvig4kgUu0IYUNJ6MChTHixQEBBOLHVMrHytSi6wo24ksVUVISD/wn7/4h1MM/gw2XCgSd6PcwDdIbBBhx62QAAUClrkoZYhGDBkKIhUI4kxgoR9NIiDYx4jEr3ICWrgCIUYDFCp5KDaq5WxbDjlYDABwIEJDEiorHoEgcOMSBRU64BgpAEJCzyQmCkCSCoAEjKRhpLrwICKKBU9tkv4YRMEARk8TjvyQ2bCt27dwBONGCgQAIfkECQUAAAAsAAAAACAAIAAAB/+AAIKDhIWGh4iJiouMjY6PkJGShAUkJJOKEygoC5iIBJscgyAgkQocBEKCoChBgg8vAzSQD5svHQBCAzcUuZsoOJALv50AAgKCmpuqjwUcKC+9hUKbwZEFLtKGFLOeiwIgBYwUBAQT3y9qCSzMiawo3Yg3dUMXFyeL7/GHUhb+FgYWUeBw45yiDgZmvIlxyVshAeKaucBliIYMNaUgFQgCzYUhL2PaVNHWiMSvcwKeAAEA4ksELnGqKHhUC9osBDxE4PtAJQKYODEegSBw4xIFPFbKbCgAIo8SnzkiOoooBEPSNuJo3KHS5Y2nEVZ4lBjUIc2UmZgm2HCA1qHbt3AF48qVFAgAIfkECQUAAAAsAAAAACAAIAAAB/+AAIKDhIWGh4iJiouMjY6PkJGShAUkQpOKDygoC5iIBJscgyAFkQocBJcAoChBgg8vNx2Qmigvs0IDNxQAQpsoD5ALv50AAgKCE7+qjgUctryFQi8oOJIFLtGGHTSejAWljBQEBBOLBUADA0DIiqwo3YkPTy1padbuv/GIQTL+Mq4UUeBww5wiEC1OnJACwpshcJCwzdrG4knDiEFQSAlh6AIEDx8mOnKx6cgcYyFQGDvQpgadDxcbaXqDxQsAJz7wGAAwJE6bEXMSPALxQgwDARSS2IFhwliVMD9/QBJQDAcWOz7aIKPgxEibGJgWqMCqVZCCjTEjUVBix80dh4UQLuChkgZuoQck7Ordy5dQIAAh+QQJBQAAACwAAAAAIAAgAAAH/4AAgoOEhYaHiImKi4yNjo+QkZKEBSQuk4oPKCgkmIgEmxyDAgWRChwEQoKgKEGCDwMEIJCaKC8dAEIDNxS5mygLkAu/wQCkghO/qo8FHLa9hUIvKDiSBS7Qhh00noyljRQEBBOLBUC71YusKNyJw7/Zn7/tiO+b8YcUHDfkigVBLwak60bwWhABhkCguIEQUrMiWH4YksHAxhYFkIQgMLMDgrE0L4w5qXDnCJuGjWZY6QFnBoAiGZQkAGBgDsk8LR6lyeAmj4AOS1LguWPMyxwPEthAIvFAEAkmKUR8KdXBgok7UjA9jVrjm4AbrjC5aJIigwmChTxEfYOW0IISbwgwtp1Lt66gQAAh+QQJBQAAACwAAAAAIAAgAAAH/4AAgoOEhYaHiImKi4yNjo+QkZKEBUIuk4oPKCgkmIgEmxyDBZIKHARCgqAoQYIPAxwCkJooLx0AQgM3FLibKKmPC74LggKkABO+vI8FHLXLhEIvKDiSBS7QhR00nozHjBQEBBOLBUC6xIurKNyJwpu26r7tiEK+8YoUHDfkigU4BDgA60YQSAkZsgoJCILjm6MJSXrIKWEohIMVaRI6qrJDB5w5AAQ8uSFoho0SH1pAMqEjS5kVAIg0GcMCgBoENoh8ePCohYYUTgR0GBNliRMABergJAIEkpB0QpZEoXKAFIgtPwyAwBQ1ipIK3255okHG6x2Che54rYOWEIkPdQi2tp1Lt66gQAAh+QQJBQAAACwAAAAAIAAgAAAH/4AAgoOEhYaHiImKi4yNjo+QkZKEBUIuk4oPKCgkmIgEmxyDBZIKHARCgqAoQYILN0ECkJooLx0AQgM3FLibKKmPC74LggKkABO+vI8FHLXLhEIvKDiSBS7QhR00nozHjBQEBBOLBUC6nYurKNyJwpsDsorr7YhCvvGLFBw35IoFOAhwqNetGw4HJ+QVInEp0gQlWXhYMHRDBosg3xodgSOnTAUABV60AnBixZYpIx15kGPGzRAAXrjUeAJAioUVbNSAePQECp4iAhSs6WKkBMgpXlac2PlICDEALsJ0iXOElIAXCaphchGnS5g8GbvREOPVRsFCR7waOBvtggGmbAbjyp0LIBAAIfkECQUAAAAsAAAAACAAIAAAB/+AAIKDhIWGh4iJiouMjY6PkJGShAVCLpOKDygoJJiIBJscgwWSChwEQoKgKEGCCzdApI+aKC8dAEIDNxS4myi8jwu+C4ICshO+wI4FHLXKg0IvKDiSBS7PhB00noyyjBQEBBOLBUC6qYurKNuJJL433ogDagkxnYlC7/GHLWFNJrcSFcBBIAi7RR2E7ONGCAeRISAOubgUKUgXM24cGKIV6xGJMGWu+JAAoAABagBQhJCC4sEjByHdqFgB4EINCQMABDmxksAjCXbcpMgjQIGJNSZopuQpypGUCFGK3KJRYw0djSWBAFEAycU4QTQgrJlDhCEhCnPWfLFglpADtWoN2g6iIIOFALl48+YNBAAh+QQJBQAAACwAAAAAIAAgAAAH/4AAgoOEhYaHiImKi4yNjo+QkZKEBUIuk4oPKCgkmIgEmxyDBZIKHARCgqAoQYILN0Ckj5ooLx0AQgM3FLibKLyPC74LggKyE77AjgUctcqDQi8oOJIFLs+EHTSejLKMuTcTiwVAupeKQmBKNRI3iiS+BIskKT09Ox/o8YwXTCk12AoVwEEgSMBDHVx442ZogoUYIA65OAcJyBgfKvIVgoci1iMhbXykEJEHADliAIAMe+QExkgodQBskVClFUcUohqB4JIiQxQHBUAwaODkhKAJ0h48YpBBg5OIFCQ0yBNTEAWKjSjIOKHA6p0GCIYwJAQiD9gtYwkZOOAkZ1qTHAeovZ1Ll24gACH5BAkFAAAALAAAAAAgACAAAAf/gACCg4SFhoeIiYqLjI2Oj5CRkoQFQi6Tig8oKCSYiASbHJ4ACkEEQoKgKEGCJARABZCaKC8dAEIDNxS3myi7jwu9C4ICsQATvb+OBRy0yoNCLyg4kgUuz4QdNJFCqI3GjCsYMGudiQVAuduKQhg772+KJL0EiyQZWVlwM+y9ootDmoiYg61QARwEghQ8pMAFuFGGHswwAOIQhYWLcLQRAeWCIRLSYD0SAgEPEypVWl0CAETYoyomlXAxAEDNjyHDhPQC4ghEGyZNuswoIIBIkRlSBD148cJbIydNIhCpSMNGkQ8sBnVQAKnDFDVcAXQoUsSLGoiEBHwoYgEFWkI4DS4kWPdW0MO6ePPWDQQAIfkECQUAAAAsAAAAACAAIAAAB/+AAIKDhIWGh4iJiouMjY6PkJGShAVCLpOKDygoJJiIBJscngAKQQRCgqAoQYIkBEAFkJooLx0AQgM3FLebKLuPC70LggKxABO9v44FHLTKg0IvKDiSBS7PhB00kS6ojcaMQyIYI52JBUADBNiGQnhWcHAXiiS9oopCUWZmZW/49oxidEnigR0lHASCGDSkgAa4UYYWXEgg4BCFhYomzFHChY0hEtKAQHJRgQqZOF4E0VAgCEgvb40cLCETZoQaAFJipNklpNcERyDm0FwTo4CAIUPUUAPw4MUAjIaIhGnzpmKHGUOm3CMFAlKHEC2MgbgwJMFWiIJYDDkxDO0gBTcKfrqdS7euXUOBAAAh+QQJBQAAACwAAAAAIAAgAAAH/4AAgoOEhYaHiImKi4yNjo+QkZKEBUIuk4oPKCgkmIgEmxyeAApBBEKCoChBgiQEQAWQMi0oLx0AQgM3FLibKLyPORC0C4ICsQATvsCOQFBfT8yDQi8oOJI4DsWHHTSPBS4kQgKNyIokXxoZIhuoiQVAAwS3iV52djw8ZQ7nvqKJM9wIFOhFkRBfrBKRoNMEypIGl97heKVgUSUSEUchIsEmBDlDFKQ5WnAgTo0EhkhUAwKJBoI4G+jUEaQAhCAgvtw1emNkwxwJTwAEeTLg1sFN2xgJkLDhS4UTAAqwoMUSwAN5FR3NcMqGnAA1tP4BOAZJgZQXyAqkoaqxEJAnLw1EtqWQta3du3jzKgoEACH5BAkFAAAALAAAAAAgACAAAAf/gACCg4SFhoeIiYqLjI2Oj5CRkoQFQi6Tig8oKCSYgx0FgwSbHJ4AaU0/QoKjKEGCJARAoY9zPSkGHQBCAzcUu5sov48SOz1GD4ICtBPBw444STtlT4ZCLyg4kjg/bLSFHTSPBTSWAo3fiSwbTUxJX52JBUADBLqIIEZY+zAwSIokgr3CtyGDQYMOFAkJBkRRiw1kyIxhEA9RARyyQCwCIUSIOFOJXCR4km4QhWePSDiZc6eFIRLYGj6iUIXOgTwJBIHQCABHsI+N2Jg4gODHDQAwB+hauGnBIyIHGCBxCaCVzAX1eDZSk6eImlAFbmwaCKBASUYTkonapA0kIV4EDRS4LWR2rt27ePMeCgQAIfkECQUAAAAsAAAAACAAIAAAB/+AAIKDhIWGh4iJiouMjY6PkJGShAVCLpOKDygoJJiDFEKDBJscngAtTSlFgqMoQYIkBEAFkB5ZOlYGAEIDNxS7myi/jwxwWjsSggK0ABPBw444VHBnF4ZCLyg4khMlW8yFHTSPBTRCNOCK6Yhpc2RLER6hiQVAAwQdiSA1UVEaGniIKCIR7BUiAXSaKFQ4Q5GQYEAUSTHRps0IG/MQFcAhC8QiEC5cQDN1iEaaG+sEURjpyIWFPD9uGCKRLeIjEG+OVPmAQhAIjwBwBBvnCIWTKl5iPABAc0C+h5s6Fa1i4cIAVptsLrgHtJGCE2xkAihwY5PBsSkZCSDEYdMCkoUOKHDg0BWu3bt48+pdFAgAIfkECQUAAAAsAAAAACAAIAAAB/+AAIKDhIWGh4iJiouMjY6PkJGShAVCLpOKDygoJJiDNEKDBJscngAtUBlVgqMoQYIkBEAFkAdmVmUyAEIDNxS7myi/j0c8Z1Y5ggK0ABPBw44TZDx2dYZCLyg4khNeMsyFHTSPBRQuNOCK6YhSB2JhcTnjiQVAAwQKiQIVXV0RS0suKCIRDIi+O2MSJhyiSEhBRQMYmDDRwME8RAVwyAKxSAAFGh1MKerwwuAhCtAeUYjhhc0DQySymXx04kOdKdsAgOAIAMezRyRW1DnxZFzMASEdbrrkyAUbGWleAmhlcsGNIAIg2esEoMCNTa8ErZsUZNMCkYUUBJkwFq3bt3AF48pFFAgAIfkECQUAAAAsAAAAACAAIAAAB/+AAIKDhIWGh4iJiouMjY6PkJGShA8XLpOECxOEX01SJJgAU0l4JYIUKkpSHKEVblduRAAUGWQoQYIkBEAFj04wbnZoBgBObTcUAEIozMmOD2EwaDwVghO9ABPMKM6ON9E+FoZCLyg4kg8fFwKHHTSQ7hTYi/OJL0dzEBBO74kFQAMIKEgkIM+aNm3EGGGjiMQ2IP6QfJk4kViiZcwgJuJQBQECJxe6HSqAYxeIRQI6UBgYSpECHEIQURDpCESIBE8uFSJRTuOjF1OeoNgEAMRJADi20XQZQuiLdzwHdFC2TWejAgNQvAAFgEBGQQtu4KjHSMECqzeY4RJEdhIQZgsPWhoSMOGa3Lt48+rdiykQACH5BAkFAAAALAAAAAAgACAAAAf/gACCg4SFhoeIiYqLjI2Oj5CRkoQLRTMKk4JCFyGEdDs6R5kCBxgiFoIUeDs9Jpk0XBkpKg4AFBqsRIIkBEAFjwwaGVgYMgA2PFgoAEIozhSPExsaKjASggQPghPOKNCPHCMaIjOGQi8oOJIkKzEChx00kAoUHb+M94pCFjkSEiXfEBUAMoAApkRDGlTw4MFEAkUkugFRFIOBRYss9ElU5IKNAwcfTnRQVABHLxCMFChAmWmRABcjD1EI+KgABxQvXBgigW4iJG7OJggCwRJHN5qMCDh7IY/ngJHNnkECgpMENmc+F9xQB6mAi4MAbjgLMihfS6MorLY0JOCB2rVwB+PKnUtXbiAAOwAAAAAAAAAAAA==);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
192 |
background-repeat: no-repeat; background-position: center center;} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
193 |
</style><!-- END extlib/css/colorbox.css --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
194 |
<!-- START extlib/js/jquery.colorbox.min.js --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
195 |
<script type="text/javascript">(function(a,b,c){function Z(c,d,e){var g=b.createElement(c);return d&&(g.id=f+d),e&&(g.style.cssText=e),a(g)}function $(a){var b=y.length,c=(Q+a)%b;return 0>c?b+c:c}function _(a,b){return Math.round((/%/.test(a)?("x"===b?bb():cb())/100:1)*parseInt(a,10))}function ab(a){return K.photo||/\.(gif|png|jp(e|g|eg)|bmp|ico)((#|\?).*)?$/i.test(a)}function bb(){return c.innerWidth||z.width()}function cb(){return c.innerHeight||z.height()}function db(){var b,c=a.data(P,e);null==c?(K=a.extend({},d),console&&console.log&&console.log("Error: cboxElement missing settings object")):K=a.extend({},c);for(b in K)a.isFunction(K[b])&&"on"!==b.slice(0,2)&&(K[b]=K[b].call(P));K.rel=K.rel||P.rel||a(P).data("rel")||"nofollow",K.href=K.href||a(P).attr("href"),K.title=K.title||P.title,"string"==typeof K.href&&(K.href=a.trim(K.href))}function eb(b,c){a.event.trigger(b),c&&c.call(P)}function fb(){var a,d,e,b=f+"Slideshow_",c="click."+f;K.slideshow&&y[1]?(d=function(){F.text(K.slideshowStop).unbind(c).bind(j,function(){(K.loop||y[Q+1])&&(a=setTimeout(W.next,K.slideshowSpeed))}).bind(i,function(){clearTimeout(a)}).one(c+" "+k,e),r.removeClass(b+"off").addClass(b+"on"),a=setTimeout(W.next,K.slideshowSpeed)},e=function(){clearTimeout(a),F.text(K.slideshowStart).unbind([j,i,k,c].join(" ")).one(c,function(){W.next(),d()}),r.removeClass(b+"on").addClass(b+"off")},K.slideshowAuto?d():e()):r.removeClass(b+"off "+b+"on")}function gb(b){U||(P=b,db(),y=a(P),Q=0,"nofollow"!==K.rel&&(y=a("."+g).filter(function(){var c,b=a.data(this,e);return b&&(c=a(this).data("rel")||b.rel||this.rel),c===K.rel}),Q=y.index(P),-1===Q&&(y=y.add(P),Q=y.length-1)),S||(S=T=!0,r.show(),K.returnFocus&&a(P).blur().one(l,function(){a(this).focus()}),q.css({opacity:+K.opacity,cursor:K.overlayClose?"pointer":"auto"}).show(),K.w=_(K.initialWidth,"x"),K.h=_(K.initialHeight,"y"),W.position(),o&&z.bind("resize."+p+" scroll."+p,function(){q.css({width:bb(),height:cb(),top:z.scrollTop(),left:z.scrollLeft()})}).trigger("resize."+p),eb(h,K.onOpen),J.add(D).hide(),I.html(K.close).show()),W.load(!0))}function hb(){!r&&b.body&&(Y=!1,z=a(c),r=Z(X).attr({id:e,"class":n?f+(o?"IE6":"IE"):""}).hide(),q=Z(X,"Overlay",o?"position:absolute":"").hide(),C=Z(X,"LoadingOverlay").add(Z(X,"LoadingGraphic")),s=Z(X,"Wrapper"),t=Z(X,"Content").append(A=Z(X,"LoadedContent","width:0; height:0; overflow:hidden"),D=Z(X,"Title"),E=Z(X,"Current"),G=Z(X,"Next"),H=Z(X,"Previous"),F=Z(X,"Slideshow").bind(h,fb),I=Z(X,"Close")),s.append(Z(X).append(Z(X,"TopLeft"),u=Z(X,"TopCenter"),Z(X,"TopRight")),Z(X,!1,"clear:left").append(v=Z(X,"MiddleLeft"),t,w=Z(X,"MiddleRight")),Z(X,!1,"clear:left").append(Z(X,"BottomLeft"),x=Z(X,"BottomCenter"),Z(X,"BottomRight"))).find("div div").css({"float":"left"}),B=Z(X,!1,"position:absolute; width:9999px; visibility:hidden; display:none"),J=G.add(H).add(E).add(F),a(b.body).append(q,r.append(s,B)))}function ib(){return r?(Y||(Y=!0,L=u.height()+x.height()+t.outerHeight(!0)-t.height(),M=v.width()+w.width()+t.outerWidth(!0)-t.width(),N=A.outerHeight(!0),O=A.outerWidth(!0),r.css({"padding-bottom":L,"padding-right":M}),G.click(function(){W.next()}),H.click(function(){W.prev()}),I.click(function(){W.close()}),q.click(function(){K.overlayClose&&W.close()}),a(b).bind("keydown."+f,function(a){var b=a.keyCode;S&&K.escKey&&27===b&&(a.preventDefault(),W.close()),S&&K.arrowKey&&y[1]&&(37===b?(a.preventDefault(),H.click()):39===b&&(a.preventDefault(),G.click()))}),a("."+g,b).live("click",function(a){a.which>1||a.shiftKey||a.altKey||a.metaKey||(a.preventDefault(),gb(this))})),!0):!1}var q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,Y,d={transition:"elastic",speed:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,inline:!1,html:!1,iframe:!1,fastIframe:!0,photo:!1,href:!1,title:!1,rel:!1,opacity:.9,preloading:!0,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",open:!1,returnFocus:!0,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0},e="colorbox",f="cbox",g=f+"Element",h=f+"_open",i=f+"_load",j=f+"_complete",k=f+"_cleanup",l=f+"_closed",m=f+"_purge",n=!a.support.opacity&&!a.support.style,o=n&&!c.XMLHttpRequest,p=f+"_IE6",X="div";a.colorbox||(a(hb),W=a.fn[e]=a[e]=function(b,c){var f=this;if(b=b||{},hb(),ib()){if(!f[0]){if(f.selector)return f;f=a("<a/>"),b.open=!0}c&&(b.onComplete=c),f.each(function(){a.data(this,e,a.extend({},a.data(this,e)||d,b))}).addClass(g),(a.isFunction(b.open)&&b.open.call(f)||b.open)&&gb(f[0])}return f},W.position=function(a,b){function j(a){u[0].style.width=x[0].style.width=t[0].style.width=a.style.width,t[0].style.height=v[0].style.height=w[0].style.height=a.style.height}var c,h,i,d=0,e=0,g=r.offset();z.unbind("resize."+f),r.css({top:-9e4,left:-9e4}),h=z.scrollTop(),i=z.scrollLeft(),K.fixed&&!o?(g.top-=h,g.left-=i,r.css({position:"fixed"})):(d=h,e=i,r.css({position:"absolute"})),e+=K.right!==!1?Math.max(bb()-K.w-O-M-_(K.right,"x"),0):K.left!==!1?_(K.left,"x"):Math.round(Math.max(bb()-K.w-O-M,0)/2),d+=K.bottom!==!1?Math.max(cb()-K.h-N-L-_(K.bottom,"y"),0):K.top!==!1?_(K.top,"y"):Math.round(Math.max(cb()-K.h-N-L,0)/2),r.css({top:g.top,left:g.left}),a=r.width()===K.w+O&&r.height()===K.h+N?0:a||0,s[0].style.width=s[0].style.height="9999px",c={width:K.w+O,height:K.h+N,top:d,left:e},0===a&&r.css(c),r.dequeue().animate(c,{duration:a,complete:function(){j(this),T=!1,s[0].style.width=K.w+O+M+"px",s[0].style.height=K.h+N+L+"px",K.reposition&&setTimeout(function(){z.bind("resize."+f,W.position)},1),b&&b()},step:function(){j(this)}})},W.resize=function(a){S&&(a=a||{},a.width&&(K.w=_(a.width,"x")-O-M),a.innerWidth&&(K.w=_(a.innerWidth,"x")),A.css({width:K.w}),a.height&&(K.h=_(a.height,"y")-N-L),a.innerHeight&&(K.h=_(a.innerHeight,"y")),a.innerHeight||a.height||(A.css({height:"auto"}),K.h=A.height()),A.css({height:K.h}),W.position("none"===K.transition?0:K.speed))},W.prep=function(b){function g(){return K.w=K.w||A.width(),K.w=K.mw&&K.mw<K.w?K.mw:K.w,K.w}function h(){return K.h=K.h||A.height(),K.h=K.mh&&K.mh<K.h?K.mh:K.h,K.h}if(S){var c,d="none"===K.transition?0:K.speed;A.remove(),A=Z(X,"LoadedContent").append(b),A.hide().appendTo(B.show()).css({width:g(),overflow:K.scrolling?"auto":"hidden"}).css({height:h()}).prependTo(t),B.hide(),a(R).css({"float":"none"}),o&&a("select").not(r.find("select")).filter(function(){return"hidden"!==this.style.visibility}).css({visibility:"hidden"}).one(k,function(){this.style.visibility="inherit"}),c=function(){function s(){n&&r[0].style.removeAttribute("filter")}var b,c,h,l,o,p,q,g=y.length,i="frameBorder",k="allowTransparency";if(S){if(l=function(){clearTimeout(V),C.detach().hide(),eb(j,K.onComplete)},n&&R&&A.fadeIn(100),D.html(K.title).add(A).show(),g>1){if("string"==typeof K.current&&E.html(K.current.replace("{current}",Q+1).replace("{total}",g)).show(),G[K.loop||g-1>Q?"show":"hide"]().html(K.next),H[K.loop||Q?"show":"hide"]().html(K.previous),K.slideshow&&F.show(),K.preloading)for(b=[$(-1),$(1)];c=y[b.pop()];)q=a.data(c,e),q&&q.href?(o=q.href,a.isFunction(o)&&(o=o.call(c))):o=c.href,ab(o)&&(p=new Image,p.src=o)}else J.hide();K.iframe?(h=Z("iframe")[0],i in h&&(h[i]=0),k in h&&(h[k]="true"),h.name=f+ +new Date,K.fastIframe?l():a(h).one("load",l),h.src=K.href,K.scrolling||(h.scrolling="no"),a(h).addClass(f+"Iframe").appendTo(A).one(m,function(){h.src="//about:blank"})):l(),"fade"===K.transition?r.fadeTo(d,1,s):s()}},"fade"===K.transition?r.fadeTo(d,0,function(){W.position(0,c)}):W.position(d,c)}},W.load=function(b){var c,d,e=W.prep;T=!0,R=!1,P=y[Q],b||db(),eb(m),eb(i,K.onLoad),K.h=K.height?_(K.height,"y")-N-L:K.innerHeight&&_(K.innerHeight,"y"),K.w=K.width?_(K.width,"x")-O-M:K.innerWidth&&_(K.innerWidth,"x"),K.mw=K.w,K.mh=K.h,K.maxWidth&&(K.mw=_(K.maxWidth,"x")-O-M,K.mw=K.w&&K.w<K.mw?K.w:K.mw),K.maxHeight&&(K.mh=_(K.maxHeight,"y")-N-L,K.mh=K.h&&K.h<K.mh?K.h:K.mh),c=K.href,V=setTimeout(function(){C.show().appendTo(t)},100),K.inline?(Z(X).hide().insertBefore(a(c)[0]).one(m,function(){a(this).replaceWith(A.children())}),e(a(c))):K.iframe?e(" "):K.html?e(K.html):ab(c)?(a(R=new Image).addClass(f+"Photo").error(function(){K.title=!1,e(Z(X,"Error").html(K.imgError))}).load(function(){var a;R.onload=null,K.scalePhotos&&(d=function(){R.height-=R.height*a,R.width-=R.width*a},K.mw&&R.width>K.mw&&(a=(R.width-K.mw)/R.width,d()),K.mh&&R.height>K.mh&&(a=(R.height-K.mh)/R.height,d())),K.h&&(R.style.marginTop=Math.max(K.h-R.height,0)/2+"px"),y[1]&&(K.loop||y[Q+1])&&(R.style.cursor="pointer",R.onclick=function(){W.next()}),n&&(R.style.msInterpolationMode="bicubic"),setTimeout(function(){e(R)},1)}),setTimeout(function(){R.src=c},1)):c&&B.load(c,K.data,function(b,c){e("error"===c?Z(X,"Error").html(K.xhrError):a(this).contents())})},W.next=function(){!T&&y[1]&&(K.loop||y[Q+1])&&(Q=$(1),W.load())},W.prev=function(){!T&&y[1]&&(K.loop||Q)&&(Q=$(-1),W.load())},W.close=function(){S&&!U&&(U=!0,S=!1,eb(k,K.onCleanup),z.unbind("."+f+" ."+p),q.fadeTo(200,0),r.stop().fadeTo(300,0,function(){r.add(q).css({opacity:1,cursor:"auto"}).hide(),eb(m),A.remove(),setTimeout(function(){U=!1,eb(l,K.onClosed)},1)}))},W.remove=function(){a([]).add(r).add(q).remove(),r=null,a("."+g).removeData(e).removeClass(g).die()},W.element=function(){return a(P)},W.settings=d)})(jQuery,document,this);</script>
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
196 |
<!-- END extlib/js/jquery.colorbox.min.js --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
197 |
<!-- START dist/MDwiki.js --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
198 |
<script type="text/javascript">;(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
199 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
200 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
201 |
* Block-Level Grammar |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
202 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
203 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
204 |
var block = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
205 |
newline: /^\n+/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
206 |
code: /^( {4}[^\n]+\n*)+/,
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
207 |
fences: noop, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
208 |
hr: /^( *[-*_]){3,} *(?:\n+|$)/,
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
209 |
heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
210 |
nptable: noop, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
211 |
lheading: /^([^\n]+)\n *(=|-){3,} *\n*/,
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
212 |
blockquote: /^( *>[^\n]+(\n[^\n]+)*\n*)+/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
213 |
list: /^( *)(bull) [\s\S]+?(?:hr|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
214 |
html: /^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
215 |
def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
216 |
table: noop, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
217 |
paragraph: /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
218 |
text: /^[^\n]+/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
219 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
220 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
221 |
block.bullet = /(?:[*+-]|\d+\.)/; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
222 |
block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
223 |
block.item = replace(block.item, 'gm') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
224 |
(/bull/g, block.bullet) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
225 |
(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
226 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
227 |
block.list = replace(block.list) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
228 |
(/bull/g, block.bullet) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
229 |
('hr', /\n+(?=(?: *[-*_]){3,} *(?:\n+|$))/)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
230 |
(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
231 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
232 |
block._tag = '(?!(?:' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
233 |
+ 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
234 |
+ '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
235 |
+ '|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|@)\\b'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
236 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
237 |
block.html = replace(block.html) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
238 |
('comment', /<!--[\s\S]*?-->/)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
239 |
('closed', /<(tag)[\s\S]+?<\/\1>/)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
240 |
('closing', /<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
241 |
(/tag/g, block._tag) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
242 |
(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
243 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
244 |
block.paragraph = replace(block.paragraph) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
245 |
('hr', block.hr)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
246 |
('heading', block.heading)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
247 |
('lheading', block.lheading)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
248 |
('blockquote', block.blockquote)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
249 |
('tag', '<' + block._tag)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
250 |
('def', block.def)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
251 |
(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
252 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
253 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
254 |
* Normal Block Grammar |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
255 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
256 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
257 |
block.normal = merge({}, block);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
258 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
259 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
260 |
* GFM Block Grammar |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
261 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
262 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
263 |
block.gfm = merge({}, block.normal, {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
264 |
fences: /^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
265 |
paragraph: /^/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
266 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
267 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
268 |
block.gfm.paragraph = replace(block.paragraph) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
269 |
('(?!', '(?!' + block.gfm.fences.source.replace('\\1', '\\2') + '|')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
270 |
(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
271 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
272 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
273 |
* GFM + Tables Block Grammar |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
274 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
275 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
276 |
block.tables = merge({}, block.gfm, {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
277 |
nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
278 |
table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
279 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
280 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
281 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
282 |
* Block Lexer |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
283 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
284 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
285 |
function Lexer(options) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
286 |
this.tokens = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
287 |
this.tokens.links = {};
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
288 |
this.options = options || marked.defaults; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
289 |
this.rules = block.normal; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
290 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
291 |
if (this.options.gfm) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
292 |
if (this.options.tables) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
293 |
this.rules = block.tables; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
294 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
295 |
this.rules = block.gfm; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
296 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
297 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
298 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
299 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
300 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
301 |
* Expose Block Rules |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
302 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
303 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
304 |
Lexer.rules = block; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
305 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
306 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
307 |
* Static Lex Method |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
308 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
309 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
310 |
Lexer.lex = function(src, options) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
311 |
var lexer = new Lexer(options); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
312 |
return lexer.lex(src); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
313 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
314 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
315 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
316 |
* Preprocessing |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
317 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
318 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
319 |
Lexer.prototype.lex = function(src) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
320 |
src = src |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
321 |
.replace(/\r\n|\r/g, '\n') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
322 |
.replace(/\t/g, ' ') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
323 |
.replace(/\u00a0/g, ' ') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
324 |
.replace(/\u2424/g, '\n'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
325 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
326 |
return this.token(src, true); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
327 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
328 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
329 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
330 |
* Lexing |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
331 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
332 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
333 |
Lexer.prototype.token = function(src, top) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
334 |
var src = src.replace(/^ +$/gm, '') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
335 |
, next |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
336 |
, loose |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
337 |
, cap |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
338 |
, bull |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
339 |
, b |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
340 |
, item |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
341 |
, space |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
342 |
, i |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
343 |
, l; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
344 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
345 |
while (src) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
346 |
// newline |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
347 |
if (cap = this.rules.newline.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
348 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
349 |
if (cap[0].length > 1) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
350 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
351 |
type: 'space' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
352 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
353 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
354 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
355 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
356 |
// code |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
357 |
if (cap = this.rules.code.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
358 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
359 |
cap = cap[0].replace(/^ {4}/gm, '');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
360 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
361 |
type: 'code', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
362 |
text: !this.options.pedantic |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
363 |
? cap.replace(/\n+$/, '') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
364 |
: cap |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
365 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
366 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
367 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
368 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
369 |
// fences (gfm) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
370 |
if (cap = this.rules.fences.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
371 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
372 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
373 |
type: 'code', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
374 |
lang: cap[2], |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
375 |
text: cap[3] |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
376 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
377 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
378 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
379 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
380 |
// heading |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
381 |
if (cap = this.rules.heading.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
382 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
383 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
384 |
type: 'heading', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
385 |
depth: cap[1].length, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
386 |
text: cap[2] |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
387 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
388 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
389 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
390 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
391 |
// table no leading pipe (gfm) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
392 |
if (top && (cap = this.rules.nptable.exec(src))) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
393 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
394 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
395 |
item = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
396 |
type: 'table', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
397 |
header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */), |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
398 |
align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
399 |
cells: cap[3].replace(/\n$/, '').split('\n')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
400 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
401 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
402 |
for (i = 0; i < item.align.length; i++) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
403 |
if (/^ *-+: *$/.test(item.align[i])) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
404 |
item.align[i] = 'right'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
405 |
} else if (/^ *:-+: *$/.test(item.align[i])) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
406 |
item.align[i] = 'center'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
407 |
} else if (/^ *:-+ *$/.test(item.align[i])) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
408 |
item.align[i] = 'left'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
409 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
410 |
item.align[i] = null; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
411 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
412 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
413 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
414 |
for (i = 0; i < item.cells.length; i++) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
415 |
item.cells[i] = item.cells[i].split(/ *\| */); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
416 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
417 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
418 |
this.tokens.push(item); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
419 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
420 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
421 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
422 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
423 |
// lheading |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
424 |
if (cap = this.rules.lheading.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
425 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
426 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
427 |
type: 'heading', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
428 |
depth: cap[2] === '=' ? 1 : 2, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
429 |
text: cap[1] |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
430 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
431 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
432 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
433 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
434 |
// hr |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
435 |
if (cap = this.rules.hr.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
436 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
437 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
438 |
type: 'hr' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
439 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
440 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
441 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
442 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
443 |
// blockquote |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
444 |
if (cap = this.rules.blockquote.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
445 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
446 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
447 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
448 |
type: 'blockquote_start' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
449 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
450 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
451 |
cap = cap[0].replace(/^ *> ?/gm, ''); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
452 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
453 |
// Pass `top` to keep the current |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
454 |
// "toplevel" state. This is exactly |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
455 |
// how markdown.pl works. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
456 |
this.token(cap, top); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
457 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
458 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
459 |
type: 'blockquote_end' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
460 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
461 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
462 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
463 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
464 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
465 |
// list |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
466 |
if (cap = this.rules.list.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
467 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
468 |
bull = cap[2]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
469 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
470 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
471 |
type: 'list_start', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
472 |
ordered: bull.length > 1 |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
473 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
474 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
475 |
// Get each top-level item. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
476 |
cap = cap[0].match(this.rules.item); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
477 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
478 |
next = false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
479 |
l = cap.length; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
480 |
i = 0; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
481 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
482 |
for (; i < l; i++) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
483 |
item = cap[i]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
484 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
485 |
// Remove the list item's bullet |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
486 |
// so it is seen as the next token. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
487 |
space = item.length; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
488 |
item = item.replace(/^ *([*+-]|\d+\.) +/, ''); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
489 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
490 |
// Outdent whatever the |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
491 |
// list item contains. Hacky. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
492 |
if (~item.indexOf('\n ')) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
493 |
space -= item.length; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
494 |
item = !this.options.pedantic |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
495 |
? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
496 |
: item.replace(/^ {1,4}/gm, '');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
497 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
498 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
499 |
// Determine whether the next list item belongs here. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
500 |
// Backpedal if it does not belong in this list. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
501 |
if (this.options.smartLists && i !== l - 1) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
502 |
b = block.bullet.exec(cap[i+1])[0]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
503 |
if (bull !== b && !(bull.length > 1 && b.length > 1)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
504 |
src = cap.slice(i + 1).join('\n') + src;
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
505 |
i = l - 1; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
506 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
507 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
508 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
509 |
// Determine whether item is loose or not. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
510 |
// Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
511 |
// for discount behavior. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
512 |
loose = next || /\n\n(?!\s*$)/.test(item); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
513 |
if (i !== l - 1) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
514 |
next = item[item.length-1] === '\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
515 |
if (!loose) loose = next; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
516 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
517 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
518 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
519 |
type: loose |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
520 |
? 'loose_item_start' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
521 |
: 'list_item_start' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
522 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
523 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
524 |
// Recurse. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
525 |
this.token(item, false); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
526 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
527 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
528 |
type: 'list_item_end' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
529 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
530 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
531 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
532 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
533 |
type: 'list_end' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
534 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
535 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
536 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
537 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
538 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
539 |
// html |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
540 |
if (cap = this.rules.html.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
541 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
542 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
543 |
type: this.options.sanitize |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
544 |
? 'paragraph' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
545 |
: 'html', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
546 |
pre: cap[1] === 'pre' || cap[1] === 'script', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
547 |
text: cap[0] |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
548 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
549 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
550 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
551 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
552 |
// def |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
553 |
if (top && (cap = this.rules.def.exec(src))) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
554 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
555 |
this.tokens.links[cap[1].toLowerCase()] = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
556 |
href: cap[2], |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
557 |
title: cap[3] |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
558 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
559 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
560 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
561 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
562 |
// table (gfm) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
563 |
if (top && (cap = this.rules.table.exec(src))) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
564 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
565 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
566 |
item = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
567 |
type: 'table', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
568 |
header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */), |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
569 |
align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
570 |
cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
571 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
572 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
573 |
for (i = 0; i < item.align.length; i++) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
574 |
if (/^ *-+: *$/.test(item.align[i])) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
575 |
item.align[i] = 'right'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
576 |
} else if (/^ *:-+: *$/.test(item.align[i])) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
577 |
item.align[i] = 'center'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
578 |
} else if (/^ *:-+ *$/.test(item.align[i])) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
579 |
item.align[i] = 'left'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
580 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
581 |
item.align[i] = null; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
582 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
583 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
584 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
585 |
for (i = 0; i < item.cells.length; i++) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
586 |
item.cells[i] = item.cells[i] |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
587 |
.replace(/^ *\| *| *\| *$/g, '') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
588 |
.split(/ *\| */); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
589 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
590 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
591 |
this.tokens.push(item); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
592 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
593 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
594 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
595 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
596 |
// top-level paragraph |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
597 |
if (top && (cap = this.rules.paragraph.exec(src))) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
598 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
599 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
600 |
type: 'paragraph', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
601 |
text: cap[1][cap[1].length-1] === '\n' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
602 |
? cap[1].slice(0, -1) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
603 |
: cap[1] |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
604 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
605 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
606 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
607 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
608 |
// text |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
609 |
if (cap = this.rules.text.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
610 |
// Top-level should never reach here. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
611 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
612 |
this.tokens.push({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
613 |
type: 'text', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
614 |
text: cap[0] |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
615 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
616 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
617 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
618 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
619 |
if (src) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
620 |
throw new |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
621 |
Error('Infinite loop on byte: ' + src.charCodeAt(0));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
622 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
623 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
624 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
625 |
return this.tokens; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
626 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
627 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
628 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
629 |
* Inline-Level Grammar |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
630 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
631 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
632 |
var inline = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
633 |
escape: /^\\([\\`*{}\[\]()#+\-.!_>])/,
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
634 |
autolink: /^<([^ >]+(@|:\/)[^ >]+)>/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
635 |
url: noop, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
636 |
tag: /^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
637 |
link: /^!?\[(inside)\]\(href\)/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
638 |
reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
639 |
nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
640 |
strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
641 |
em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
642 |
code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
643 |
br: /^ {2,}\n(?!\s*$)/,
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
644 |
del: noop, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
645 |
text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
646 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
647 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
648 |
inline._inside = /(?:\[[^\]]*\]|[^\]]|\](?=[^\[]*\]))*/; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
649 |
inline._href = /\s*<?(.*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
650 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
651 |
inline.link = replace(inline.link) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
652 |
('inside', inline._inside)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
653 |
('href', inline._href)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
654 |
(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
655 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
656 |
inline.reflink = replace(inline.reflink) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
657 |
('inside', inline._inside)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
658 |
(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
659 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
660 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
661 |
* Normal Inline Grammar |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
662 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
663 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
664 |
inline.normal = merge({}, inline);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
665 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
666 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
667 |
* Pedantic Inline Grammar |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
668 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
669 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
670 |
inline.pedantic = merge({}, inline.normal, {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
671 |
strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
672 |
em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
673 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
674 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
675 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
676 |
* GFM Inline Grammar |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
677 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
678 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
679 |
inline.gfm = merge({}, inline.normal, {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
680 |
escape: replace(inline.escape)('])', '~|])')(),
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
681 |
url: /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
682 |
del: /^~~(?=\S)([\s\S]*?\S)~~/, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
683 |
text: replace(inline.text) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
684 |
(']|', '~]|')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
685 |
('|', '|https?://|')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
686 |
() |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
687 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
688 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
689 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
690 |
* GFM + Line Breaks Inline Grammar |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
691 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
692 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
693 |
inline.breaks = merge({}, inline.gfm, {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
694 |
br: replace(inline.br)('{2,}', '*')(),
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
695 |
text: replace(inline.gfm.text)('{2,}', '*')()
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
696 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
697 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
698 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
699 |
* Inline Lexer & Compiler |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
700 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
701 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
702 |
function InlineLexer(links, options) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
703 |
this.options = options || marked.defaults; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
704 |
this.links = links; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
705 |
this.rules = inline.normal; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
706 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
707 |
if (!this.links) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
708 |
throw new |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
709 |
Error('Tokens array requires a `links` property.');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
710 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
711 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
712 |
if (this.options.gfm) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
713 |
if (this.options.breaks) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
714 |
this.rules = inline.breaks; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
715 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
716 |
this.rules = inline.gfm; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
717 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
718 |
} else if (this.options.pedantic) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
719 |
this.rules = inline.pedantic; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
720 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
721 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
722 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
723 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
724 |
* Expose Inline Rules |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
725 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
726 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
727 |
InlineLexer.rules = inline; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
728 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
729 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
730 |
* Static Lexing/Compiling Method |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
731 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
732 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
733 |
InlineLexer.output = function(src, links, options) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
734 |
var inline = new InlineLexer(links, options); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
735 |
return inline.output(src); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
736 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
737 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
738 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
739 |
* Lexing/Compiling |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
740 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
741 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
742 |
InlineLexer.prototype.output = function(src) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
743 |
var out = '' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
744 |
, link |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
745 |
, text |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
746 |
, href |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
747 |
, cap; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
748 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
749 |
while (src) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
750 |
// escape |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
751 |
if (cap = this.rules.escape.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
752 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
753 |
out += cap[1]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
754 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
755 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
756 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
757 |
// autolink |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
758 |
if (cap = this.rules.autolink.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
759 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
760 |
if (cap[2] === '@') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
761 |
text = cap[1][6] === ':' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
762 |
? this.mangle(cap[1].substring(7)) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
763 |
: this.mangle(cap[1]); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
764 |
href = this.mangle('mailto:') + text;
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
765 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
766 |
text = escape(cap[1]); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
767 |
href = text; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
768 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
769 |
out += '<a href="' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
770 |
+ href |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
771 |
+ '">' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
772 |
+ text |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
773 |
+ '</a>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
774 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
775 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
776 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
777 |
// url (gfm) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
778 |
if (cap = this.rules.url.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
779 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
780 |
text = escape(cap[1]); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
781 |
href = text; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
782 |
out += '<a href="' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
783 |
+ href |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
784 |
+ '">' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
785 |
+ text |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
786 |
+ '</a>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
787 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
788 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
789 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
790 |
// tag |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
791 |
if (cap = this.rules.tag.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
792 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
793 |
out += this.options.sanitize |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
794 |
? escape(cap[0]) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
795 |
: cap[0]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
796 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
797 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
798 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
799 |
// link |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
800 |
if (cap = this.rules.link.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
801 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
802 |
out += this.outputLink(cap, {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
803 |
href: cap[2], |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
804 |
title: cap[3] |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
805 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
806 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
807 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
808 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
809 |
// reflink, nolink |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
810 |
if ((cap = this.rules.reflink.exec(src)) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
811 |
|| (cap = this.rules.nolink.exec(src))) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
812 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
813 |
link = (cap[2] || cap[1]).replace(/\s+/g, ' '); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
814 |
link = this.links[link.toLowerCase()]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
815 |
if (!link || !link.href) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
816 |
out += cap[0][0]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
817 |
src = cap[0].substring(1) + src; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
818 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
819 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
820 |
out += this.outputLink(cap, link); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
821 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
822 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
823 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
824 |
// strong |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
825 |
if (cap = this.rules.strong.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
826 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
827 |
out += '<strong>' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
828 |
+ this.output(cap[2] || cap[1]) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
829 |
+ '</strong>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
830 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
831 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
832 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
833 |
// em |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
834 |
if (cap = this.rules.em.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
835 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
836 |
out += '<em>' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
837 |
+ this.output(cap[2] || cap[1]) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
838 |
+ '</em>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
839 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
840 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
841 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
842 |
// code |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
843 |
if (cap = this.rules.code.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
844 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
845 |
out += '<code>' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
846 |
+ escape(cap[2], true) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
847 |
+ '</code>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
848 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
849 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
850 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
851 |
// br |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
852 |
if (cap = this.rules.br.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
853 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
854 |
out += '<br>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
855 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
856 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
857 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
858 |
// del (gfm) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
859 |
if (cap = this.rules.del.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
860 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
861 |
out += '<del>' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
862 |
+ this.output(cap[1]) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
863 |
+ '</del>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
864 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
865 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
866 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
867 |
// text |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
868 |
if (cap = this.rules.text.exec(src)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
869 |
src = src.substring(cap[0].length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
870 |
out += escape(cap[0]); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
871 |
continue; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
872 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
873 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
874 |
if (src) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
875 |
throw new |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
876 |
Error('Infinite loop on byte: ' + src.charCodeAt(0));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
877 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
878 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
879 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
880 |
return out; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
881 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
882 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
883 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
884 |
* Compile Link |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
885 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
886 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
887 |
InlineLexer.prototype.outputLink = function(cap, link) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
888 |
if (cap[0][0] !== '!') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
889 |
return '<a href="' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
890 |
+ escape(link.href) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
891 |
+ '"' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
892 |
+ (link.title |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
893 |
? ' title="' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
894 |
+ escape(link.title) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
895 |
+ '"' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
896 |
: '') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
897 |
+ '>' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
898 |
+ this.output(cap[1]) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
899 |
+ '</a>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
900 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
901 |
return '<img src="' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
902 |
+ escape(link.href) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
903 |
+ '" alt="' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
904 |
+ escape(cap[1]) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
905 |
+ '"' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
906 |
+ (link.title |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
907 |
? ' title="' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
908 |
+ escape(link.title) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
909 |
+ '"' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
910 |
: '') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
911 |
+ '>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
912 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
913 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
914 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
915 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
916 |
* Smartypants Transformations |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
917 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
918 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
919 |
InlineLexer.prototype.smartypants = function(text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
920 |
if (!this.options.smartypants) return text; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
921 |
return text |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
922 |
.replace(/--/g, '—') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
923 |
.replace(/'([^']*)'/g, '‘$1’') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
924 |
.replace(/"([^"]*)"/g, '“$1”') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
925 |
.replace(/\.{3}/g, '…');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
926 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
927 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
928 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
929 |
* Mangle Links |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
930 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
931 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
932 |
InlineLexer.prototype.mangle = function(text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
933 |
var out = '' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
934 |
, l = text.length |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
935 |
, i = 0 |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
936 |
, ch; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
937 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
938 |
for (; i < l; i++) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
939 |
ch = text.charCodeAt(i); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
940 |
if (Math.random() > 0.5) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
941 |
ch = 'x' + ch.toString(16); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
942 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
943 |
out += '&#' + ch + ';'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
944 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
945 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
946 |
return out; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
947 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
948 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
949 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
950 |
* Parsing & Compiling |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
951 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
952 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
953 |
function Parser(options) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
954 |
this.tokens = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
955 |
this.token = null; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
956 |
this.options = options || marked.defaults; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
957 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
958 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
959 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
960 |
* Static Parse Method |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
961 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
962 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
963 |
Parser.parse = function(src, options) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
964 |
var parser = new Parser(options); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
965 |
return parser.parse(src); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
966 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
967 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
968 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
969 |
* Parse Loop |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
970 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
971 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
972 |
Parser.prototype.parse = function(src) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
973 |
this.inline = new InlineLexer(src.links, this.options); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
974 |
this.tokens = src.reverse(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
975 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
976 |
var out = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
977 |
while (this.next()) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
978 |
out += this.tok(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
979 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
980 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
981 |
return out; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
982 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
983 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
984 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
985 |
* Next Token |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
986 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
987 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
988 |
Parser.prototype.next = function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
989 |
return this.token = this.tokens.pop(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
990 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
991 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
992 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
993 |
* Preview Next Token |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
994 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
995 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
996 |
Parser.prototype.peek = function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
997 |
return this.tokens[this.tokens.length-1] || 0; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
998 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
999 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1000 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1001 |
* Parse Text Tokens |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1002 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1003 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1004 |
Parser.prototype.parseText = function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1005 |
var body = this.token.text; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1006 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1007 |
while (this.peek().type === 'text') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1008 |
body += '\n' + this.next().text; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1009 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1010 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1011 |
return this.inline.output(body); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1012 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1013 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1014 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1015 |
* Parse Current Token |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1016 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1017 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1018 |
Parser.prototype.tok = function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1019 |
switch (this.token.type) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1020 |
case 'space': {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1021 |
return ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1022 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1023 |
case 'hr': {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1024 |
return '<hr>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1025 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1026 |
case 'heading': {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1027 |
return '<h' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1028 |
+ this.token.depth |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1029 |
+ '>' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1030 |
+ this.inline.output(this.token.text) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1031 |
+ '</h' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1032 |
+ this.token.depth |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1033 |
+ '>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1034 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1035 |
case 'code': {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1036 |
if (this.options.highlight) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1037 |
var code = this.options.highlight(this.token.text, this.token.lang); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1038 |
if (code != null && code !== this.token.text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1039 |
this.token.escaped = true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1040 |
this.token.text = code; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1041 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1042 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1043 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1044 |
if (!this.token.escaped) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1045 |
this.token.text = escape(this.token.text, true); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1046 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1047 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1048 |
return '<pre><code' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1049 |
+ (this.token.lang |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1050 |
? ' class="' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1051 |
+ this.options.langPrefix |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1052 |
+ this.token.lang |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1053 |
+ '"' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1054 |
: '') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1055 |
+ '>' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1056 |
+ this.token.text |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1057 |
+ '</code></pre>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1058 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1059 |
case 'table': {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1060 |
var body = '' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1061 |
, heading |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1062 |
, i |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1063 |
, row |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1064 |
, cell |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1065 |
, j; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1066 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1067 |
// header |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1068 |
body += '<thead>\n<tr>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1069 |
for (i = 0; i < this.token.header.length; i++) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1070 |
heading = this.inline.output(this.token.header[i]); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1071 |
body += this.token.align[i] |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1072 |
? '<th align="' + this.token.align[i] + '">' + heading + '</th>\n' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1073 |
: '<th>' + heading + '</th>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1074 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1075 |
body += '</tr>\n</thead>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1076 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1077 |
// body |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1078 |
body += '<tbody>\n' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1079 |
for (i = 0; i < this.token.cells.length; i++) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1080 |
row = this.token.cells[i]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1081 |
body += '<tr>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1082 |
for (j = 0; j < row.length; j++) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1083 |
cell = this.inline.output(row[j]); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1084 |
body += this.token.align[j] |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1085 |
? '<td align="' + this.token.align[j] + '">' + cell + '</td>\n' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1086 |
: '<td>' + cell + '</td>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1087 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1088 |
body += '</tr>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1089 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1090 |
body += '</tbody>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1091 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1092 |
return '<table>\n' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1093 |
+ body |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1094 |
+ '</table>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1095 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1096 |
case 'blockquote_start': {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1097 |
var body = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1098 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1099 |
while (this.next().type !== 'blockquote_end') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1100 |
body += this.tok(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1101 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1102 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1103 |
return '<blockquote>\n' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1104 |
+ body |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1105 |
+ '</blockquote>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1106 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1107 |
case 'list_start': {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1108 |
var type = this.token.ordered ? 'ol' : 'ul' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1109 |
, body = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1110 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1111 |
while (this.next().type !== 'list_end') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1112 |
body += this.tok(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1113 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1114 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1115 |
return '<' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1116 |
+ type |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1117 |
+ '>\n' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1118 |
+ body |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1119 |
+ '</' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1120 |
+ type |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1121 |
+ '>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1122 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1123 |
case 'list_item_start': {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1124 |
var body = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1125 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1126 |
while (this.next().type !== 'list_item_end') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1127 |
body += this.token.type === 'text' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1128 |
? this.parseText() |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1129 |
: this.tok(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1130 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1131 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1132 |
return '<li>' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1133 |
+ body |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1134 |
+ '</li>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1135 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1136 |
case 'loose_item_start': {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1137 |
var body = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1138 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1139 |
while (this.next().type !== 'list_item_end') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1140 |
body += this.tok(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1141 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1142 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1143 |
return '<li>' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1144 |
+ body |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1145 |
+ '</li>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1146 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1147 |
case 'html': {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1148 |
return !this.token.pre && !this.options.pedantic |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1149 |
? this.inline.output(this.token.text) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1150 |
: this.token.text; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1151 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1152 |
case 'paragraph': {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1153 |
return '<p>' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1154 |
+ this.inline.output(this.token.text) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1155 |
+ '</p>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1156 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1157 |
case 'text': {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1158 |
return '<p>' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1159 |
+ this.parseText() |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1160 |
+ '</p>\n'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1161 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1162 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1163 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1164 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1165 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1166 |
* Helpers |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1167 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1168 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1169 |
function escape(html, encode) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1170 |
return html |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1171 |
.replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1172 |
.replace(/</g, '<') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1173 |
.replace(/>/g, '>') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1174 |
.replace(/"/g, '"') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1175 |
.replace(/'/g, '''); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1176 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1177 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1178 |
function replace(regex, opt) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1179 |
regex = regex.source; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1180 |
opt = opt || ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1181 |
return function self(name, val) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1182 |
if (!name) return new RegExp(regex, opt); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1183 |
val = val.source || val; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1184 |
val = val.replace(/(^|[^\[])\^/g, '$1'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1185 |
regex = regex.replace(name, val); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1186 |
return self; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1187 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1188 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1189 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1190 |
function noop() {}
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1191 |
noop.exec = noop; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1192 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1193 |
function merge(obj) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1194 |
var i = 1 |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1195 |
, target |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1196 |
, key; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1197 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1198 |
for (; i < arguments.length; i++) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1199 |
target = arguments[i]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1200 |
for (key in target) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1201 |
if (Object.prototype.hasOwnProperty.call(target, key)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1202 |
obj[key] = target[key]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1203 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1204 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1205 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1206 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1207 |
return obj; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1208 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1209 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1210 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1211 |
* Marked |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1212 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1213 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1214 |
function marked(src, opt, callback) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1215 |
if (callback || typeof opt === 'function') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1216 |
if (!callback) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1217 |
callback = opt; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1218 |
opt = null; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1219 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1220 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1221 |
if (opt) opt = merge({}, marked.defaults, opt);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1222 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1223 |
var tokens = Lexer.lex(tokens, opt) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1224 |
, highlight = opt.highlight |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1225 |
, pending = 0 |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1226 |
, l = tokens.length |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1227 |
, i = 0; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1228 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1229 |
if (!highlight || highlight.length < 3) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1230 |
return callback(null, Parser.parse(tokens, opt)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1231 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1232 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1233 |
var done = function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1234 |
delete opt.highlight; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1235 |
var out = Parser.parse(tokens, opt); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1236 |
opt.highlight = highlight; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1237 |
return callback(null, out); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1238 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1239 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1240 |
for (; i < l; i++) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1241 |
(function(token) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1242 |
if (token.type !== 'code') return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1243 |
pending++; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1244 |
return highlight(token.text, token.lang, function(err, code) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1245 |
if (code == null || code === token.text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1246 |
return --pending || done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1247 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1248 |
token.text = code; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1249 |
token.escaped = true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1250 |
--pending || done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1251 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1252 |
})(tokens[i]); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1253 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1254 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1255 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1256 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1257 |
try {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1258 |
if (opt) opt = merge({}, marked.defaults, opt);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1259 |
return Parser.parse(Lexer.lex(src, opt), opt); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1260 |
} catch (e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1261 |
e.message += '\nPlease report this to https://github.com/chjj/marked.'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1262 |
if ((opt || marked.defaults).silent) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1263 |
return '<p>An error occured:</p><pre>' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1264 |
+ escape(e.message + '', true) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1265 |
+ '</pre>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1266 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1267 |
throw e; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1268 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1269 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1270 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1271 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1272 |
* Options |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1273 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1274 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1275 |
marked.options = |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1276 |
marked.setOptions = function(opt) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1277 |
merge(marked.defaults, opt); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1278 |
return marked; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1279 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1280 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1281 |
marked.defaults = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1282 |
gfm: true, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1283 |
tables: true, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1284 |
breaks: false, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1285 |
pedantic: false, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1286 |
sanitize: false, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1287 |
smartLists: false, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1288 |
silent: false, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1289 |
highlight: null, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1290 |
langPrefix: 'lang-' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1291 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1292 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1293 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1294 |
* Expose |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1295 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1296 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1297 |
marked.Parser = Parser; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1298 |
marked.parser = Parser.parse; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1299 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1300 |
marked.Lexer = Lexer; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1301 |
marked.lexer = Lexer.lex; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1302 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1303 |
marked.InlineLexer = InlineLexer; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1304 |
marked.inlineLexer = InlineLexer.output; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1305 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1306 |
marked.parse = marked; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1307 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1308 |
if (typeof exports === 'object') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1309 |
module.exports = marked; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1310 |
} else if (typeof define === 'function' && define.amd) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1311 |
define(function() { return marked; });
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1312 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1313 |
this.marked = marked; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1314 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1315 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1316 |
}).call(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1317 |
return this || (typeof window !== 'undefined' ? window : global); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1318 |
}()); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1319 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1320 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1321 |
'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1322 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1323 |
// hide the whole page so we dont see the DOM flickering |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1324 |
// will be shown upon page load complete or error |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1325 |
$('html').addClass('md-hidden-load');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1326 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1327 |
// register our $.md object |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1328 |
$.md = function (method){
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1329 |
if ($.md.publicMethods[method]) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1330 |
return $.md.publicMethods[method].apply(this, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1331 |
Array.prototype.slice.call(arguments, 1) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1332 |
); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1333 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1334 |
$.error('Method ' + method + ' does not exist on jquery.md');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1335 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1336 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1337 |
// default config |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1338 |
$.md.config = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1339 |
title: null, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1340 |
useSideMenu: true, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1341 |
lineBreaks: 'gfm', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1342 |
additionalFooterText: '', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1343 |
anchorCharacter: '¶', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1344 |
tocAnchor: '[ ↑ ]' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1345 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1346 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1347 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1348 |
$.md.gimmicks = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1349 |
$.md.stages = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1350 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1351 |
// the location of the main markdown file we display |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1352 |
$.md.mainHref = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1353 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1354 |
// the in-page anchor that is specified after the ! |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1355 |
$.md.inPageAnchor = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1356 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1357 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1358 |
$.md.loglevel = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1359 |
TRACE: 10, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1360 |
DEBUG: 20, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1361 |
INFO: 30, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1362 |
WARN: 40, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1363 |
ERROR: 50, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1364 |
FATAL: 60 |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1365 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1366 |
// $.md.logThreshold = $.md.loglevel.DEBUG; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1367 |
$.md.logThreshold = $.md.loglevel.WARN; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1368 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1369 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1370 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1371 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1372 |
'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1373 |
$.md.getLogger = function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1374 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1375 |
var loglevel = $.md.loglevel; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1376 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1377 |
var log = function(logtarget) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1378 |
var self = this; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1379 |
var level = loglevel[logtarget]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1380 |
return function(msg) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1381 |
if ($.md.logThreshold <= level) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1382 |
console.log('[' + logtarget + '] ' + msg);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1383 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1384 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1385 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1386 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1387 |
var logger = {};
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1388 |
logger.trace = log('TRACE');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1389 |
logger.debug = log('DEBUG');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1390 |
logger.info = log('INFO');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1391 |
logger.warn = log('WARN');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1392 |
logger.error = log('ERROR');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1393 |
logger.fatal = log('FATAL');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1394 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1395 |
return logger; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1396 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1397 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1398 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1399 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1400 |
'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1401 |
var log = $.md.getLogger(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1402 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1403 |
$.Stage = function(name) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1404 |
var self = $.extend($.Deferred(), {});
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1405 |
self.name = name; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1406 |
self.events = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1407 |
self.started = false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1408 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1409 |
self.reset = function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1410 |
self.complete = $.Deferred(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1411 |
self.outstanding = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1412 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1413 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1414 |
self.reset(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1415 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1416 |
self.subscribe = function(fn) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1417 |
if (self.started) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1418 |
$.error('Subscribing to stage which already started!');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1419 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1420 |
self.events.push(fn); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1421 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1422 |
self.unsubscribe = function(fn) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1423 |
self.events.remove(fn); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1424 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1425 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1426 |
self.executeSubscribedFn = function (fn) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1427 |
var d = $.Deferred(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1428 |
self.outstanding.push(d); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1429 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1430 |
// display an error if our done() callback is not called |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1431 |
$.md.util.wait(2500).done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1432 |
if(d.state() !== 'resolved') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1433 |
log.fatal('Timeout reached for done callback in stage: ' + self.name +
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1434 |
'. Did you forget a done() call in a .subscribe() ?'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1435 |
log.fatal('stage ' + name + ' failed running subscribed function: ' + fn );
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1436 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1437 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1438 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1439 |
var done = function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1440 |
d.resolve(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1441 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1442 |
fn(done); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1443 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1444 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1445 |
self.run = function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1446 |
self.started = true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1447 |
$(self.events).each(function (i,fn) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1448 |
self.executeSubscribedFn(fn); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1449 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1450 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1451 |
// if no events are in our queue, we resolve immediately |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1452 |
if (self.outstanding.length === 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1453 |
self.resolve(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1454 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1455 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1456 |
// we resolve when all our registered events have completed |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1457 |
$.when.apply($, self.outstanding) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1458 |
.done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1459 |
self.resolve(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1460 |
}) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1461 |
.fail(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1462 |
self.resolve(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1463 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1464 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1465 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1466 |
self.done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1467 |
log.debug('stage ' + self.name + ' completed successfully.');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1468 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1469 |
self.fail(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1470 |
log.debug('stage ' + self.name + ' completed with errors!');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1471 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1472 |
return self; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1473 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1474 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1475 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1476 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1477 |
'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1478 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1479 |
var log = $.md.getLogger(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1480 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1481 |
function init() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1482 |
$.md.stages = [ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1483 |
$.Stage('init'),
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1484 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1485 |
// loads config, initial markdown and navigation |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1486 |
$.Stage('load'),
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1487 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1488 |
// will transform the markdown to html |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1489 |
$.Stage('transform'),
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1490 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1491 |
// HTML transformation finished |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1492 |
$.Stage('ready'),
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1493 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1494 |
// after we have a polished html skeleton |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1495 |
$.Stage('skel_ready'),
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1496 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1497 |
// will bootstrapify the skeleton |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1498 |
$.Stage('bootstrap'),
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1499 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1500 |
// before we run any gimmicks |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1501 |
$.Stage('pregimmick'),
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1502 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1503 |
// after we have bootstrapified the skeleton |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1504 |
$.Stage('gimmick'),
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1505 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1506 |
// postprocess |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1507 |
$.Stage('postgimmick'),
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1508 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1509 |
$.Stage('all_ready'),
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1510 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1511 |
// used for integration tests, not intended to use in MDwiki itself |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1512 |
$.Stage('final_tests')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1513 |
]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1514 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1515 |
$.md.stage = function(name) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1516 |
var m = $.grep($.md.stages, function(e,i) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1517 |
return e.name === name; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1518 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1519 |
if (m.length === 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1520 |
$.error('A stage by name ' + name + ' does not exist');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1521 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1522 |
return m[0]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1523 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1524 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1525 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1526 |
init(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1527 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1528 |
function resetStages() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1529 |
var old_stages = $.md.stages; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1530 |
$.md.stages = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1531 |
$(old_stages).each(function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1532 |
$.md.stages.push($.Stage(e.name)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1533 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1534 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1535 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1536 |
var publicMethods = {};
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1537 |
$.md.publicMethods = $.extend ({}, $.md.publicMethods, publicMethods);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1538 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1539 |
function transformMarkdown (markdown) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1540 |
var options = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1541 |
gfm: true, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1542 |
tables: true, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1543 |
breaks: true |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1544 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1545 |
if ($.md.config.lineBreaks === 'original') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1546 |
options.breaks = false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1547 |
else if ($.md.config.lineBreaks === 'gfm') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1548 |
options.breaks = true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1549 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1550 |
marked.setOptions(options); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1551 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1552 |
// get sample markdown |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1553 |
var uglyHtml = marked(markdown); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1554 |
return uglyHtml; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1555 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1556 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1557 |
function registerFetchMarkdown() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1558 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1559 |
var md = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1560 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1561 |
$.md.stage('init').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1562 |
var ajaxReq = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1563 |
url: $.md.mainHref, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1564 |
dataType: 'text' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1565 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1566 |
$.ajax(ajaxReq).done(function(data) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1567 |
// TODO do this elsewhere |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1568 |
md = data; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1569 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1570 |
}).fail(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1571 |
var log = $.md.getLogger(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1572 |
log.fatal('Could not get ' + $.md.mainHref);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1573 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1574 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1575 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1576 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1577 |
// find baseUrl |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1578 |
$.md.stage('transform').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1579 |
var len = $.md.mainHref.lastIndexOf('/');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1580 |
var baseUrl = $.md.mainHref.substring(0, len+1); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1581 |
$.md.baseUrl = baseUrl; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1582 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1583 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1584 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1585 |
$.md.stage('transform').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1586 |
var uglyHtml = transformMarkdown(md); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1587 |
$('#md-content').html(uglyHtml);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1588 |
md = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1589 |
var dfd = $.Deferred(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1590 |
loadExternalIncludes(dfd); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1591 |
dfd.always(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1592 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1593 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1594 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1595 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1596 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1597 |
// load [include](/foo/bar.md) external links |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1598 |
function loadExternalIncludes(parent_dfd) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1599 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1600 |
function findExternalIncludes () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1601 |
return $('a').filter (function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1602 |
var href = $(this).attr('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1603 |
var text = $(this).toptext(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1604 |
var isMarkdown = $.md.util.hasMarkdownFileExtension(href); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1605 |
var isInclude = text === 'include'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1606 |
var isPreview = text.startsWith('preview:');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1607 |
return (isInclude || isPreview) && isMarkdown; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1608 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1609 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1610 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1611 |
function selectPreviewElements ($jqcol, num_elements) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1612 |
function isTextNode(node) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1613 |
return node.nodeType === 3; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1614 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1615 |
var count = 0; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1616 |
var elements = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1617 |
$jqcol.each(function (i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1618 |
if (count < num_elements) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1619 |
elements.push(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1620 |
if (!isTextNode(e)) count++; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1621 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1622 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1623 |
return $(elements); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1624 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1625 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1626 |
var external_links = findExternalIncludes (); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1627 |
// continue execution when all external resources are fully loaded |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1628 |
var latch = $.md.util.countDownLatch (external_links.length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1629 |
latch.always (function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1630 |
parent_dfd.resolve(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1631 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1632 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1633 |
external_links.each(function (i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1634 |
var $el = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1635 |
var href = $el.attr('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1636 |
var text = $el.toptext(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1637 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1638 |
$.ajax({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1639 |
url: href, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1640 |
dataType: 'text' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1641 |
}) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1642 |
.done(function (data) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1643 |
var $html = $(transformMarkdown(data)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1644 |
if (text.startsWith('preview:')) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1645 |
// only insert the selected number of paragraphs; default 3 |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1646 |
var num_preview_elements = parseInt(text.substring(8), 10) ||3; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1647 |
var $preview = selectPreviewElements ($html, num_preview_elements); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1648 |
$preview.last().append('<a href="' + href +'"> ...read more ➜</a>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1649 |
$preview.insertBefore($el.parent('p').eq(0));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1650 |
$el.remove(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1651 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1652 |
$html.insertAfter($el.parents('p'));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1653 |
$el.remove(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1654 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1655 |
}).always(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1656 |
latch.countDown(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1657 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1658 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1659 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1660 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1661 |
function isSpecialLink(href) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1662 |
if (!href) return false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1663 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1664 |
if (href.lastIndexOf('data:') >= 0)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1665 |
return true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1666 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1667 |
if (href.startsWith('mailto:'))
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1668 |
return true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1669 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1670 |
if (href.startsWith('file:'))
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1671 |
return true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1672 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1673 |
if (href.startsWith('ftp:'))
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1674 |
return true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1675 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1676 |
// TODO capture more special links: every non-http link with : like |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1677 |
// torrent:// etc. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1678 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1679 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1680 |
// modify internal links so we load them through our engine |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1681 |
function processPageLinks(domElement, baseUrl) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1682 |
var html = $(domElement); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1683 |
if (baseUrl === undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1684 |
baseUrl = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1685 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1686 |
// HACK against marked: empty links will have empy href attribute |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1687 |
// we remove the href attribute from the a tag |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1688 |
html.find('a').not('#md-menu a').filter(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1689 |
var $this = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1690 |
var attr = $this.attr('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1691 |
if (!attr || attr.length === 0) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1692 |
$this.removeAttr('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1693 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1694 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1695 |
html.find('a, img').each(function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1696 |
var link = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1697 |
// link must be jquery collection |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1698 |
var isImage = false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1699 |
var hrefAttribute = 'href'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1700 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1701 |
if (!link.attr(hrefAttribute)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1702 |
isImage = true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1703 |
hrefAttribute = 'src'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1704 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1705 |
var href = link.attr(hrefAttribute); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1706 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1707 |
if (href && href.lastIndexOf ('#!') >= 0)
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1708 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1709 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1710 |
if (isSpecialLink(href)) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1711 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1712 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1713 |
if (!isImage && href.startsWith ('#') && !href.startsWith('#!')) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1714 |
// in-page link |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1715 |
link.click(function(ev) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1716 |
ev.preventDefault(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1717 |
$.md.scrollToInPageAnchor (href); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1718 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1719 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1720 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1721 |
if (! $.md.util.isRelativeUrl(href)) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1722 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1723 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1724 |
if (isImage && ! $.md.util.isRelativePath(href)) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1725 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1726 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1727 |
if (!isImage && $.md.util.isGimmickLink(link)) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1728 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1729 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1730 |
function build_link (url) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1731 |
if ($.md.util.hasMarkdownFileExtension (url)) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1732 |
return '#!' + url; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1733 |
else |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1734 |
return url; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1735 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1736 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1737 |
var newHref = baseUrl + href; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1738 |
if (isImage) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1739 |
link.attr(hrefAttribute, newHref); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1740 |
else if ($.md.util.isRelativePath (href)) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1741 |
link.attr(hrefAttribute, build_link(newHref)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1742 |
else |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1743 |
link.attr(hrefAttribute, build_link(href)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1744 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1745 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1746 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1747 |
var navMD = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1748 |
$.md.NavigationDfd = $.Deferred(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1749 |
var ajaxReq = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1750 |
url: 'navigation.md', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1751 |
dataType: 'text' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1752 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1753 |
$.ajax(ajaxReq).done(function(data) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1754 |
navMD = data; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1755 |
$.md.NavigationDfd.resolve(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1756 |
}).fail(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1757 |
$.md.NavigationDfd.reject(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1758 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1759 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1760 |
function registerBuildNavigation() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1761 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1762 |
$.md.stage('init').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1763 |
$.md.NavigationDfd.done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1764 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1765 |
}) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1766 |
.fail(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1767 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1768 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1769 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1770 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1771 |
$.md.stage('transform').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1772 |
if (navMD === '') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1773 |
var log = $.md.getLogger(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1774 |
log.info('no navgiation.md found, not using a navbar');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1775 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1776 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1777 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1778 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1779 |
var navHtml = marked(navMD); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1780 |
// TODO why are <script> tags from navHtml APPENDED to the jqcol? |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1781 |
var $h = $('<div>' + navHtml + '</div>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1782 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1783 |
// insert <scripts> from navigation.md into the DOM |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1784 |
$h.each(function (i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1785 |
if (e.tagName === 'SCRIPT') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1786 |
$('script').first().before(e);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1787 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1788 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1789 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1790 |
// TODO .html() is evil!!! |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1791 |
var $navContent = $h.eq(0); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1792 |
$navContent.find('p').each(function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1793 |
var $el = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1794 |
$el.replaceWith($el.html()); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1795 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1796 |
$('#md-menu').append($navContent.html());
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1797 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1798 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1799 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1800 |
$.md.stage('bootstrap').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1801 |
processPageLinks($('#md-menu'));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1802 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1803 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1804 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1805 |
$.md.stage('postgimmick').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1806 |
var num_links = $('#md-menu a').length;
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1807 |
var has_header = $('#md-menu .navbar-brand').eq(0).toptext().trim().length > 0;
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1808 |
if (!has_header && num_links <= 1) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1809 |
$('#md-menu').hide();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1810 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1811 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1812 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1813 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1814 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1815 |
$.md.ConfigDfd = $.Deferred(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1816 |
$.ajax({url: 'config.json', dataType: 'text'}).done(function(data) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1817 |
try {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1818 |
var data_json = JSON.parse(data); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1819 |
$.md.config = $.extend($.md.config, data_json); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1820 |
log.info('Found a valid config.json file, using configuration');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1821 |
} catch(err) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1822 |
log.error('config.json was not JSON parsable: ' + err);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1823 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1824 |
$.md.ConfigDfd.resolve(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1825 |
}).fail(function(err, textStatus) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1826 |
log.error('unable to retrieve config.json: ' + textStatus);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1827 |
$.md.ConfigDfd.reject(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1828 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1829 |
function registerFetchConfig() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1830 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1831 |
$.md.stage('init').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1832 |
// TODO 404 won't get cached, requesting it every reload is not good |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1833 |
// maybe use cookies? or disable re-loading of the page |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1834 |
//$.ajax('config.json').done(function(data){
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1835 |
$.md.ConfigDfd.done(function(){
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1836 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1837 |
}).fail(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1838 |
var log = $.md.getLogger(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1839 |
log.info('No config.json found, using default settings');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1840 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1841 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1842 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1843 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1844 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1845 |
function registerClearContent() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1846 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1847 |
$.md.stage('init').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1848 |
$('#md-all').empty();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1849 |
var skel ='<div id="md-body"><div id="md-title"></div><div id="md-menu">'+ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1850 |
'</div><div id="md-content"></div></div>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1851 |
$('#md-all').prepend($(skel));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1852 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1853 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1854 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1855 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1856 |
function loadContent(href) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1857 |
$.md.mainHref = href; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1858 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1859 |
registerFetchMarkdown(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1860 |
registerClearContent(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1861 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1862 |
// find out which link gimmicks we need |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1863 |
$.md.stage('ready').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1864 |
$.md.initializeGimmicks(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1865 |
$.md.registerLinkGimmicks(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1866 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1867 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1868 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1869 |
// wire up the load method of the modules |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1870 |
$.each($.md.gimmicks, function(i, module) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1871 |
if (module.load === undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1872 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1873 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1874 |
$.md.stage('load').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1875 |
module.load(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1876 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1877 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1878 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1879 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1880 |
$.md.stage('ready').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1881 |
$.md('createBasicSkeleton');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1882 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1883 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1884 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1885 |
$.md.stage('bootstrap').subscribe(function(done){
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1886 |
$.mdbootstrap('bootstrapify');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1887 |
processPageLinks($('#md-content'), $.md.baseUrl);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1888 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1889 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1890 |
runStages(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1891 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1892 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1893 |
function runStages() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1894 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1895 |
// wire the stages up |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1896 |
$.md.stage('init').done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1897 |
$.md.stage('load').run();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1898 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1899 |
$.md.stage('load').done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1900 |
$.md.stage('transform').run();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1901 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1902 |
$.md.stage('transform').done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1903 |
$.md.stage('ready').run();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1904 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1905 |
$.md.stage('ready').done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1906 |
$.md.stage('skel_ready').run();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1907 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1908 |
$.md.stage('skel_ready').done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1909 |
$.md.stage('bootstrap').run();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1910 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1911 |
$.md.stage('bootstrap').done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1912 |
$.md.stage('pregimmick').run();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1913 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1914 |
$.md.stage('pregimmick').done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1915 |
$.md.stage('gimmick').run();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1916 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1917 |
$.md.stage('gimmick').done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1918 |
$.md.stage('postgimmick').run();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1919 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1920 |
$.md.stage('postgimmick').done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1921 |
$.md.stage('all_ready').run();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1922 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1923 |
$.md.stage('all_ready').done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1924 |
$('html').removeClass('md-hidden-load');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1925 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1926 |
// phantomjs hook when we are done |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1927 |
if (typeof window.callPhantom === 'function') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1928 |
window.callPhantom({});
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1929 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1930 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1931 |
$.md.stage('final_tests').run();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1932 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1933 |
$.md.stage('final_tests').done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1934 |
// reset the stages for next iteration |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1935 |
resetStages(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1936 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1937 |
// required by dalekjs so we can wait the element to appear |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1938 |
$('body').append('<span id="start-tests"></span>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1939 |
$('#start-tests').hide();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1940 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1941 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1942 |
// trigger the whole process by runing the init stage |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1943 |
$.md.stage('init').run();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1944 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1945 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1946 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1947 |
function extractHashData() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1948 |
// first char is the # or #! |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1949 |
var href; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1950 |
if (window.location.hash.startsWith('#!')) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1951 |
href = window.location.hash.substring(2); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1952 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1953 |
href = window.location.hash.substring(1); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1954 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1955 |
href = decodeURIComponent(href); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1956 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1957 |
// extract possible in-page anchor |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1958 |
var ex_pos = href.indexOf('#');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1959 |
if (ex_pos !== -1) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1960 |
$.md.inPageAnchor = href.substring(ex_pos + 1); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1961 |
$.md.mainHref = href.substring(0, ex_pos); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1962 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1963 |
$.md.mainHref = href; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1964 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1965 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1966 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1967 |
function appendDefaultFilenameToHash () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1968 |
var newHashString = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1969 |
var currentHashString = window.location.hash || ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1970 |
if (currentHashString === '' || |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1971 |
currentHashString === '#'|| |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1972 |
currentHashString === '#!') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1973 |
{
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1974 |
newHashString = '#!index.md'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1975 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1976 |
else if (currentHashString.startsWith ('#!') &&
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1977 |
currentHashString.endsWith('/')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1978 |
) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1979 |
newHashString = currentHashString + 'index.md'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1980 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1981 |
if (newHashString) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1982 |
window.location.hash = newHashString; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1983 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1984 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1985 |
$(document).ready(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1986 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1987 |
// stage init stuff |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1988 |
registerFetchConfig(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1989 |
registerBuildNavigation(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1990 |
extractHashData(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1991 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1992 |
appendDefaultFilenameToHash(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1993 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1994 |
$(window).bind('hashchange', function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1995 |
window.location.reload(false); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1996 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1997 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1998 |
loadContent($.md.mainHref); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
1999 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2000 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2001 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2002 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2003 |
var publicMethods = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2004 |
isRelativeUrl: function(url) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2005 |
if (url === undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2006 |
return false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2007 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2008 |
// if there is :// in it, its considered absolute |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2009 |
// else its relative |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2010 |
if (url.indexOf('://') === -1) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2011 |
return true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2012 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2013 |
return false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2014 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2015 |
}, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2016 |
isRelativePath: function(path) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2017 |
if (path === undefined) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2018 |
return false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2019 |
if (path.startsWith('/'))
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2020 |
return false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2021 |
return true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2022 |
}, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2023 |
isGimmickLink: function(domAnchor) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2024 |
if (domAnchor.toptext().indexOf ('gimmick:') !== -1) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2025 |
return true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2026 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2027 |
return false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2028 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2029 |
}, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2030 |
hasMarkdownFileExtension: function (str) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2031 |
var markdownExtensions = [ '.md', '.markdown', '.mdown' ]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2032 |
var result = false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2033 |
var value = str.toLowerCase().split('#')[0];
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2034 |
$(markdownExtensions).each(function (i,ext) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2035 |
if (value.toLowerCase().endsWith (ext)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2036 |
result = true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2037 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2038 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2039 |
return result; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2040 |
}, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2041 |
wait: function(time) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2042 |
return $.Deferred(function(dfd) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2043 |
setTimeout(dfd.resolve, time); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2044 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2045 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2046 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2047 |
$.md.util = $.extend ({}, $.md.util, publicMethods);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2048 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2049 |
if (typeof String.prototype.startsWith !== 'function') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2050 |
String.prototype.startsWith = function(str) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2051 |
return this.slice(0, str.length) === str; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2052 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2053 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2054 |
if (typeof String.prototype.endsWith !== 'function') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2055 |
String.prototype.endsWith = function(str) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2056 |
return this.slice(this.length - str.length, this.length) === str; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2057 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2058 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2059 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2060 |
$.fn.extend ({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2061 |
toptext: function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2062 |
return this.clone().children().remove().end().text(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2063 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2064 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2065 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2066 |
// adds a :icontains selector to jQuery that is case insensitive |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2067 |
$.expr[':'].icontains = $.expr.createPseudo(function(arg) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2068 |
return function(elem) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2069 |
return $(elem).toptext().toUpperCase().indexOf(arg.toUpperCase()) >= 0; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2070 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2071 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2072 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2073 |
$.md.util.getInpageAnchorText = function (text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2074 |
var subhash = text.replace(/ /g, '_'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2075 |
// TODO remove more unwanted characters like ?/,- etc. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2076 |
return subhash; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2077 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2078 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2079 |
$.md.util.getInpageAnchorHref = function (text, href) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2080 |
href = href || $.md.mainHref; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2081 |
var subhash = $.md.util.getInpageAnchorText(text); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2082 |
return '#!' + href + '#' + subhash; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2083 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2084 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2085 |
$.md.util.repeatUntil = function (interval, predicate, maxRepeats) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2086 |
maxRepeats = maxRepeats || 10; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2087 |
var dfd = $.Deferred(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2088 |
function recursive_repeat (interval, predicate, maxRepeats) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2089 |
if (maxRepeats === 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2090 |
dfd.reject(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2091 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2092 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2093 |
if (predicate()) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2094 |
dfd.resolve(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2095 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2096 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2097 |
$.md.util.wait(interval).always(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2098 |
recursive_repeat(interval, predicate, maxRepeats - 1); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2099 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2100 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2101 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2102 |
recursive_repeat(interval, predicate, maxRepeats); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2103 |
return dfd; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2104 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2105 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2106 |
// a count-down latch as in Java7. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2107 |
$.md.util.countDownLatch = function (capacity, min) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2108 |
min = min || 0; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2109 |
var dfd = $.Deferred(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2110 |
if (capacity <= min) dfd.resolve(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2111 |
dfd.capacity = capacity; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2112 |
dfd.countDown = function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2113 |
dfd.capacity--; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2114 |
if (dfd.capacity <= min) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2115 |
dfd.resolve(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2116 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2117 |
return dfd; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2118 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2119 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2120 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2121 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2122 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2123 |
'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2124 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2125 |
// PUBLIC API |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2126 |
$.md.registerGimmick = function(module) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2127 |
$.md.gimmicks.push(module); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2128 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2129 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2130 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2131 |
// registers a script for a gimmick, that is later dynamically loaded |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2132 |
// by the core. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2133 |
// src may be an URL or direct javascript sourcecode. When options.callback |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2134 |
// is provided, the done() function is passed to the function and needs to |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2135 |
// be called. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2136 |
$.md.registerScript = function(module, src, options) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2137 |
var scriptinfo = new ScriptInfo({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2138 |
module: module, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2139 |
src: src, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2140 |
options: options |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2141 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2142 |
registeredScripts.push(scriptinfo); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2143 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2144 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2145 |
// same as registerScript but for css. Note that we do not provide a |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2146 |
// callback when the load finishes |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2147 |
$.md.registerCss = function(module, url, options) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2148 |
var license = options.license, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2149 |
stage = options.stage || 'skel_ready', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2150 |
callback = options.callback; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2151 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2152 |
checkLicense(license, module); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2153 |
var tag = '<link rel="stylesheet" href="' + url + '" type="text/css"></link>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2154 |
$.md.stage(stage).subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2155 |
$('head').append(tag);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2156 |
if (callback !== undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2157 |
callback(done); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2158 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2159 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2160 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2161 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2162 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2163 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2164 |
// turns hostname/path links into http://hostname/path links |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2165 |
// we need to do this because if accessed by file:///, we need a different |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2166 |
// transport scheme for external resources (like http://) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2167 |
$.md.prepareLink = function(link, options) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2168 |
options = options || {};
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2169 |
var ownProtocol = window.location.protocol; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2170 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2171 |
if (options.forceSSL) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2172 |
return 'https://' + link; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2173 |
if (options.forceHTTP) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2174 |
return 'http://' + link; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2175 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2176 |
if (ownProtocol === 'file:') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2177 |
return 'http://' + link; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2178 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2179 |
// default: use the same as origin resource |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2180 |
return '//' + link; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2181 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2182 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2183 |
// associate a link trigger for a gimmick. i.e. [gimmick:foo]() then |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2184 |
// foo is the trigger and will invoke the corresponding gimmick |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2185 |
$.md.linkGimmick = function(module, trigger, callback, stage) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2186 |
if (stage === undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2187 |
stage = 'gimmick'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2188 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2189 |
var linktrigger = new LinkTrigger({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2190 |
trigger: trigger, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2191 |
module: module, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2192 |
stage: stage, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2193 |
callback: callback |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2194 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2195 |
linkTriggers.push(linktrigger); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2196 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2197 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2198 |
$.md.triggerIsActive = function(trigger) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2199 |
if (activeLinkTriggers.indexOf(trigger) === -1) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2200 |
return false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2201 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2202 |
return true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2203 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2204 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2205 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2206 |
var initialized = false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2207 |
// TODO combine main.js and modules.js closure |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2208 |
$.md.initializeGimmicks = function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2209 |
findActiveLinkTrigger(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2210 |
runGimmicksOnce(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2211 |
loadRequiredScripts(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2212 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2213 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2214 |
// END PUBLIC API |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2215 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2216 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2217 |
var log = $.md.getLogger(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2218 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2219 |
// triggers that we actually found on the page |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2220 |
// array of string |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2221 |
var activeLinkTriggers = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2222 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2223 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2224 |
// array of ScriptInfo |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2225 |
var registeredScripts = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2226 |
function ScriptInfo(initial) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2227 |
this.module = undefined; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2228 |
this.options = {};
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2229 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2230 |
// can ba an URL or javascript sourcecode |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2231 |
this.src = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2232 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2233 |
$.extend(this, initial); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2234 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2235 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2236 |
// array of linkTriggers |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2237 |
var linkTriggers = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2238 |
function LinkTrigger(initial) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2239 |
this.trigger = undefined; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2240 |
this.module = undefined; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2241 |
this.callback = undefined; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2242 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2243 |
$.extend(this, initial); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2244 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2245 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2246 |
// jQuery does some magic when inserting inline scripts, so better |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2247 |
// use vanilla JS. See: |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2248 |
// http://stackoverflow.com/questions/610995/jquery-cant-append-script-element |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2249 |
function insertInlineScript(src) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2250 |
// scripts always need to go directly into the DOM |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2251 |
var script = document.createElement('script');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2252 |
script.type = 'text/javascript'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2253 |
script.text = src; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2254 |
document.body.appendChild(script); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2255 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2256 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2257 |
// since we are GPL, we have to be cautious what other scripts we load |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2258 |
// as delivering to the browser is considered delivering a derived work |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2259 |
var licenses = ['MIT', 'BSD', 'GPL', 'GPL2', 'GPL3', 'LGPL', 'LGPL2', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2260 |
'APACHE2', 'PUBLICDOMAIN', 'EXCEPTION', 'OTHER' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2261 |
]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2262 |
function checkLicense(license, module) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2263 |
if ($.inArray(license, licenses) === -1) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2264 |
var availLicenses = JSON.stringify(licenses); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2265 |
log.warn('license ' + license + ' is not known.');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2266 |
log.warn('Known licenses:' + availLicenses);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2267 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2268 |
} else if (license === 'OTHER') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2269 |
log.warn('WARNING: Module ' + module.name + ' uses a script'+
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2270 |
' with unknown license. This may be a GPL license violation if'+ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2271 |
' this website is publically available!'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2272 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2273 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2274 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2275 |
// will actually schedule the script load into the DOM. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2276 |
function loadScript(scriptinfo) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2277 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2278 |
var module = scriptinfo.module, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2279 |
src = scriptinfo.src, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2280 |
options = scriptinfo.options; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2281 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2282 |
var license = options.license || 'OTHER', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2283 |
loadstage = options.loadstage || 'skel_ready', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2284 |
finishstage = options.finishstage || 'pregimmick', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2285 |
callback = options.callback; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2286 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2287 |
var loadDone = $.Deferred(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2288 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2289 |
checkLicense(license, module); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2290 |
// start script loading |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2291 |
log.debug('subscribing ' + module.name + ' to start: ' + loadstage + ' end in: ' + finishstage);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2292 |
$.md.stage(loadstage).subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2293 |
if (src.startsWith('//') || src.startsWith('http')) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2294 |
$.getScript(src, function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2295 |
if (callback !== undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2296 |
callback(done); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2297 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2298 |
log.debug('module' + module.name + ' script load done: ' + src);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2299 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2300 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2301 |
loadDone.resolve(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2302 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2303 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2304 |
// inline script that we directly insert |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2305 |
insertInlineScript(src); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2306 |
log.debug('module' + module.name + ' script inject done');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2307 |
loadDone.resolve(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2308 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2309 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2310 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2311 |
// if loading is not yet finished in stage finishstage, wait |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2312 |
// for the loading to complete |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2313 |
$.md.stage(finishstage).subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2314 |
loadDone.done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2315 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2316 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2317 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2318 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2319 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2320 |
// finds out that kind of trigger words are acutally used on a given page |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2321 |
// this is most likely a very small subset of all available gimmicks |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2322 |
function findActiveLinkTrigger() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2323 |
var $gimmicks = $('a:icontains(gimmick:)');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2324 |
$gimmicks.each(function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2325 |
var parts = getGimmickLinkParts($(e)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2326 |
if (activeLinkTriggers.indexOf(parts.trigger) === -1) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2327 |
activeLinkTriggers.push(parts.trigger); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2328 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2329 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2330 |
log.debug('Scanning for required gimmick links: ' + JSON.stringify(activeLinkTriggers));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2331 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2332 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2333 |
function loadRequiredScripts() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2334 |
// find each module responsible for the link trigger |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2335 |
$.each(activeLinkTriggers, function(i,trigger) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2336 |
var module = findModuleByTrigger(trigger); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2337 |
if (module === undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2338 |
log.error('Gimmick link: "' + trigger + '" found but no suitable gimmick loaded');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2339 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2340 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2341 |
var scriptinfo = registeredScripts.filter(function(info) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2342 |
return info.module.name === module.name; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2343 |
})[0]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2344 |
// register to load the script |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2345 |
if (scriptinfo !== undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2346 |
loadScript(scriptinfo); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2347 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2348 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2349 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2350 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2351 |
function findModuleByTrigger(trigger) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2352 |
var ret; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2353 |
$.each(linkTriggers, function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2354 |
if (e.trigger === trigger) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2355 |
ret = e.module; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2356 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2357 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2358 |
return ret; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2359 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2360 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2361 |
function getGimmickLinkParts($link) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2362 |
var link_text = $.trim($link.toptext()); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2363 |
// returns linkTrigger, options, linkText |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2364 |
if (link_text.match(/gimmick:/i) === null) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2365 |
return null; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2366 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2367 |
var href = $.trim($link.attr('href'));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2368 |
var r = new RegExp(/gimmick:\s*([^(\s]*)\s*(\(\s*{?(.*)\s*}?\s*\))*/i);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2369 |
var matches = r.exec(link_text); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2370 |
if (matches === null || matches[1] === undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2371 |
$.error('Error matching a gimmick: ' + link_text);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2372 |
return null; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2373 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2374 |
var trigger = matches[1].toLowerCase(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2375 |
var args = null; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2376 |
// getting the parameters |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2377 |
if (matches[2] !== undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2378 |
// remove whitespaces |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2379 |
var params = $.trim(matches[3].toString()); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2380 |
// remove the closing } if present |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2381 |
if (params.charAt (params.length - 1) === '}') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2382 |
params = params.substring(0, params.length - 1); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2383 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2384 |
// add surrounding braces and paranthese |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2385 |
params = '({' + params + '})';
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2386 |
// replace any single quotes by double quotes |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2387 |
params = params.replace(/'/g, '"'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2388 |
// finally, try if the json object is valid |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2389 |
try {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2390 |
/*jshint -W061 */ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2391 |
args = eval(params); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2392 |
} catch (err) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2393 |
log.error('error parsing argument of gimmick: ' + link_text + 'giving error: ' + err);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2394 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2395 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2396 |
return { trigger: trigger, options: args, href: href };
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2397 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2398 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2399 |
function runGimmicksOnce() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2400 |
// runs the once: callback for each gimmick within the init stage |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2401 |
$.each($.md.gimmicks, function(i, module) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2402 |
if (module.once === undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2403 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2404 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2405 |
module.once(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2406 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2407 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2408 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2409 |
// activate all gimmicks on a page, that are contain the text gimmick: |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2410 |
// TODO make private / merge closures |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2411 |
$.md.registerLinkGimmicks = function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2412 |
var $gimmick_links = $('a:icontains(gimmick:)');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2413 |
$gimmick_links.each(function(i, e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2414 |
var $link = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2415 |
var gimmick_arguments = getGimmickLinkParts($link); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2416 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2417 |
$.each(linkTriggers, function(i, linktrigger) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2418 |
if (gimmick_arguments.trigger === linktrigger.trigger) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2419 |
subscribeLinkTrigger($link, gimmick_arguments, linktrigger); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2420 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2421 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2422 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2423 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2424 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2425 |
function subscribeLinkTrigger($link, args, linktrigger) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2426 |
log.debug('Subscribing gimmick ' + linktrigger.module.name + ' to stage: ' + linktrigger.stage);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2427 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2428 |
$.md.stage(linktrigger.stage).subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2429 |
args.options = args.options ||{};
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2430 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2431 |
// it is possible that broken modules or any other transformation removed the $link |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2432 |
// from the dom in the meantime |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2433 |
if (!jQuery.contains(document.documentElement, $link[0])) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2434 |
log.error ('LINK IS NOT IN THE DOM ANYMORE: ');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2435 |
console.log($link); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2436 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2437 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2438 |
log.debug('Running gimmick ' + linktrigger.module.name);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2439 |
linktrigger.callback($link, args.options, args.href, done); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2440 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2441 |
// if the gimmick didn't call done, we trigger it here |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2442 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2443 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2444 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2445 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2446 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2447 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2448 |
var publicMethods = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2449 |
createBasicSkeleton: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2450 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2451 |
setPageTitle(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2452 |
wrapParagraphText(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2453 |
linkImagesToSelf(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2454 |
groupImages(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2455 |
removeBreaks(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2456 |
addInpageAnchors (); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2457 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2458 |
$.md.stage('all_ready').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2459 |
if ($.md.inPageAnchor !== '') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2460 |
$.md.util.wait(500).then(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2461 |
$.md.scrollToInPageAnchor($.md.inPageAnchor); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2462 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2463 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2464 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2465 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2466 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2467 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2468 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2469 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2470 |
$.md.publicMethods = $.extend ({}, $.md.publicMethods, publicMethods);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2471 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2472 |
// set the page title to the browser document title, optionally picking |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2473 |
// the first h1 element as title if no title is given |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2474 |
function setPageTitle() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2475 |
var $pageTitle; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2476 |
if ($.md.config.title) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2477 |
$('title').text($.md.config.title);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2478 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2479 |
$pageTitle = $('#md-content h1').eq(0);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2480 |
if ($.trim($pageTitle.toptext()).length > 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2481 |
$('#md-title').prepend($pageTitle);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2482 |
var title = $pageTitle.toptext(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2483 |
// document.title = title; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2484 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2485 |
$('#md-title').remove();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2486 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2487 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2488 |
function wrapParagraphText () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2489 |
// TODO is this true for marked.js? |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2490 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2491 |
// markdown gives us sometime paragraph that contain child tags (like img), |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2492 |
// but the containing text is not wrapped. Make sure to wrap the text in the |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2493 |
// paragraph into a <div> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2494 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2495 |
// this also moves ANY child tags to the front of the paragraph! |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2496 |
$('#md-content p').each (function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2497 |
var $p = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2498 |
// nothing to do for paragraphs without text |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2499 |
if ($.trim($p.text ()).length === 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2500 |
// make sure no whitespace are in the p and then exit |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2501 |
//$p.text ('');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2502 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2503 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2504 |
// children elements of the p |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2505 |
var children = $p.contents ().filter (function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2506 |
var $child = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2507 |
// we extract images and hyperlinks with images out of the paragraph |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2508 |
if (this.tagName === 'A' && $child.find('img').length > 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2509 |
return true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2510 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2511 |
if (this.tagName === 'IMG') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2512 |
return true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2513 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2514 |
// else |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2515 |
return false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2516 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2517 |
var floatClass = getFloatClass($p); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2518 |
$p.wrapInner ('<div class="md-text" />');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2519 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2520 |
// if there are no children, we are done |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2521 |
if (children.length === 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2522 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2523 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2524 |
// move the children out of the wrapped div into the original p |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2525 |
children.prependTo($p); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2526 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2527 |
// at this point, we now have a paragraph that holds text AND images |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2528 |
// we mark that paragraph to be a floating environment |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2529 |
// TODO determine floatenv left/right |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2530 |
$p.addClass ('md-floatenv').addClass (floatClass);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2531 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2532 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2533 |
function removeBreaks (){
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2534 |
// since we use non-markdown-standard line wrapping, we get lots of |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2535 |
// <br> elements we don't want. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2536 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2537 |
// remove a leading <br> from floatclasses, that happen to |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2538 |
// get insertet after an image |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2539 |
$('.md-floatenv').find ('.md-text').each (function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2540 |
var $first = $(this).find ('*').eq(0);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2541 |
if ($first.is ('br')) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2542 |
$first.remove (); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2543 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2544 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2545 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2546 |
// remove any breaks from image groups |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2547 |
$('.md-image-group').find ('br').remove ();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2548 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2549 |
function getFloatClass (par) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2550 |
var $p = $(par); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2551 |
var floatClass = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2552 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2553 |
// reduce content of the paragraph to images |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2554 |
var nonTextContents = $p.contents().filter(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2555 |
if (this.tagName === 'IMG' || this.tagName === 'IFRAME') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2556 |
return true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2557 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2558 |
else if (this.tagName === 'A') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2559 |
return $(this).find('img').length > 0;
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2560 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2561 |
else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2562 |
return $.trim($(this).text ()).length > 0; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2563 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2564 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2565 |
// check the first element - if its an image or a link with image, we go left |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2566 |
var elem = nonTextContents[0]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2567 |
if (elem !== undefined && elem !== null) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2568 |
if (elem.tagName === 'IMG' || elem.tagName === 'IFRAME') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2569 |
floatClass = 'md-float-left'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2570 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2571 |
else if (elem.tagName === 'A' && $(elem).find('img').length > 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2572 |
floatClass = 'md-float-left'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2573 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2574 |
else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2575 |
floatClass = 'md-float-right'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2576 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2577 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2578 |
return floatClass; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2579 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2580 |
// images are put in the same image group as long as there is |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2581 |
// not separating paragraph between them |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2582 |
function groupImages() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2583 |
var par = $('p img').parents('p');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2584 |
// add an .md-image-group class to the p |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2585 |
par.addClass('md-image-group');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2586 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2587 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2588 |
// takes a standard <img> tag and adds a hyperlink to the image source |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2589 |
// needed since we scale down images via css and want them to be accessible |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2590 |
// in original format |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2591 |
function linkImagesToSelf () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2592 |
function selectNonLinkedImages () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2593 |
// only select images that do not have a non-empty parent link |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2594 |
$images = $('img').filter(function(index) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2595 |
var $parent_link = $(this).parents('a').eq(0);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2596 |
if ($parent_link.length === 0) return true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2597 |
var attr = $parent_link.attr('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2598 |
return (attr && attr.length === 0); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2599 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2600 |
return $images; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2601 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2602 |
var $images = selectNonLinkedImages (); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2603 |
return $images.each(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2604 |
var $this = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2605 |
var img_src = $this.attr('src');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2606 |
var img_title = $this.attr('title');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2607 |
if (img_title === undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2608 |
img_title = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2609 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2610 |
// wrap the <img> tag in an anchor and copy the title of the image |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2611 |
$this.wrap('<a class="md-image-selfref" href="' + img_src + '" title="'+ img_title +'"/> ');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2612 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2613 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2614 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2615 |
function addInpageAnchors() |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2616 |
{
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2617 |
// adds a pilcrow (paragraph) character to heading with a link for the |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2618 |
// inpage anchor |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2619 |
function addPilcrow ($heading, href) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2620 |
var c = $.md.config.anchorCharacter; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2621 |
var $pilcrow = $('<span class="anchor-highlight"><a>' + c + '</a></span>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2622 |
$pilcrow.find('a').attr('href', href);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2623 |
$pilcrow.hide(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2624 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2625 |
var mouse_entered = false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2626 |
$heading.mouseenter(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2627 |
mouse_entered = true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2628 |
$.md.util.wait(300).then(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2629 |
if (!mouse_entered) return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2630 |
$pilcrow.fadeIn(200); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2631 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2632 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2633 |
$heading.mouseleave(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2634 |
mouse_entered = false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2635 |
$pilcrow.fadeOut(200); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2636 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2637 |
$pilcrow.appendTo($heading); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2638 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2639 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2640 |
// adds a link to the navigation at the top of the page |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2641 |
function addJumpLinkToTOC($heading) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2642 |
if($.md.config.useSideMenu === false) return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2643 |
if($heading.prop("tagName") !== 'H2') return;
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2644 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2645 |
var c = $.md.config.tocAnchor; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2646 |
if (c === '') |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2647 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2648 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2649 |
var $jumpLink = $('<a class="visible-xs visible-sm jumplink" href="#md-page-menu">' + c + '</a>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2650 |
$jumpLink.click(function(ev) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2651 |
ev.preventDefault(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2652 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2653 |
$('body').scrollTop($('#md-page-menu').position().top);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2654 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2655 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2656 |
if ($heading.parents('#md-menu').length === 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2657 |
$jumpLink.insertAfter($heading); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2658 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2659 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2660 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2661 |
// adds a page inline anchor to each h1,h2,h3,h4,h5,h6 element |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2662 |
// which can be accessed by the headings text |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2663 |
$('h1,h2,h3,h4,h5,h6').not('#md-title h1').each (function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2664 |
var $heading = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2665 |
$heading.addClass('md-inpage-anchor');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2666 |
var text = $heading.clone().children('.anchor-highlight').remove().end().text();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2667 |
var href = $.md.util.getInpageAnchorHref(text); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2668 |
addPilcrow($heading, href); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2669 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2670 |
//add jumplink to table of contents |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2671 |
addJumpLinkToTOC($heading); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2672 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2673 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2674 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2675 |
$.md.scrollToInPageAnchor = function(anchortext) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2676 |
if (anchortext.startsWith ('#'))
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2677 |
anchortext = anchortext.substring (1, anchortext.length); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2678 |
// we match case insensitive |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2679 |
var doBreak = false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2680 |
$('.md-inpage-anchor').each (function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2681 |
if (doBreak) { return; }
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2682 |
var $this = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2683 |
// don't use the text of any subnode |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2684 |
var text = $this.toptext(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2685 |
var match = $.md.util.getInpageAnchorText (text); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2686 |
if (anchortext === match) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2687 |
this.scrollIntoView (true); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2688 |
var navbar_offset = $('.navbar-collapse').height() + 5;
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2689 |
window.scrollBy(0, -navbar_offset + 5); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2690 |
doBreak = true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2691 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2692 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2693 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2694 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2695 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2696 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2697 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2698 |
'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2699 |
// call the gimmick |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2700 |
$.mdbootstrap = function (method){
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2701 |
if ($.mdbootstrap.publicMethods[method]) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2702 |
return $.mdbootstrap.publicMethods[method].apply(this, Array.prototype.slice.call(arguments, 1)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2703 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2704 |
$.error('Method ' + method + ' does not exist on jquery.mdbootstrap');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2705 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2706 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2707 |
// simple wrapper around $().bind |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2708 |
$.mdbootstrap.events = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2709 |
$.mdbootstrap.bind = function (ev, func) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2710 |
$(document).bind (ev, func); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2711 |
$.mdbootstrap.events.push (ev); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2712 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2713 |
$.mdbootstrap.trigger = function (ev) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2714 |
$(document).trigger (ev); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2715 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2716 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2717 |
var navStyle = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2718 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2719 |
// PUBLIC API functions that are exposed |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2720 |
var publicMethods = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2721 |
bootstrapify: function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2722 |
createPageSkeleton(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2723 |
buildMenu (); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2724 |
changeHeading(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2725 |
replaceImageParagraphs(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2726 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2727 |
$('table').addClass('table').addClass('table-bordered');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2728 |
//pullRightBumper (); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2729 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2730 |
// remove the margin for headings h1 and h2 that are the first |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2731 |
// on page |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2732 |
//if (navStyle == "sub" || (navStyle == "top" && $('#md-title').text ().trim ().length === 0))
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2733 |
// $(".md-first-heading").css ("margin-top", "0");
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2734 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2735 |
// external content should run after gimmicks were run |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2736 |
$.md.stage('pregimmick').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2737 |
if ($.md.config.useSideMenu !== false) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2738 |
createPageContentMenu(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2739 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2740 |
addFooter(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2741 |
addAdditionalFooterText(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2742 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2743 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2744 |
$.md.stage('postgimmick').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2745 |
adjustExternalContent(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2746 |
highlightActiveLink(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2747 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2748 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2749 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2750 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2751 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2752 |
// register the public API functions |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2753 |
$.mdbootstrap.publicMethods = $.extend ({}, $.mdbootstrap.publicMethods, publicMethods);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2754 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2755 |
// PRIVATE FUNCTIONS: |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2756 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2757 |
function buildTopNav() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2758 |
// replace with the navbar skeleton |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2759 |
if ($('#md-menu').length <= 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2760 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2761 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2762 |
navStyle = 'top'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2763 |
var $menuContent = $('#md-menu').children();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2764 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2765 |
// $('#md-menu').addClass ('navbar navbar-default navbar-fixed-top');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2766 |
// var menusrc = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2767 |
// menusrc += '<div id="md-menu-inner" class="container">'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2768 |
// menusrc += '<ul id="md-menu-ul" class="nav navbar-nav">'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2769 |
// menusrc += '</ul></div>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2770 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2771 |
var navbar = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2772 |
navbar += '<div id="md-main-navbar" class="navbar navbar-default navbar-fixed-top" role="navigation">'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2773 |
navbar += '<div class="navbar-header">'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2774 |
navbar += '<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2775 |
navbar += '<span class="sr-only">Toggle navigation</span>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2776 |
navbar += '<span class="icon-bar"></span>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2777 |
navbar += '<span class="icon-bar"></span>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2778 |
navbar += '<span class="icon-bar"></span>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2779 |
navbar += '</button>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2780 |
navbar += '<a class="navbar-brand" href="#"></a>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2781 |
navbar += '</div>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2782 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2783 |
navbar += '<div class="collapse navbar-collapse navbar-ex1-collapse">'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2784 |
navbar += '<ul class="nav navbar-nav" />'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2785 |
navbar += '<ul class="nav navbar-nav navbar-right" />'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2786 |
navbar += '</div>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2787 |
navbar += '</div>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2788 |
var $navbar = $(navbar); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2789 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2790 |
$navbar.appendTo('#md-menu');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2791 |
// .eq(0) becase we dont want navbar-right to be appended to |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2792 |
$('#md-menu ul.nav').eq(0).append($menuContent);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2793 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2794 |
// the menu should be the first element in the body |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2795 |
$('#md-menu').prependTo ('#md-all');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2796 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2797 |
var brand_text = $('#md-menu h1').toptext();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2798 |
$('#md-menu h1').remove();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2799 |
$('a.navbar-brand').text(brand_text);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2800 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2801 |
// initial offset |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2802 |
$('#md-body').css('margin-top', '70px');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2803 |
$.md.stage('pregimmick').subscribe(function (done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2804 |
check_offset_to_navbar(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2805 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2806 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2807 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2808 |
// the navbar has different height depending on theme, number of navbar entries, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2809 |
// and window/device width. Therefore recalculate on start and upon window resize |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2810 |
function set_offset_to_navbar () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2811 |
var height = $('#md-main-navbar').height() + 10;
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2812 |
$('#md-body').css('margin-top', height + 'px');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2813 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2814 |
function check_offset_to_navbar () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2815 |
// HACK this is VERY UGLY. When an external theme is used, we don't know when the |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2816 |
// css style will be finished loading - and we can only correctly calculate |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2817 |
// the height AFTER it has completely loaded. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2818 |
var navbar_height = 0; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2819 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2820 |
var dfd1 = $.md.util.repeatUntil(40, function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2821 |
navbar_height = $('#md-main-navbar').height();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2822 |
return (navbar_height > 35) && (navbar_height < 481); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2823 |
}, 25); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2824 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2825 |
dfd1.done(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2826 |
navbar_height = $('#md-main-navbar').height();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2827 |
set_offset_to_navbar(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2828 |
// now bootstrap changes this maybe after a while, again watch for changes |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2829 |
var dfd2 = $.md.util.repeatUntil(20, function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2830 |
return navbar_height !== $('#md-main-navbar').height();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2831 |
}, 25); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2832 |
dfd2.done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2833 |
// it changed, so we need to change it again |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2834 |
set_offset_to_navbar(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2835 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2836 |
// and finally, for real slow computers, make sure it is changed if changin very late |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2837 |
$.md.util.wait(2000).done(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2838 |
set_offset_to_navbar(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2839 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2840 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2841 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2842 |
function buildSubNav() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2843 |
// replace with the navbar skeleton |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2844 |
/* BROKEN CODE |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2845 |
if ($('#md-menu').length <= 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2846 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2847 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2848 |
navStyle = 'sub'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2849 |
var $menuContent = $('#md-menu').html ();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2850 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2851 |
var menusrc = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2852 |
menusrc += '<div id="md-menu-inner" class="subnav">'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2853 |
menusrc += '<ul id="md-menu-ul" class="nav nav-pills">'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2854 |
menusrc += $menuContent; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2855 |
menusrc += '</ul></div>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2856 |
$('#md-menu').empty();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2857 |
$('#md-menu').wrapInner($(menusrc));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2858 |
$('#md-menu').addClass ('col-md-12');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2859 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2860 |
$('#md-menu-container').insertAfter ($('#md-title-container'));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2861 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2862 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2863 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2864 |
function buildMenu () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2865 |
if ($('#md-menu a').length === 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2866 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2867 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2868 |
var h = $('#md-menu');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2869 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2870 |
// make toplevel <a> a dropdown |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2871 |
h.find('> a[href=""]')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2872 |
.attr('data-toggle', 'dropdown')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2873 |
.addClass('dropdown-toggle')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2874 |
.attr('href','')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2875 |
.append('<b class="caret"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2876 |
h.find('ul').addClass('dropdown-menu');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2877 |
h.find('ul li').addClass('dropdown');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2878 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2879 |
// replace hr with dividers |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2880 |
$('#md-menu hr').each(function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2881 |
var hr = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2882 |
var prev = hr.prev(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2883 |
var next = hr.next(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2884 |
if (prev.is('ul') && prev.length >= 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2885 |
prev.append($('<li class="divider"/>'));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2886 |
hr.remove(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2887 |
if (next.is('ul')) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2888 |
next.find('li').appendTo(prev);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2889 |
next.remove(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2890 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2891 |
// next ul should now be empty |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2892 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2893 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2894 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2895 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2896 |
// remove empty uls |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2897 |
$('#md-menu ul').each(function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2898 |
var ul = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2899 |
if (ul.find('li').length === 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2900 |
ul.remove(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2901 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2902 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2903 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2904 |
$('#md-menu hr').replaceWith($('<li class="divider-vertical"/>'));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2905 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2906 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2907 |
// wrap the toplevel links in <li> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2908 |
$('#md-menu > a').wrap('<li />');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2909 |
$('#md-menu ul').each(function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2910 |
var ul = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2911 |
ul.appendTo(ul.prev()); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2912 |
ul.parent('li').addClass('dropdown');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2913 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2914 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2915 |
// submenu headers |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2916 |
$('#md-menu li.dropdown').find('h1, h2, h3').each(function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2917 |
var $e = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2918 |
var text = $e.toptext(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2919 |
var header = $('<li class="dropdown-header" />');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2920 |
header.text(text); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2921 |
$e.replaceWith(header); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2922 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2923 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2924 |
// call the user specifed menu function |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2925 |
buildTopNav(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2926 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2927 |
function isVisibleInViewport(e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2928 |
var el = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2929 |
var top = $(window).scrollTop(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2930 |
var bottom = top + $(window).height(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2931 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2932 |
var eltop = el.offset().top; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2933 |
var elbottom = eltop + el.height(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2934 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2935 |
return (elbottom <= bottom) && (eltop >= top); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2936 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2937 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2938 |
function createPageContentMenu () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2939 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2940 |
// assemble the menu |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2941 |
var $headings = $('#md-content').find('h2').clone();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2942 |
// we dont want the text of any child nodes |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2943 |
$headings.children().remove(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2944 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2945 |
if ($headings.length <= 1) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2946 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2947 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2948 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2949 |
$('#md-content').removeClass ('col-md-12');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2950 |
$('#md-content').addClass ('col-md-9');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2951 |
$('#md-content-row').prepend('<div class="col-md-3" id="md-left-column"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2952 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2953 |
var recalc_width = function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2954 |
// if the page menu is affixed, it is not a child of the |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2955 |
// <md-left-column> anymore and therefore does not inherit |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2956 |
// its width. On every resize, change the class accordingly |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2957 |
var width_left_column = $('#md-left-column').css('width');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2958 |
$('#md-page-menu').css('width', width_left_column);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2959 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2960 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2961 |
$(window).scroll(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2962 |
recalc_width($('#md-page-menu'));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2963 |
var $first; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2964 |
$('*.md-inpage-anchor').each(function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2965 |
if ($first === undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2966 |
var h = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2967 |
if (isVisibleInViewport(h)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2968 |
$first = h; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2969 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2970 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2971 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2972 |
// highlight in the right menu |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2973 |
$('#md-page-menu a').each(function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2974 |
var $a = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2975 |
if ($first && $a.toptext() === $first.toptext()) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2976 |
$('#md-page-menu a.active').removeClass('active');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2977 |
//$a.parent('a').addClass('active');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2978 |
$a.addClass('active');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2979 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2980 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2981 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2982 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2983 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2984 |
var affixDiv = $('<div id="md-page-menu" />');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2985 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2986 |
//var top_spacing = $('#md-menu').height() + 15;
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2987 |
var top_spacing = 70; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2988 |
affixDiv.affix({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2989 |
//offset: affix.position() - 50, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2990 |
offset: 130 |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2991 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2992 |
affixDiv.css('top', top_spacing);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2993 |
//affix.css('top','-250px');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2994 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2995 |
var $pannel = $('<div class="panel panel-default"><ul class="list-group"/></div>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2996 |
var $ul = $pannel.find("ul");
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2997 |
affixDiv.append($pannel); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2998 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
2999 |
$headings.each(function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3000 |
var $heading = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3001 |
var $li = $('<li class="list-group-item" />');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3002 |
var $a = $('<a />');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3003 |
$a.attr('href', $.md.util.getInpageAnchorHref($heading.toptext()));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3004 |
$a.click(function(ev) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3005 |
ev.preventDefault(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3006 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3007 |
var $this = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3008 |
var anchortext = $.md.util.getInpageAnchorText($this.toptext()); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3009 |
$.md.scrollToInPageAnchor(anchortext); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3010 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3011 |
$a.text($heading.toptext()); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3012 |
$li.append($a); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3013 |
$ul.append($li); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3014 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3015 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3016 |
$(window).resize(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3017 |
recalc_width($('#md-page-menu'));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3018 |
check_offset_to_navbar(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3019 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3020 |
$.md.stage('postgimmick').subscribe(function (done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3021 |
// recalc_width(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3022 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3023 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3024 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3025 |
//menu.css('width','100%');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3026 |
$('#md-left-column').append(affixDiv);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3027 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3028 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3029 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3030 |
function createPageSkeleton() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3031 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3032 |
$('#md-title').wrap('<div class="container" id="md-title-container"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3033 |
$('#md-title').wrap('<div class="row" id="md-title-row"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3034 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3035 |
$('#md-menu').wrap('<div class="container" id="md-menu-container"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3036 |
$('#md-menu').wrap('<div class="row" id="md-menu-row"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3037 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3038 |
$('#md-content').wrap('<div class="container" id="md-content-container"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3039 |
$('#md-content').wrap('<div class="row" id="md-content-row"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3040 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3041 |
$('#md-body').wrap('<div class="container" id="md-body-container"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3042 |
$('#md-body').wrap('<div class="row" id="md-body-row"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3043 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3044 |
$('#md-title').addClass('col-md-12');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3045 |
$('#md-content').addClass('col-md-12');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3046 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3047 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3048 |
function pullRightBumper (){
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3049 |
/* $("span.bumper").each (function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3050 |
$this = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3051 |
$this.prev().addClass ("pull-right");
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3052 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3053 |
$('span.bumper').addClass ('pull-right');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3054 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3055 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3056 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3057 |
function changeHeading() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3058 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3059 |
// HEADING |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3060 |
var jumbo = $('<div class="page-header" />');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3061 |
$('#md-title').wrapInner(jumbo);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3062 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3063 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3064 |
function highlightActiveLink () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3065 |
// when no menu is used, return |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3066 |
if ($('#md-menu').find ('li').length === 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3067 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3068 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3069 |
var filename = window.location.hash; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3070 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3071 |
if (filename.length === 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3072 |
filename = '#!index.md'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3073 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3074 |
var selector = 'li:has(a[href="' + filename + '"])'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3075 |
$('#md-menu').find (selector).addClass ('active');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3076 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3077 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3078 |
// replace all <p> around images with a <div class="thumbnail" > |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3079 |
function replaceImageParagraphs() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3080 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3081 |
// only select those paragraphs that have images in them |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3082 |
var $pars = $('p img').parents('p');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3083 |
$pars.each(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3084 |
var $p = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3085 |
var $images = $(this).find('img')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3086 |
.filter(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3087 |
// only select those images that have no parent anchor |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3088 |
return $(this).parents('a').length === 0;
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3089 |
}) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3090 |
// add those anchors including images |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3091 |
.add($(this).find ('img'))
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3092 |
.addClass('img-responsive')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3093 |
.addClass('img-thumbnail');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3094 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3095 |
// create a new url group at the fron of the paragraph |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3096 |
//$p.prepend($('<ul class="thumbnails" />'));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3097 |
// move the images to the newly created ul |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3098 |
//$p.find('ul').eq(0).append($images);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3099 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3100 |
// wrap each image with a <li> that limits their space |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3101 |
// the number of images in a paragraphs determines thei width / span |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3102 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3103 |
// if the image is a link, wrap around the link to avoid |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3104 |
function wrapImage ($imgages, wrapElement) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3105 |
return $images.each(function (i, img) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3106 |
var $img = $(img); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3107 |
var $parent_img = $img.parent('a');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3108 |
if ($parent_img.length > 0) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3109 |
$parent_img.wrap(wrapElement); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3110 |
else |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3111 |
$img.wrap(wrapElement); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3112 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3113 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3114 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3115 |
if ($p.hasClass ('md-floatenv')) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3116 |
if ($images.length === 1) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3117 |
wrapImage($images, '<div class="col-sm-8" />'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3118 |
} else if ($images.length === 2) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3119 |
wrapImage($images, '<div class="col-sm-4" />'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3120 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3121 |
wrapImage($images, '<div class="col-sm-2" />'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3122 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3123 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3124 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3125 |
// non-float => images are on their own single paragraph, make em larger |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3126 |
// but remember, our image resizing will make them only as large as they are |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3127 |
// but do no upscaling |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3128 |
// TODO replace by calculation |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3129 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3130 |
if ($images.length === 1) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3131 |
wrapImage($images, '<div class="col-sm-12" />'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3132 |
} else if ($images.length === 2) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3133 |
wrapImage($images, '<div class="col-sm-6" />'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3134 |
} else if ($images.length === 3) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3135 |
wrapImage($images, '<div class="col-sm-4" />'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3136 |
} else if ($images.length === 4) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3137 |
wrapImage($images, '<div class="col-sm-3" />'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3138 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3139 |
wrapImage($images, '<div class="col-sm-2" />'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3140 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3141 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3142 |
$p.addClass('row');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3143 |
// finally, every img gets its own wrapping thumbnail div |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3144 |
//$images.wrap('<div class="thumbnail" />');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3145 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3146 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3147 |
// apply float to the ul thumbnails |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3148 |
//$('.md-floatenv.md-float-left ul').addClass ('pull-left');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3149 |
//$('.md-floatenv.md-float-right ul').addClass ('pull-right');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3150 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3151 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3152 |
function adjustExternalContent() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3153 |
// external content are usually iframes or divs that are integrated |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3154 |
// by gimmicks |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3155 |
// example: youtube iframes, google maps div canvas |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3156 |
// all external content are in the md-external class |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3157 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3158 |
$('iframe.md-external').not ('.md-external-nowidth')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3159 |
.attr('width', '450')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3160 |
.css ('width', '450px');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3161 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3162 |
$('iframe.md-external').not ('.md-external-noheight')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3163 |
.attr('height', '280')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3164 |
.css ('height', '280px');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3165 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3166 |
// make it appear like an image thumbnal |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3167 |
//$('.md-external').addClass('img-thumbnail');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3168 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3169 |
//.wrap($("<ul class='thumbnails' />")).wrap($("<li class='col-md-6' />"));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3170 |
$('div.md-external').not('.md-external-noheight')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3171 |
.css('height', '280px');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3172 |
$('div.md-external').not('.md-external-nowidth')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3173 |
.css('width', '450px');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3174 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3175 |
// // make it appear like an image thumbnal |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3176 |
// $("div.md-external").addClass("thumbnail").wrap($("<ul class='thumbnails' />")).wrap($("<li class='col-md-10' />"));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3177 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3178 |
// $("div.md-external-large").css('width', "700px")
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3179 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3180 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3181 |
// note: the footer is part of the GPLv3 legal information |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3182 |
// and may not be removed or hidden to comply with licensing conditions. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3183 |
function addFooter() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3184 |
var navbar = ''; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3185 |
navbar += '<hr><div class="scontainer">'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3186 |
navbar += '<div class="pull-right md-copyright-footer"> '; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3187 |
navbar += '<span id="md-footer-additional"></span>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3188 |
navbar += 'Website generated with <a href="http://www.mdwiki.info">MDwiki</a> '; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3189 |
navbar += '© Timo Dörr and contributors. '; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3190 |
navbar += '</div>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3191 |
navbar += '</div>'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3192 |
var $navbar = $(navbar); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3193 |
$navbar.css('position', 'relative');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3194 |
$navbar.css('margin-top', '1em');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3195 |
$('#md-all').append ($navbar);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3196 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3197 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3198 |
function addAdditionalFooterText () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3199 |
var text = $.md.config.additionalFooterText; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3200 |
if (text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3201 |
$('.md-copyright-footer #md-footer-additional').html(text);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3202 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3203 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3204 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3205 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3206 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3207 |
$.gimmicks = $.fn.gimmicks = function(method) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3208 |
if (method === undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3209 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3210 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3211 |
// call the gimmick |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3212 |
if ($.fn.gimmicks.methods[method]) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3213 |
return $.fn.gimmicks.methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3214 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3215 |
$.error('Gimmick ' + method + ' does not exist on jQuery.gimmicks');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3216 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3217 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3218 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3219 |
// TODO underscores _ in Markdown links are not allowed! bug in our MD imlemenation |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3220 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3221 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3222 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3223 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3224 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3225 |
//'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3226 |
var alertsGimmick = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3227 |
name: 'alerts', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3228 |
// TODO |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3229 |
//version: $.md.version, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3230 |
load: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3231 |
$.md.stage('bootstrap').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3232 |
createAlerts(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3233 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3234 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3235 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3236 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3237 |
$.md.registerGimmick(alertsGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3238 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3239 |
// takes a standard <img> tag and adds a hyperlink to the image source |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3240 |
// needed since we scale down images via css and want them to be accessible |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3241 |
// in original format |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3242 |
function createAlerts() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3243 |
var matches = $(select_paragraphs()); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3244 |
matches.each(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3245 |
var $p = $(this.p); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3246 |
var type = this.alertType; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3247 |
$p.addClass('alert');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3248 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3249 |
if (type === 'note') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3250 |
$p.addClass('alert-info');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3251 |
} else if (type === 'hint') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3252 |
$p.addClass('alert-success');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3253 |
} else if (type === 'warning') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3254 |
$p.addClass('alert-warning');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3255 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3256 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3257 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3258 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3259 |
// picks out the paragraphs that start with a trigger word |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3260 |
function select_paragraphs() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3261 |
var note = ['note', 'beachte' ]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3262 |
var warning = [ 'achtung', 'attention', 'warnung', 'warning', 'atención', 'guarda', 'advertimiento' ]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3263 |
var hint = ['hint', 'tipp', 'tip', 'hinweis']; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3264 |
var exp = note.concat(warning); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3265 |
exp = exp.concat(hint); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3266 |
var matches = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3267 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3268 |
$('p').filter (function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3269 |
var $par = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3270 |
// check against each expression |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3271 |
$(exp).each (function (i,trigger) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3272 |
var txt = $par.text().toLowerCase (); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3273 |
// we match only paragrachps in which the 'trigger' expression |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3274 |
// is follow by a ! or : |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3275 |
var re = new RegExp (trigger + '(:|!)+.*','i'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3276 |
var alertType = 'none'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3277 |
if (txt.match (re) !== null) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3278 |
if ($.inArray(trigger, note) >= 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3279 |
alertType = 'note'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3280 |
} else if ($.inArray(trigger, warning) >= 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3281 |
alertType = 'warning'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3282 |
} else if ($.inArray(trigger, hint) >= 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3283 |
alertType = 'hint'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3284 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3285 |
matches.push ({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3286 |
p: $par, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3287 |
alertType: alertType |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3288 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3289 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3290 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3291 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3292 |
return matches; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3293 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3294 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3295 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3296 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3297 |
// makes trouble, find out why |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3298 |
//'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3299 |
var colorboxGimmick = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3300 |
name: 'colorbox', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3301 |
load: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3302 |
$.md.stage('gimmick').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3303 |
$.gimmicks('colorbox');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3304 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3305 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3306 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3307 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3308 |
$.md.registerGimmick(colorboxGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3309 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3310 |
var methods = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3311 |
// takes a standard <img> tag and adds a hyperlink to the image source |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3312 |
// needed since we scale down images via css and want them to be accessible |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3313 |
// in original format |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3314 |
colorbox: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3315 |
var $image_groups; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3316 |
if (!(this instanceof jQuery)) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3317 |
// select the image groups of the page |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3318 |
$image_groups = $('.md-image-group');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3319 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3320 |
$image_groups = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3321 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3322 |
// operate on md-image-group, which holds one |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3323 |
// or more images that are to be colorbox'ed |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3324 |
var counter = 0; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3325 |
return $image_groups.each(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3326 |
var $this = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3327 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3328 |
// each group requires a unique name |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3329 |
var gal_group = 'gallery-group-' + (counter++); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3330 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3331 |
// create a hyperlink around the image |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3332 |
$this.find('a.md-image-selfref img')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3333 |
// filter out images that already are a hyperlink |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3334 |
// (so won't be part of the gallery) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3335 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3336 |
// apply colorbox on their parent anchors |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3337 |
.parents('a').colorbox({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3338 |
rel: gal_group, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3339 |
opacity: 0.75, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3340 |
slideshow: true, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3341 |
maxWidth: '95%', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3342 |
maxHeight: '95%', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3343 |
scalePhotos: true, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3344 |
photo: true, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3345 |
slideshowAuto: false |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3346 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3347 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3348 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3349 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3350 |
$.gimmicks.methods = $.extend({}, $.fn.gimmicks.methods, methods);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3351 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3352 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3353 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3354 |
'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3355 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3356 |
var themeChooserGimmick = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3357 |
name: 'Themes', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3358 |
version: $.md.version, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3359 |
once: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3360 |
$.md.linkGimmick(this, 'carousel', carousel); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3361 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3362 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3363 |
$.md.registerGimmick(themeChooserGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3364 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3365 |
function carousel($link, opt, href) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3366 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3367 |
var $c = $('<div id="myCarousel" class="carousel slide"></div>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3368 |
var $d = $('<div class="carousel-inner"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3369 |
$c.append('<ol class="carousel-indicators" />');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3370 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3371 |
var imageUrls = []; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3372 |
var i = 0; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3373 |
$.each(href.split(','), function(i, e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3374 |
imageUrls.push($.trim(e)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3375 |
$c.find('ol').append('<li data-target="#myCarousel" data-slide-to="' + i + '" class="active" /');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3376 |
var div; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3377 |
if (i === 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3378 |
div = ('<div class="active item"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3379 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3380 |
div = ('<div class="item"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3381 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3382 |
$d.append($(div).append('<img src="' + e + '"/>'));
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3383 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3384 |
$c.append($d); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3385 |
$c.append('<a class="carousel-control left" href="#myCarousel" data-slide="prev">‹</a>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3386 |
$c.append('<a class="carousel-control right" href="#myCarousel" data-slide="next">›</a>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3387 |
$link.replaceWith($c); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3388 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3389 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3390 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3391 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3392 |
var disqusGimmick = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3393 |
name: 'disqus', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3394 |
version: $.md.version, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3395 |
once: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3396 |
$.md.linkGimmick(this, 'disqus', disqus); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3397 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3398 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3399 |
$.md.registerGimmick(disqusGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3400 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3401 |
var alreadyDone = false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3402 |
var disqus = function($links, opt, text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3403 |
var default_options = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3404 |
identifier: '' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3405 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3406 |
var options = $.extend (default_options, opt); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3407 |
var disqus_div = $('<div id="disqus_thread" class="md-external md-external-noheight md-external-nowidth" >' + '<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a></div>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3408 |
disqus_div.css ('margin-top', '2em');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3409 |
return $links.each(function(i,link) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3410 |
if (alreadyDone === true) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3411 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3412 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3413 |
alreadyDone = true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3414 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3415 |
var $link = $(link); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3416 |
var disqus_shortname = $link.attr('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3417 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3418 |
if (disqus_shortname !== undefined && disqus_shortname.length > 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3419 |
// insert the div |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3420 |
$link.remove (); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3421 |
// since disqus need lot of height, always but it on the bottom of the page |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3422 |
$('#md-content').append(disqus_div);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3423 |
if ($('#disqus_thread').length > 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3424 |
(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3425 |
// all disqus_ variables are used by the script, they |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3426 |
// change the config behavious. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3427 |
// see: http://help.disqus.com/customer/portal/articles/472098-javascript-configuration-variables |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3428 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3429 |
// set to 1 if developing, or the site is password protected or not |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3430 |
// publicaly accessible |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3431 |
//var disqus_developer = 1; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3432 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3433 |
// by default, disqus will use the current url to determine a thread |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3434 |
// since we might have different parameters present, we remove them |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3435 |
// disqus_* vars HAVE TO BE IN GLOBAL SCOPE |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3436 |
var disqus_url = window.location.href; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3437 |
var disqus_identifier; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3438 |
if (options.identifier.length > 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3439 |
disqus_identifier = options.identifier; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3440 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3441 |
disqus_identifier = disqus_url; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3442 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3443 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3444 |
// dynamically load the disqus script |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3445 |
var dsq = document.createElement('script');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3446 |
dsq.type = 'text/javascript'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3447 |
dsq.async = true; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3448 |
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3449 |
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3450 |
})(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3451 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3452 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3453 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3454 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3455 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3456 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3457 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3458 |
var language = window.navigator.userLanguage || window.navigator.language; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3459 |
var code = language + "_" + language.toUpperCase(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3460 |
var fbRootDiv = $('<div id="fb-root" />');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3461 |
var fbScriptHref = $.md.prepareLink ('connect.facebook.net/' + code + '/all.js#xfbml=1', { forceHTTP: true });
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3462 |
var fbscript ='(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "' + fbScriptHref + '"; fjs.parentNode.insertBefore(js, fjs);}(document, "script", "facebook-jssdk"));';
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3463 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3464 |
var facebookLikeGimmick = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3465 |
name: 'FacebookLike', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3466 |
version: $.md.version, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3467 |
once: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3468 |
$.md.linkGimmick(this, 'facebooklike', facebooklike); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3469 |
$.md.registerScript(this, fbscript, {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3470 |
license: 'APACHE2', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3471 |
loadstage: 'postgimmick', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3472 |
finishstage: 'all_ready' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3473 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3474 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3475 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3476 |
$.md.registerGimmick(facebookLikeGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3477 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3478 |
function facebooklike($link, opt, text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3479 |
var default_options = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3480 |
layout: 'standard', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3481 |
showfaces: true |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3482 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3483 |
var options = $.extend ({}, default_options, opt);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3484 |
// Due to a bug, we can have underscores _ in a markdown link |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3485 |
// so we insert the underscores needed by facebook here |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3486 |
if (options.layout === 'boxcount') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3487 |
options.layout = 'box_count'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3488 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3489 |
if (options.layout === 'buttoncount') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3490 |
options.layout = 'button_count'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3491 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3492 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3493 |
return $link.each(function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3494 |
var $this = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3495 |
var href = $this.attr('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3496 |
$('body').append(fbRootDiv);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3497 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3498 |
var $fb_div = $('<div class="fb-like" data-send="false" data-width="450"></div>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3499 |
$fb_div.attr ('data-href', href);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3500 |
$fb_div.attr ('data-layout', options.layout);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3501 |
$fb_div.attr ('data-show-faces', options.showfaces);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3502 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3503 |
$this.replaceWith ($fb_div); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3504 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3505 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3506 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3507 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3508 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3509 |
'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3510 |
var forkmeongithubGimmick = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3511 |
name: 'forkmeongithub', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3512 |
version: $.md.version, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3513 |
once: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3514 |
$.md.linkGimmick(this, 'forkmeongithub', forkmeongithub); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3515 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3516 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3517 |
$.md.registerGimmick(forkmeongithubGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3518 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3519 |
function forkmeongithub($links, opt, text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3520 |
return $links.each (function (i, link){
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3521 |
var $link = $(link); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3522 |
// default options |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3523 |
var default_options = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3524 |
color: 'red', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3525 |
position : 'right' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3526 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3527 |
var options = $.extend ({}, default_options, opt);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3528 |
var color = options.color; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3529 |
var pos = options.position; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3530 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3531 |
// the filename for the ribbon |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3532 |
// see: https://github.com/blog/273-github-ribbons |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3533 |
var base_href = 'https://s3.amazonaws.com/github/ribbons/forkme_'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3534 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3535 |
if (color === 'red') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3536 |
base_href += pos + '_red_aa0000.png'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3537 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3538 |
if (color === 'green') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3539 |
base_href += pos + '_green_007200.png'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3540 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3541 |
if (color === 'darkblue') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3542 |
base_href += pos + '_darkblue_121621.png'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3543 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3544 |
if (color === 'orange') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3545 |
base_href += pos + '_orange_ff7600.png'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3546 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3547 |
if (color === 'white') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3548 |
base_href += pos + '_white_ffffff.png'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3549 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3550 |
if (color === 'gray') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3551 |
base_href += pos + '_gray_6d6d6d.png'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3552 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3553 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3554 |
var href = $link.attr('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3555 |
// var body_pos_top = $('#md-body').offset ().top;
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3556 |
var body_pos_top = 0; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3557 |
var github_link = $('<a class="forkmeongithub" href="'+ href +'"><img style="position: absolute; top: ' + body_pos_top + ';'+pos+': 0; border: 0;" src="'+base_href+'" alt="Fork me on GitHub"></a>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3558 |
// to avoid interfering with other div / scripts, we remove the link and prepend it to the body |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3559 |
// the fork me ribbon is positioned absolute anyways |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3560 |
$('body').prepend (github_link);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3561 |
github_link.find('img').css ('z-index', '2000');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3562 |
$link.remove(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3563 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3564 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3565 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3566 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3567 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3568 |
(function($){
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3569 |
'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3570 |
var gistGimmick = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3571 |
name: 'gist', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3572 |
once: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3573 |
$.md.linkGimmick(this, 'gist', gist); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3574 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3575 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3576 |
$.md.registerGimmick(gistGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3577 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3578 |
function gist($links, opt, href) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3579 |
$().lazygist('init');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3580 |
return $links.each(function(i,link) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3581 |
var $link = $(link); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3582 |
var gistDiv = $('<div class="gist_here" data-id="' + href + '" />');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3583 |
$link.replaceWith(gistDiv); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3584 |
gistDiv.lazygist({
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3585 |
// we dont want a specific file so modify the url template |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3586 |
url_template: 'https://gist.github.com/{id}.js?'
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3587 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3588 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3589 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3590 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3591 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3592 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3593 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3594 |
* Lazygist v0.2pre |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3595 |
* |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3596 |
* a jQuery plugin that will lazy load your gists. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3597 |
* |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3598 |
* since jQuery 1.7.2 |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3599 |
* https://github.com/tammo/jquery-lazy-gist |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3600 |
* |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3601 |
* Copyright, Tammo Pape |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3602 |
* http://tammopape.de |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3603 |
* |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3604 |
* Licensed under the MIT license. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3605 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3606 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3607 |
(function( $, window, document, undefined ){
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3608 |
"use strict"; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3609 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3610 |
// |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3611 |
// note: |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3612 |
// this plugin is not stateful |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3613 |
// and will not communicate with own instances at different elements |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3614 |
// |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3615 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3616 |
var pluginName = "lazygist", |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3617 |
version = "0.2pre", |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3618 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3619 |
defaults = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3620 |
// adding the ?file parameter to choose a file |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3621 |
'url_template': 'https://gist.github.com/{id}.js?file={file}',
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3622 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3623 |
// if these are strings, the attributes will be read from the element |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3624 |
'id': 'data-id', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3625 |
'file': 'data-file' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3626 |
}, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3627 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3628 |
options, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3629 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3630 |
// will be replaced |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3631 |
/*jshint -W060 */ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3632 |
originwrite = document.write, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3633 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3634 |
// stylesheet urls found in document.write calls |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3635 |
// they are cached to write them once to the document, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3636 |
// not three times for three gists |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3637 |
stylesheets = [], |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3638 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3639 |
// cache gist-ids to know which are already appended to the dom |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3640 |
ids_dom = [], |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3641 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3642 |
// remember gist-ids if their javascript is already loaded |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3643 |
ids_ajax = [], |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3644 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3645 |
methods = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3646 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3647 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3648 |
* Standard init function |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3649 |
* No magic here |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3650 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3651 |
init : function( options_input ){
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3652 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3653 |
// default options are default |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3654 |
options = $.extend({}, defaults, options_input);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3655 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3656 |
// can be reset |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3657 |
/*jshint -W061 */ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3658 |
document.write = _write; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3659 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3660 |
$.each(options, function(index, value) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3661 |
if(typeof value !== 'string') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3662 |
throw new TypeError(value + ' (' + (typeof value) + ') is not a string');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3663 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3664 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3665 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3666 |
return this.lazygist('load');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3667 |
}, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3668 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3669 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3670 |
* Load the gists |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3671 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3672 |
load : function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3673 |
// (1) iterate over gist anchors |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3674 |
// (2) append the gist-html through the new document.write func (see _write) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3675 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3676 |
// (1) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3677 |
return this.filter('[' + options.id + ']').each(function(){
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3678 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3679 |
var id = $(this).attr(options.id), |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3680 |
file = $(this).attr(options.file), |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3681 |
src; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3682 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3683 |
if( id !== undefined ) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3684 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3685 |
if( $.inArray(id, ids_ajax) !== -1 ) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3686 |
// just do nothin, if gist is already ajaxed |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3687 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3688 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3689 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3690 |
ids_ajax.push(id); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3691 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3692 |
src = options.url_template.replace(/\{id\}/g, id).replace(/\{file\}/g, file);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3693 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3694 |
// (2) this will trigger our _write function |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3695 |
$.getScript(src, function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3696 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3697 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3698 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3699 |
}, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3700 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3701 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3702 |
* Just reset the write function |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3703 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3704 |
reset_write: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3705 |
document.write = originwrite; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3706 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3707 |
return this; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3708 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3709 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3710 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3711 |
/** |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3712 |
* private special document.write function |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3713 |
* |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3714 |
* Filters the css file from github.com to add it to the head - once - |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3715 |
* |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3716 |
* It has a fallback to keep flexibility with other scripts as high as possible |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3717 |
* (create a ticket if it messes things up!) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3718 |
* |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3719 |
* Keep in mind, that a call to this function happens after |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3720 |
* an ajax call by jQuery. One *cannot* know which gist-anchor |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3721 |
* to use. You can only read the id from the content. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3722 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3723 |
function _write( content ) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3724 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3725 |
var expression, // for regexp results |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3726 |
href, // from the url |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3727 |
id; // from the content |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3728 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3729 |
if( content.indexOf( 'rel="stylesheet"' ) !== -1 ) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3730 |
href = $(content).attr('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3731 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3732 |
// check if stylesheet is already inserted |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3733 |
if ( $.inArray(href, stylesheets) === -1 ) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3734 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3735 |
$('head').append(content);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3736 |
stylesheets.push(href); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3737 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3738 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3739 |
} else if( content.indexOf( 'id="gist' ) !== -1 ) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3740 |
expression = /gist([\d]{1,})/g.exec(content);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3741 |
id = expression[1]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3742 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3743 |
if( id !== undefined ) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3744 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3745 |
// test if id is already loaded |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3746 |
if( $.inArray(id, ids_dom) !== -1 ) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3747 |
// just do nothin, if gist is already attached to the dom |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3748 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3749 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3750 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3751 |
ids_dom.push(id); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3752 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3753 |
$('.gist_here[data-id=' + id + ']').append(content);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3754 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3755 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3756 |
// this is a fallback for interoperability |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3757 |
originwrite.apply( document, arguments ); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3758 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3759 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3760 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3761 |
// method invocation - from jQuery.com |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3762 |
$.fn[pluginName] = function( method ) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3763 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3764 |
if ( methods[method] ) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3765 |
return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 )); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3766 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3767 |
} else if ( typeof method === 'object' || ! method ) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3768 |
return methods.init.apply( this, arguments ); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3769 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3770 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3771 |
$.error( 'Method ' + method + ' does not exist on jQuery.lazygist' ); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3772 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3773 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3774 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3775 |
// expose version for your interest |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3776 |
$.fn[pluginName].version = version; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3777 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3778 |
})(jQuery, window, document); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3779 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3780 |
// ugly, but the google loader requires the callback fn |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3781 |
// to be in the global scope |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3782 |
var googlemapsLoadDone; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3783 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3784 |
function googlemapsReady() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3785 |
googlemapsLoadDone.resolve(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3786 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3787 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3788 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3789 |
//'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3790 |
var scripturl = 'http://maps.google.com/maps/api/js?sensor=false&callback=googlemapsReady'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3791 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3792 |
function googlemaps($links, opt, text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3793 |
var $maps_links = $links; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3794 |
var counter = (new Date()).getTime (); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3795 |
return $maps_links.each(function(i,e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3796 |
var $link = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3797 |
var default_options = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3798 |
zoom: 11, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3799 |
marker: true, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3800 |
scrollwheel: false, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3801 |
maptype: 'roadmap' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3802 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3803 |
var options = $.extend({}, default_options, opt);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3804 |
if (options.address === undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3805 |
options.address = $link.attr ('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3806 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3807 |
var div_id = 'google-map-' + Math.floor (Math.random() * 100000); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3808 |
var $mapsdiv = $('<div class="md-external md-external-nowidth" id="' + div_id + '"/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3809 |
/* TODO height & width must be set AFTER the theme script went through |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3810 |
implement an on event, maybe? |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3811 |
if (options["width"] !== undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3812 |
$mapsdiv.css('width', options["width"] + "px");
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3813 |
options["width"] = null; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3814 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3815 |
if (options["height"] !== undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3816 |
$mapsdiv.css('height', options["height"] + "px");
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3817 |
options["height"] = null; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3818 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3819 |
*/ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3820 |
$link.replaceWith ($mapsdiv); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3821 |
// the div is already put into the site and will be formated, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3822 |
// we can now run async |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3823 |
set_map (options, div_id); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3824 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3825 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3826 |
function set_map(opt, div_id) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3827 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3828 |
// google uses rather complicated mapnames, we transform our simple ones |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3829 |
var mt = opt.maptype.toUpperCase (); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3830 |
opt.mapTypeId = google.maps.MapTypeId[mt]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3831 |
var geocoder = new google.maps.Geocoder (); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3832 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3833 |
// geocode performs address to coordinate transformation |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3834 |
geocoder.geocode ({ address: opt.address }, function (result, status) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3835 |
if (status !== 'OK') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3836 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3837 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3838 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3839 |
// add the retrieved coords to the options object |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3840 |
var coords = result[0].geometry.location; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3841 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3842 |
var options = $.extend({}, opt, { center: coords });
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3843 |
var gmap = new google.maps.Map(document.getElementById(div_id), options); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3844 |
if (options.marker === true) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3845 |
var marker = new google.maps.Marker ({ position: coords, map : gmap});
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3846 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3847 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3848 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3849 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3850 |
var googleMapsGimmick = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3851 |
name: 'googlemaps', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3852 |
version: $.md.version, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3853 |
once: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3854 |
googlemapsLoadDone = $.Deferred(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3855 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3856 |
// register the gimmick:googlemaps identifier |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3857 |
$.md.linkGimmick(this, 'googlemaps', googlemaps); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3858 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3859 |
// load the googlemaps js from the google server |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3860 |
$.md.registerScript(this, scripturl, {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3861 |
license: 'EXCEPTION', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3862 |
loadstage: 'skel_ready', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3863 |
finishstage: 'bootstrap' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3864 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3865 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3866 |
$.md.stage('bootstrap').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3867 |
// defer the pregimmick phase until the google script fully loaded |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3868 |
if ($.md.triggerIsActive('googlemaps')) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3869 |
googlemapsLoadDone.done(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3870 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3871 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3872 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3873 |
// immediately return as there will never a load success |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3874 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3875 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3876 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3877 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3878 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3879 |
$.md.registerGimmick(googleMapsGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3880 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3881 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3882 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3883 |
var highlightGimmick = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3884 |
name: 'highlight', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3885 |
load: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3886 |
$.md.stage('gimmick').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3887 |
highlight(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3888 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3889 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3890 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3891 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3892 |
$.md.registerGimmick(highlightGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3893 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3894 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3895 |
function highlight () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3896 |
// marked adds lang-ruby, lang-csharp etc to the <code> block like in GFM |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3897 |
var $codeblocks = $('pre code[class^=lang-]');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3898 |
return $codeblocks.each(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3899 |
var $this = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3900 |
var classes = $this.attr('class');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3901 |
// TODO check for other classes and only find the lang- one |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3902 |
// highlight doesnt want a lang- prefix |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3903 |
var lang = classes.substring(5); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3904 |
$this.removeClass(classes); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3905 |
$this.addClass(lang); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3906 |
var x = hljs.highlightBlock($this[0]); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3907 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3908 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3909 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3910 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3911 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3912 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3913 |
'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3914 |
var iframeGimmick= {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3915 |
name: 'forkmeongithub', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3916 |
version: $.md.version, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3917 |
once: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3918 |
$.md.linkGimmick(this, 'iframe', create_iframe); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3919 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3920 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3921 |
$.md.registerGimmick(iframeGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3922 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3923 |
function create_iframe($links, opt, text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3924 |
return $links.each (function (i, link){
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3925 |
var $link = $(link); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3926 |
var href = $link.attr('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3927 |
var $iframe = $('<iframe class="col-md-12" style="border: 0px solid red; height: 650px;"></iframe>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3928 |
$iframe.attr('src', href);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3929 |
$link.replaceWith($iframe); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3930 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3931 |
if (opt.width) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3932 |
$iframe.css('width', opt.width);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3933 |
if (opt.height) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3934 |
$iframe.css('height', opt.height);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3935 |
else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3936 |
var updateSizeFn = function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3937 |
var offset = $iframe.offset(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3938 |
var winHeight = $(window).height(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3939 |
var newHeight = winHeight - offset.top - 5; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3940 |
$iframe.height(newHeight); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3941 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3942 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3943 |
$iframe.load(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3944 |
updateSizeFn(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3945 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3946 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3947 |
$(window).resize(function () {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3948 |
updateSizeFn(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3949 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3950 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3951 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3952 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3953 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3954 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3955 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3956 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3957 |
var mathGimmick = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3958 |
name: 'math', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3959 |
once: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3960 |
$.md.linkGimmick(this, 'math', load_mathjax); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3961 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3962 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3963 |
$.md.registerGimmick(mathGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3964 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3965 |
function load_mathjax($links, opt, ref) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3966 |
$links.remove(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3967 |
var script = document.createElement('script');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3968 |
script.type = 'text/javascript'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3969 |
script.src = $.md.prepareLink('cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML', { forceHTTP: true });
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3970 |
document.getElementsByTagName('head')[0].appendChild(script);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3971 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3972 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3973 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3974 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3975 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3976 |
'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3977 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3978 |
var themes = [ |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3979 |
{ name: 'bootstrap', url: 'netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css' },
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3980 |
{ name: 'amelia', url: 'netdna.bootstrapcdn.com/bootswatch/3.0.0/amelia/bootstrap.min.css' },
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3981 |
{ name: 'cerulean', url: 'netdna.bootstrapcdn.com/bootswatch/3.0.0/cerulean/bootstrap.min.css' },
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3982 |
{ name: 'cosmo', url: 'netdna.bootstrapcdn.com/bootswatch/3.0.0/cosmo/bootstrap.min.css' },
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3983 |
{ name: 'cyborg', url: 'netdna.bootstrapcdn.com/bootswatch/3.0.0/cyborg/bootstrap.min.css' },
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3984 |
{ name: 'flatly', url: 'netdna.bootstrapcdn.com/bootswatch/3.0.0/flatly/bootstrap.min.css' },
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3985 |
{ name: 'journal', url: 'netdna.bootstrapcdn.com/bootswatch/3.0.0/journal/bootstrap.min.css' },
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3986 |
{ name: 'readable', url: 'netdna.bootstrapcdn.com/bootswatch/3.0.0/readable/bootstrap.min.css' },
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3987 |
{ name: 'simplex', url: 'netdna.bootstrapcdn.com/bootswatch/3.0.0/simplex/bootstrap.min.css' },
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3988 |
{ name: 'slate', url: 'netdna.bootstrapcdn.com/bootswatch/3.0.0/slate/bootstrap.min.css' },
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3989 |
{ name: 'spacelab', url: 'netdna.bootstrapcdn.com/bootswatch/3.0.0/spacelab/bootstrap.min.css' },
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3990 |
{ name: 'united', url: 'netdna.bootstrapcdn.com/bootswatch/3.0.0/united/bootstrap.min.css' },
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3991 |
{ name: 'yeti', url: 'netdna.bootstrapcdn.com/bootswatch/3.0.2/yeti/bootstrap.min.css' }
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3992 |
]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3993 |
var themeChooserGimmick = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3994 |
name: 'Themes', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3995 |
version: $.md.version, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3996 |
once: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3997 |
$.md.linkGimmick(this, 'themechooser', themechooser, 'skel_ready'); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3998 |
$.md.linkGimmick(this, 'theme', apply_theme); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
3999 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4000 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4001 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4002 |
$.md.registerGimmick(themeChooserGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4003 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4004 |
var log = $.md.getLogger(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4005 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4006 |
var set_theme = function(theme) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4007 |
theme.inverse = theme.inverse || false; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4008 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4009 |
if (theme.url === undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4010 |
if (!theme.name) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4011 |
log.error('Theme name must be given!');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4012 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4013 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4014 |
var saved_theme = themes.filter(function(t) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4015 |
return t.name === theme.name; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4016 |
})[0]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4017 |
if (!saved_theme) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4018 |
log.error('Theme ' + name + ' not found, removing link') ;
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4019 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4020 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4021 |
theme = $.extend(theme, saved_theme); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4022 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4023 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4024 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4025 |
$('link[rel=stylesheet][href*="netdna.bootstrapcdn.com"]')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4026 |
.remove(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4027 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4028 |
// slim instance has no bootstrap hardcoded in |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4029 |
var has_default_bootstrap_css = $('style[id*=bootstrap]').length > 0;
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4030 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4031 |
if (theme.name !== 'bootstrap' || !has_default_bootstrap_css) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4032 |
// in devel & fat version the style is inlined, remove it |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4033 |
$('style[id*=bootstrap]').remove();
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4034 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4035 |
$('<link rel="stylesheet" type="text/css">')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4036 |
.attr('href', $.md.prepareLink(theme.url))
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4037 |
.appendTo('head');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4038 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4039 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4040 |
if (theme.inverse === true) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4041 |
$('#md-main-navbar').removeClass ('navbar-default');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4042 |
$('#md-main-navbar').addClass ('navbar-inverse');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4043 |
} else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4044 |
$('#md-main-navbar').addClass ('navbar-default');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4045 |
$('#md-main-navbar').removeClass ('navbar-inverse');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4046 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4047 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4048 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4049 |
var apply_theme = function($links, opt, text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4050 |
opt.name = opt.name || text; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4051 |
$links.each(function(i, link) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4052 |
$.md.stage('postgimmick').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4053 |
var $link = $(link); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4054 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4055 |
// only set a theme if no theme from the choser is selected |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4056 |
if (window.localStorage.theme === undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4057 |
set_theme(opt); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4058 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4059 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4060 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4061 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4062 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4063 |
$links.remove(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4064 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4065 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4066 |
var themechooser = function($links, opt, text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4067 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4068 |
$.md.stage('bootstrap').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4069 |
restore_theme(opt); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4070 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4071 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4072 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4073 |
return $links.each(function(i, e) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4074 |
var $this = $(e); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4075 |
var $chooser = $('<a href=""></a><ul></ul>'
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4076 |
); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4077 |
$chooser.eq(0).text(text); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4078 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4079 |
$.each(themes, function(i, theme) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4080 |
var $li = $('<li></li>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4081 |
$chooser.eq(1).append($li); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4082 |
var $a = $('<a/>')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4083 |
.text(theme.name) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4084 |
.attr('href', '')
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4085 |
.click(function(ev) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4086 |
ev.preventDefault(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4087 |
window.localStorage.theme = theme.name; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4088 |
window.location.reload(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4089 |
}) |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4090 |
.appendTo($li); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4091 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4092 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4093 |
$chooser.eq(1).append('<li class="divider" />');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4094 |
var $li = $('<li/>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4095 |
var $a_use_default = $('<a>Use default</a>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4096 |
$a_use_default.click(function(ev) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4097 |
ev.preventDefault(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4098 |
window.localStorage.removeItem('theme');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4099 |
window.location.reload(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4100 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4101 |
$li.append($a_use_default); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4102 |
$chooser.eq(1).append($li); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4103 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4104 |
$chooser.eq(1).append('<li class="divider" />');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4105 |
$chooser.eq(1).append('<li><a href="http://www.bootswatch.com">Powered by Bootswatch</a></li>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4106 |
$this.replaceWith($chooser); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4107 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4108 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4109 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4110 |
var restore_theme = function(opt) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4111 |
if (window.localStorage.theme) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4112 |
opt = $.extend({ name: window.localStorage.theme }, opt);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4113 |
set_theme(opt); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4114 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4115 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4116 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4117 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4118 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4119 |
//'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4120 |
// no license information given in the widget.js -> OTHER |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4121 |
var widgetHref = $.md.prepareLink('platform.twitter.com/widgets.js');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4122 |
var twitterscript = '!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="' + widgetHref + '";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");';
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4123 |
var twitterGimmick = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4124 |
name: 'TwitterGimmick', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4125 |
version: $.md.version, |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4126 |
once: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4127 |
$.md.linkGimmick(this, 'twitterfollow', twitterfollow); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4128 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4129 |
$.md.registerScript(this, twitterscript, {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4130 |
license: 'EXCEPTION', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4131 |
loadstage: 'postgimmick', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4132 |
finishstage: 'all_ready' |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4133 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4134 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4135 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4136 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4137 |
$.md.registerGimmick(twitterGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4138 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4139 |
var twitterfollow = function($links, opt, text) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4140 |
return $links.each(function(i, link) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4141 |
var $link = $(link); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4142 |
var user; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4143 |
var href = $link.attr('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4144 |
if (href.indexOf ('twitter.com') <= 0) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4145 |
user = $link.attr('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4146 |
href = $.md.prepareLink('twitter.com/' + user);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4147 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4148 |
else {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4149 |
return; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4150 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4151 |
// remove the leading @ if given |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4152 |
if (user[0] === '@') {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4153 |
user = user.substring(1); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4154 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4155 |
var twitter_src = $('<a href="' + href + '" class="twitter-follow-button" data-show-count="false" data-lang="en" data-show-screen-name="false">'+ '@' + user + '</a>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4156 |
$link.replaceWith (twitter_src); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4157 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4158 |
}; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4159 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4160 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4161 |
(function($) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4162 |
//'use strict'; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4163 |
var youtubeGimmick = {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4164 |
name: 'youtube', |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4165 |
load: function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4166 |
$.md.stage('gimmick').subscribe(function(done) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4167 |
youtubeLinkToIframe(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4168 |
done(); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4169 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4170 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4171 |
} ; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4172 |
$.md.registerGimmick(youtubeGimmick); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4173 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4174 |
function youtubeLinkToIframe() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4175 |
var $youtube_links = $('a[href*=youtube\\.com]:empty, a[href*=youtu\\.be]:empty');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4176 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4177 |
$youtube_links.each(function() {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4178 |
var $this = $(this); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4179 |
var href = $this.attr('href');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4180 |
if (href !== undefined) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4181 |
// extract the v parameter from youtube |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4182 |
var exp = /.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=)([^#\&\?]*).*/; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4183 |
var m = href.match(exp); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4184 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4185 |
if (m && m[1].length === 11) {
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4186 |
// insert the iframe |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4187 |
var short_handle = m[1]; |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4188 |
var frame = $('<iframe class="md-external" frameborder="0" allowfullscreen></iframe>');
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4189 |
frame.attr('src', 'http://youtube.com/embed/' + short_handle);
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4190 |
// remove the a tag |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4191 |
$this.replaceWith(frame); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4192 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4193 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4194 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4195 |
}); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4196 |
} |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4197 |
}(jQuery)); |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4198 |
</script> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4199 |
<!-- END dist/MDwiki.js --> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4200 |
<script type="text/javascript">$.md.logThreshold = $.md.loglevel.DEBUG;</script> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4201 |
</head> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4202 |
<body> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4203 |
<noscript> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4204 |
This website requires Javascript to be enabled. Please turn on Javascript |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4205 |
and reload the page. |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4206 |
</noscript> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4207 |
|
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4208 |
<div id="md-all"> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4209 |
</div> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4210 |
</body> |
|
1b2dffb4ac2b
add wiki (wikimd)
Nicolas Sauret <nicolas.sauret@iri.centrepompidou.fr>
parents:
diff
changeset
|
4211 |
</html> |