Compare commits

..

213 Commits

Author SHA1 Message Date
Corey Donohoe d817a4fdb6 fixup page versioning, fixes #174
Thanks @nealpoole and @arr2036
2012-05-06 13:30:23 -07:00
Corey Donohoe 19635b06cf gemspec updates 2012-05-06 12:08:25 -07:00
Corey Donohoe 872776660b next version will be 2.0 2012-05-06 12:08:12 -07:00
Corey Donohoe 9644d4b00e dupe sanitization attrs initialized by constants, fixes #200 2012-05-06 12:07:41 -07:00
Corey Donohoe 9a1dddaccf whitelist apt uri schemes, fixes #233 2012-05-05 11:56:01 -07:00
Corey Donohoe 4110ab5a82 Merge pull request #308 from bootstraponline/title
Title defined by filename only.
2012-05-04 15:35:32 -07:00
Corey Donohoe 5d1844e491 Merge pull request #313 from kristi/frontend-tweak
Fix searchbar scaling issue
2012-05-04 09:44:23 -07:00
kristi 6a126d46ee Fix searchbar scaling issue 2012-05-04 09:35:27 -07:00
kristi f834a0c84f searchbar fix for ie9 2012-05-04 09:24:20 -07:00
Corey Donohoe 9dfeb237e7 Merge pull request #312 from kristi/frontend-tweak
searchbar fix for ie9
2012-05-04 09:21:45 -07:00
Corey Donohoe b769ba2974 Merge pull request #310 from kristi/frontend-tweak
Frontend tweaks
2012-05-04 08:32:17 -07:00
Corey Donohoe fc1feb280f let's use 0.8.0 if at all 2012-05-04 08:25:01 -07:00
Corey Donohoe bface83af7 Merge pull request #309 from nricciar/master
Gollum using very old version of wikicloth
2012-05-04 08:24:14 -07:00
Vicent Martí 2bea800a37 Proper ordering for markup processing, fixes #135
Code blocks get extracted first.
2012-05-02 18:53:41 -07:00
kristi 4c1ff7deb7 fixup the compare revisions page 2012-05-02 16:55:16 -07:00
kristi 5a7cb129bb Fixup css styling for pages, editor, history 2012-05-02 15:52:15 -07:00
kristi b29d22e99b Make navbar flow nicely for narrow windows 2012-05-02 13:51:26 -07:00
David 12cf102543 removing hardcoded reference to old version of wikicloth 2012-05-02 20:45:46 +00:00
kristi 3d95730880 Fix navbar and searchbar css 2012-05-02 13:00:46 -07:00
bootstraponline c5d807dd58 Fix tests. 2012-05-02 12:13:18 -06:00
bootstraponline d40df79dce Title defined by filename only. 2012-05-02 12:05:57 -06:00
Corey Donohoe 3cfa297b49 hide the page title as before 2012-05-02 19:29:17 +02:00
Corey Donohoe e435769345 remove executable bit 2012-05-02 19:20:57 +02:00
bootstraponline 9a73877b3e Fix search bar and restore title. 2012-05-02 11:03:37 -06:00
Corey Donohoe e2cd8d93f4 Merge pull request #306 from pdeschen/master
README Installation requirements sub section for mathematical equations support
2012-05-01 16:33:51 -07:00
Corey Donohoe afc6ec468f bit of testing info 2012-05-02 01:33:15 +02:00
Corey Donohoe 391838cfc3 no more rbx 2012-05-02 01:25:52 +02:00
Corey Donohoe 36a11ded4f Merge pull request #304 from rwfowler/asciidocLinksWithTravis
Disable internal link processing for asciidoc
2012-05-01 16:10:51 -07:00
Corey Donohoe f540ef2e06 Merge pull request #305 from rwfowler/goForGreen
Fix the test_normalizes_commit_hash on Travis-CI
2012-05-01 16:04:39 -07:00
Corey Donohoe b061e0f859 2.0 is unnecessary 2012-05-02 00:49:44 +02:00
Corey Donohoe 4972fbbc7b this doesn't build on 1.9.x /cc @brianmario 2012-05-02 00:44:17 +02:00
Pascal Deschenes 1f318de812 add missing note about dvips in installation requirements sub section + associated section text 2012-05-01 18:15:01 -04:00
Pascal Deschenes 0ceeadd75b add installation requirements regarding mathematical equations support 2012-05-01 18:10:21 -04:00
Ryan Fowler b9dad32707 Fix the test_normalizes_commit_hash on Travis-CI 2012-05-01 17:02:50 -05:00
Ryan Fowler d1cf698b45 Disable internal link processing for asciidoc
asciidoc's representation of section identifiers interferes with
Gollum's page linking. This disables Gollum's page link tag
extraction for asciidoc files.

Adds "apt-get install -y asciidoc" to .travis.yml so tests pass
on @travis-ci.
2012-05-01 14:23:26 -05:00
Corey Donohoe 9dba3f9c58 Revert "Merge pull request #303 from rwfowler/asciidocLinks"
This reverts commit 8fbbe40300, reversing
changes made to b7fb4c5950.
2012-05-01 19:51:05 +02:00
Corey Donohoe 8fbbe40300 Merge pull request #303 from rwfowler/asciidocLinks
Fix for #52 - Disable internal link processing for asciidoc
2012-05-01 10:42:31 -07:00
Ryan Fowler f73c925ad9 Disable internal link processing for asciidoc
asciidoc's representation of section identifiers interferes with
Gollum's page linking. This disables Gollum's page link tag
extraction for asciidoc files.
2012-05-01 11:43:27 -05:00
Corey Donohoe b7fb4c5950 Merge pull request #302 from kristi/master
fix Rack config.ru documentation
2012-05-01 02:32:07 -07:00
kristi fed49bb98b Fix gollum_path in rack setup documentation 2012-05-01 01:37:17 -07:00
Vicent Martí 6aa4e382b2 Tag 1.4.3 2012-04-25 14:12:54 -07:00
Vicent Martí 8051d4f9b0 Fix the public path 2012-04-25 14:11:02 -07:00
Vicent Martí 31a49601b1 Namespace the public assets 2012-04-25 14:11:02 -07:00
Corey Donohoe 4a50635fe1 docs for releasing the gem 2012-04-25 20:52:40 +02:00
Vicent Martí 9b92e9d325 Add Gollum.assets_path hook 2012-04-25 11:46:28 -07:00
Corey Donohoe 833953d658 bump to 1.4.2 2012-04-25 20:44:16 +02:00
Corey Donohoe 198dc8a8e2 Merge remote-tracking branch 'jussimalinen/fix-rest-local-links' 2012-04-25 17:00:56 +02:00
Vicent Martí 78cd65240f Tag 1.4.1 2012-04-24 20:42:33 -07:00
Jussi Malinen 02073f827b add id to whitelisted attributes. The transformers still seem to work and prefix ids with wiki-. Uncommented relevant tests. 2012-04-23 20:08:24 +03:00
Corey Donohoe 4cd3fdcdba fixup readme error, fixes #294 2012-04-16 15:41:11 -07:00
Corey Donohoe 7c803288e0 update org-ruby dev dep 2012-04-14 14:10:29 -07:00
Corey Donohoe dc91e0f733 Merge remote-tracking branch 'origin/sane-parsing' 2012-04-12 14:07:08 -07:00
Vicent Martí adc3abe82a Update README 2012-04-12 22:59:44 +02:00
bootstraponline 00b6f5c3fb Add desc to tasks so they show up in rake -T. 2012-04-12 13:58:57 -07:00
Vicent Martí b5a2a8df67 Keep a MarkupGFM class for compatibility reasons 2012-04-12 22:54:45 +02:00
Vicent Martí 0cc4c9f2c2 Remove the GFM parser; it makes no sense
The new versions of GitHub::Markup will automatically render GFM for
Markdown documents if the necessary gems are installed.
2012-04-12 22:54:11 +02:00
Vicent Martí 7317a9ba2d Allow indented code blocks in Gollum syntax 2012-04-12 22:52:08 +02:00
Corey Donohoe d6a4009989 nuke whitespace 2012-04-10 18:38:04 -07:00
Corey Donohoe 8ee52e7d05 cleanup whitespace 2012-04-10 18:26:13 -07:00
Corey Donohoe b9a970a19a minor css fixups from github's internal copy 2012-04-10 18:25:09 -07:00
Corey Donohoe bee93eade1 release 1.4.0 2012-04-10 18:15:39 -07:00
Corey Donohoe 5d157eea54 update what changed in this release 2012-04-10 18:15:00 -07:00
Corey Donohoe 28b494c913 Merge remote-tracking branch 'andrew0/editor_hooks' 2012-04-10 17:50:02 -07:00
Corey Donohoe 817f189154 be a little more rubyish 2012-04-10 17:40:47 -07:00
Corey Donohoe 0bfa049778 Merge remote-tracking branch 'origin/master' into websequencediagrams
Conflicts:
	README.md
	lib/gollum.rb
	lib/gollum/markup.rb
2012-04-10 17:37:48 -07:00
Corey Donohoe 8745314ad8 Merge pull request #281 from muzuiget/master
Fix searchbar position and button appearance
2012-04-10 17:11:19 -07:00
Corey Donohoe 846d6d62c7 Merge pull request #257 from hulihanapplications/default-editor-markup
Make default markup changeable through sinatra settings
2012-04-10 17:10:12 -07:00
Corey Donohoe c625440161 Merge pull request #249 from ChrisCauser/master
Fix spaces in filenames breaking redirect with Sinatra 1.3.1
2012-04-10 16:10:02 -07:00
Corey Donohoe aa544f03fb Merge pull request #166 from arr2036/mediawiki_compat
Gollum doesn't play nice with un-canonicalized filenames, and breaks offsite links when replacing mediawiki
2012-04-10 16:04:09 -07:00
bootstraponline 8d42c06fb0 Remove MathJax. 2012-04-10 15:59:05 -07:00
Corey Donohoe 4480ff0520 update the gemspec to reflect mathjax being gone 2012-04-10 15:55:30 -07:00
Corey Donohoe eed9b2695a Merge branch 'master' into code_with_multibyte
Conflicts:
	lib/gollum/markup.rb
	test/test_markup.rb
2012-04-10 15:49:37 -07:00
Corey Donohoe 337a9b180e Merge remote-tracking branch 'xdite/highlight-utf8' 2012-04-10 15:27:46 -07:00
Corey Donohoe 66a6ee97f0 Merge pull request #273 from polarblau/code_block_ascii_bug
Added test for ASCII characters in code blocks created with back ticks.
2012-04-10 15:26:31 -07:00
Corey Donohoe 26d5abe7a5 Merge pull request #264 from github/remove_contents
remove contents of script and style elements
2012-04-10 15:26:00 -07:00
Corey Donohoe bf8246c705 minor api updates 2012-04-10 15:21:34 -07:00
Corey Donohoe 73cd25b05f Merge remote-tracking branch 'origin/master' into xdite-merge
Conflicts:
	lib/gollum/markup.rb
2012-04-10 15:16:13 -07:00
Corey Donohoe c5cc6905de Merge pull request #283 from dentarg/master
Serve Gravatars via SSL
2012-04-10 15:06:30 -07:00
Patrik Ragnarsson 7b0a714e1f Serve Gravatars via SSL. 2012-03-17 19:06:11 +01:00
muzuiget b47d83a7f2 Fix searchbar position and button appearance 2012-03-04 17:57:31 +08:00
Polarblau 5f4d312b8e Added test for ASCII characters in code blocks created with back ticks. 2012-02-07 12:52:06 +02:00
Jesse Newland be4c52202c remove contents of script and style elements
Avoids rendering HTML-ized CSS and/or Javascript by removing the
contents of script and style elements as well as the elements
themselves.

/cc @technoweenie

Pull Request: master
2012-01-08 22:07:33 -05:00
Dave Hulihan 4e9111976e Make default markup changeable through sinatra settings 2011-12-22 20:20:03 -07:00
rick 5163f11ecb allow ftp and irc protocol links in wiki pages 2011-12-22 09:30:27 -07:00
xdite 5a1d5fa4f0 syntax highlight should with utf-8 2011-12-21 15:18:12 +08:00
Chris Causer d389390523 Escape names on page create redirect 2011-12-14 13:10:44 +00:00
Chris Causer 5a661fdacc Add tests for escaped characters in title 2011-12-14 13:07:13 +00:00
Vicent Marti bd6dfcd51c Merge branch 'drop-redcarpet' of github.com:github/gollum into drop-redcarpet 2011-12-07 19:10:43 +01:00
Vicent Marti 8014486fd8 XHTML is dead
Do not enforce the XHTML conversion for Wiki pages. HTML is cool!
2011-12-07 18:57:07 +01:00
Vicent Marti 654b5b176b Bump GitHub::Markup dependency 2011-12-07 16:54:35 +01:00
Vicent Marti af09f99c8a Fix newline tests in code blocks 2011-12-07 13:02:54 +01:00
Vicent Marti 108876d9a1 Do not assume Markdown output is XHTML
Self-closing tags are bad for your health.
2011-12-07 12:34:59 +01:00
Vicent Marti 1eb65caff4 Remove dependency on Redcarpet
Now Gollum does all its Markdown processing through GitHub::Markup; if
you require a custom Markdown renderer using Redcarpet or another
library, you can hot-load it from your own code base:

	Gollum::Wiki.markup_classes[:markdown] = YourRedcarpetRenderer
2011-12-07 12:12:02 +01:00
xdite 7924e8c9a9 compatible with RedCarpet 2.0+ 2011-12-01 19:26:14 +08:00
Joshua Peek 101f43947f Merge pull request #222 from github/server-side-tex
Render Tex on Server
2011-11-29 08:46:45 -08:00
Joshua Peek 68a0ead0c5 Use posix-spawn for tex shell out 2011-11-29 09:47:32 -06:00
Joshua Peek 3d119c0d5d Depend on posix-spawn 2011-11-29 09:35:27 -06:00
Joshua Peek f3e8cbf41d Requires ghostscript too 2011-11-28 16:45:29 -06:00
Joshua Peek f0fa42a50e Fix error check order 2011-11-28 16:41:03 -06:00
Joshua Peek a20fd4fdcf Raise Tex::Error 2011-11-28 13:53:36 -06:00
Joshua Peek 32fb1cdb23 Better tex errors 2011-11-28 13:49:42 -06:00
Joshua Peek ac24213d53 Link to tex image at wiki base path 2011-11-28 13:41:43 -06:00
Joshua Peek fa20343253 Remove MathJax from README 2011-11-28 13:36:42 -06:00
Joshua Peek f4d70d3748 Remove other mathjax support 2011-11-28 13:35:53 -06:00
Joshua Peek b311730c7c Remove MathJax 2011-11-28 13:34:11 -06:00
Joshua Peek 3cba98fee6 Merge branch 'master' into server-side-tex 2011-11-28 13:21:46 -06:00
Arran Cudbard-Bell 7c799323a5 Add additional tests to verify that existing filenames are processed properly and not cannonicalized 2011-11-24 11:07:27 +01:00
Arran Cudbard-Bell 6926746624 Do not re-canonicalize names referring to existing page files when updating format extensions 2011-11-24 11:07:27 +01:00
Arran Cudbard-Bell af7a52970f Repository page files with spaces, will now match using urls with hyphens, underscores and urlencoded spaces. This is for compatibility with mediawiki conversions. 2011-11-24 11:07:27 +01:00
rick 5ce3886651 Merge pull request #237 from bootstraponline/master
Update Gollum CSS based on GitHub's production CSS
2011-11-22 12:50:15 -08:00
bootstraponline 0bc883ee29 Update CSS based on GitHub's production Gollum CSS. 2011-11-22 10:56:10 -07:00
Joshua Peek cc96786ac0 Fix Wiki XSS vuln 2011-11-15 15:29:05 -06:00
hibariya 5b84ecf372 ruby1.8 compatibility 2011-11-12 11:32:54 +09:00
hibariya 620926c379 add encoding option 2011-11-12 11:23:04 +09:00
Joshua Peek 7a4e57a49d Fix Tex tests 2011-10-24 15:54:40 -05:00
Joshua Peek cdca60ff1b Remove test document 2011-10-24 15:52:48 -05:00
Joshua Peek 604f88939e Render tex formulas to images 2011-10-24 15:50:02 -05:00
Joshua Peek 95a7d33848 2011-10-24 15:10:23 -05:00
rick 39e06e48bd Merge pull request #217 from phlipper/fix-sinatra-api-warning
set :public_folder in frontend app instead of :public
2011-10-22 01:58:13 -07:00
Phil Cohen 9246c1443f set :public_folder in frontend app
:public is no longer used to avoid overloading
Module#public, use :public_folder instead
2011-10-21 16:39:15 -07:00
Joshua Peek d3e358817e Merge pull request #209 from pal/edit-page-preview-fix
Fix edit page preview problems
2011-10-05 06:50:44 -07:00
pal 3682bc8558 Fix preview problems, also see #141 2011-10-05 12:11:09 +02:00
rick 8c1f82d894 let Gollum::Markup handle code blocks instead of RedCarpet 2011-09-29 11:02:35 -06:00
rick 6887c89d5c remove rdoc task 2011-09-29 10:04:48 -06:00
Joshua Peek 5071072c6b Prune MathJax docs 2011-09-28 17:53:18 -05:00
Joshua Peek 1cb7bc96c7 Merge pull request #206 from github/backport-js
Backport JS
2011-09-28 13:44:27 -07:00
Joshua Peek 755c303008 Use $.facebox for dialog if its available 2011-09-27 17:13:53 -05:00
Joshua Peek 381a963971 Fix lang script uri 2011-09-27 17:13:33 -05:00
Joshua Peek 903ea7c49a Reindent dialog JS and trim trailing spaces 2011-09-27 16:50:24 -05:00
Joshua Peek 41c4801aed Backport some JS changes from github.com 2011-09-27 16:49:52 -05:00
Joshua Peek 3a8d65bd3e Fix indenting offset
2 spaces, not 3
2011-09-27 16:26:03 -05:00
Joshua Peek 095a392359 Trim trailing whitespace 2011-09-27 16:06:16 -05:00
Joshua Peek ce770c2e79 Don't leak nodeSelector 2011-09-27 14:51:47 -05:00
Joshua Peek be9529faee Remove dead and leaky global functions 2011-09-27 14:48:38 -05:00
Joshua Peek 1f948e30d8 Cleanup gollum.js trailing whitespace 2011-09-27 14:27:37 -05:00
Joshua Peek 50de79171a Rebuild empty.git fixture 2011-09-27 14:01:58 -05:00
Joshua Peek e8b3854682 Hush test clone warnings
warning: You appear to have cloned an empty repository.
2011-09-27 13:49:59 -05:00
Joshua Peek 985fade9f6 Don't call id on nil 2011-09-27 13:48:16 -05:00
Joshua Peek 39b1177ba0 Check in empty directories 2011-09-27 13:43:52 -05:00
rick 5fb440171e Merge pull request #205 from x1024/author_on_first_preview
The first page in an empty repository can now be previewed.
2011-09-27 09:10:21 -07:00
Mihail Minkov 38673e5f43 regenerated gollum.gemspec 2011-09-27 19:07:05 +03:00
Mihail Minkov b8ce2b251d The first page in an empty repository can now be previewed. 2011-09-27 18:52:51 +03:00
Joshua Peek 7829e17c27 Fix invalid syntax, leaky vars and trailing whitespace in lang JS 2011-09-26 17:35:39 -05:00
Joshua Peek fced891975 Merge pull request #204 from github/pygments.rb
Switch to Pygments.rb
2011-09-26 15:00:48 -07:00
Joshua Peek 35da594bfc Switch to pygments.rb 2011-09-26 16:45:21 -05:00
rick e8df272729 Merge pull request #195 from bobrik/patch-1
Forcing encoding to UTF-8 for git tree
2011-09-21 19:33:14 -07:00
Ian Babrou a337b9ba15 added method existence checking for UTF-8, thanks to @technoweenie 2011-09-09 19:24:27 +04:00
Ian Babrou 685cc358b3 forcing encoding to UTF-8 for git tree to be able to use gollum with non-ascii wiki filenames 2011-09-09 17:24:19 +04:00
risk 9ce4f0220e dont want wikicloth 0.7.0 2011-08-08 15:45:55 -07:00
risk 2128559186 fix edge case where sanitize gem doesn't operate on <a> node if the custom transformer runs 2011-08-08 15:43:21 -07:00
risk 20e4ca6a56 normalize test output 2011-08-08 15:26:27 -07:00
risk 6f15fafc4a add a Page#markup_class reader 2011-08-08 15:26:22 -07:00
risk cd4704aed7 prefix name attributes too 2011-08-08 15:02:10 -07:00
risk 82fd4d8b26 update the changelog 2011-08-04 14:18:38 -07:00
risk 08a58b7520 Sanitization#id_prefix can be modified 2011-08-04 14:02:24 -07:00
risk c7d8026ac5 when extracting the code blocks, use the SHA of the lang code AND contents to uniquely identify the snippet 2011-08-04 13:38:05 -07:00
risk c7729f81ad Release 1.3.1 2011-07-21 16:30:59 -07:00
risk 7e12de0087 tomdoc 2011-07-21 16:19:48 -07:00
risk c9c7db5a53 add backwards compatible Gollum::Wiki.markup_class 2011-07-21 16:17:09 -07:00
risk aadbdd8b76 keep the versions of rake in the gemspec and gemfile in sync for cry babies 2011-07-21 16:04:08 -07:00
risk b2d372ab3c id attribute transformers should always return a hash or nil 2011-07-21 15:47:00 -07:00
risk c47a47bc30 disable notifications 2011-07-21 15:43:03 -07:00
risk ad5ec77f41 smaller #inspect output for wiki and page objects 2011-07-21 15:27:56 -07:00
risk c0bf387cb4 requiring gollum doesnt require the load path to be set to the lib directory ahead of time (good for rake console) 2011-07-21 15:27:34 -07:00
risk 267323c7c3 merge gfm 2011-07-21 15:04:50 -07:00
risk d9b1ea3d51 track builds in travis-ci 2011-07-21 14:53:05 -07:00
risk 70bf86f561 specify rake gem in gemfile 2011-07-21 14:53:05 -07:00
rick e1eebb2f75 Merge pull request #182 from schacon/test-fixes
Fixing Tests
2011-07-21 14:37:58 -07:00
Scott Chacon aa258dbe6b fix test breaking due to new footnote anchor 2011-07-19 12:55:43 -07:00
Scott Chacon 5a7659e1c3 fix tests breaking due to whitespace issues 2011-07-19 12:55:19 -07:00
Scott Chacon d51a829038 rake is needed to run the tests in dev 2011-07-19 12:54:13 -07:00
Ryan Tomayko b7ffc4051c Wiki#tree_list returns an empty array if the ref doesnt resolve
Signed-off-by: risk <technoweenie@gmail.com>
2011-07-14 14:35:58 -07:00
risk bb06b566cd GitAccess#ref_to_sha should never return a blank string 2011-07-14 14:30:23 -07:00
Vicent Marti fc6149a171 Bless Gollum with the power of GFM
With these changes, the Markdown rendered in Gollum wikis will have the
same quality and safety as the MD we render everywhere else @ GitHub.

This commit also changes the old `markup_class` accessor to
`markup_classes`, allowing users to specify a custom Markup class for
each markup language.
2011-06-21 18:28:28 +02:00
rick 4abc32f1ec Merge pull request #143 from kashif/patch-1
Fixed spelling.
2011-06-20 09:18:22 -07:00
rick efd734d962 Merge pull request #162 from ttscoff/master
Spacing fix for issue #145
2011-06-20 09:17:59 -07:00
rick 8158610587 Merge pull request #164 from arr2036/patches_1.3.0
Remove edit button on preview pages
2011-06-20 09:15:38 -07:00
rick 2bb62309be Merge pull request #157 from nealpoole/master
Fixed broken preview functionality
2011-06-20 09:15:23 -07:00
rick 401e41b699 Merge pull request #169 from JoshCheek/fix_page_file_dir_option
Fix page_file_dir option
2011-06-07 23:44:51 -07:00
Josh Cheek 3015831d66 fix bug where can't edit pages while using page_file_dir 2011-06-07 22:47:01 -05:00
Josh Cheek c2919897e2 add test that fails when editing pages while using page_file_dir 2011-06-07 22:45:41 -05:00
Arran Cudbard-Bell 83d6cae53f Remove edit button on preview pages 2011-05-26 21:35:34 -07:00
Brett Terpstra 7ad54e3c94 Added spacing to allow has-rightbar and has-footer classes to work 2011-05-23 13:12:47 -05:00
Neal Poole c1fc3a92c0 Fixed broken preview functionality in Gollum. 2011-05-16 17:10:08 -04:00
Aman Gupta 23508d3867 Merge pull request #153 from guilleiguaran/patch-1
default_executable= have been deprecated
2011-05-08 22:43:00 -07:00
Guillermo Iguaran b5cb2e6dd6 default_executable= have been deprecated 2011-05-08 22:38:24 -07:00
Andrew O'Brien 9efcf8bfb1 Added support for activate/deactivate functions in LanguageDefinition so that languages that have a client-side component can setup and teardown UI elements. 2011-05-06 11:29:54 -04:00
rick 1ff486e16c Merge pull request #146 from schuyler1d/master
allow prefixed @id attributes to allow internal linking
2011-05-06 03:51:13 -07:00
Schuyler Duveen c22050fca8 allow @id attributes but force a "wiki-" prefix 2011-05-04 11:50:38 -04:00
Kashif Rasul e910dd0ccf Fixed spelling. 2011-05-02 07:15:11 -07:00
rick 748d76dff1 Release 1.3.0 2011-04-25 20:59:57 -04:00
rick 2ebed41225 Merge branch 'master' of github.com:github/gollum 2011-04-25 20:47:46 -04:00
rick 86d14fa7ab Merged pull request #134 from mrjbq7/master.
Fixing search box location.
2011-04-25 11:38:01 -07:00
rick 82e31e971a Merged pull request #136 from freerange/master.
Remove redundant 1.8 compatibilty
2011-04-25 11:37:21 -07:00
Chris Roos 3d591b49cb Updated the gemspec.
Commit df505a7289 removed ruby1.8.rb but it was still included in the gemspec which caused Bundler to complain about an invalid Gemspec.

*NOTE* There are five test failures when running 'rake'.  I checked out the last commit before Tom's change (d3594f6652) and that also has these five failures so I'm happy that we didn't introduce them.
2011-04-15 15:54:35 +01:00
Tom Ward df505a7289 ruby1.8 compatibility isn't required to run gollum using ruby 1.8.7
The sanitize gem requires 1.8.7 or later, so compatibility with earlier versions is moot
2011-04-12 15:23:23 +01:00
rick 17dcde1f61 fix xss vulnerability in mathjax parsing 2011-04-11 23:29:06 -04:00
John Benediktsson 2a052cae8d Remove default width of page name header. 2011-04-10 22:28:37 -07:00
Tom Clark d3594f6652 Added 'All Pages' route and view 2011-04-09 14:09:36 -07:00
rick ad561226b9 merrrge 2011-03-31 15:11:24 -07:00
Tom Clark 8403868ac3 Test that wikis can write to different branches in isolation 2011-02-22 00:12:32 -05:00
Tom Clark a1d760df1e Write pages to the proper branch 2011-02-21 23:32:27 -05:00
Randy Merrill e3950d52c1 Removing the ref as an argument to the Committer#parents and just using the @wiki.ref.
Updated the test to reflect the change and to test creating a wiki with a custom ref returns the correct parent for the `Committer#parents`.
2011-01-27 13:59:39 -08:00
Randy Merrill 7427ddd900 Adding some tests to test that the commiter can retrieve parents that are not the same as the wiki ref.
Also testing that the default wiki ref works without passing a ref.
2011-01-27 13:00:54 -08:00
Randy Merrill 364b2b85ae Moving the ref to be an argument to the parents that defaults to the @wiki.ref 2011-01-27 12:46:29 -08:00
Randy Merrill a71ab7c418 Changing from using branch as the variable to using ref. 2011-01-27 11:38:48 -08:00
Randy Merrill 2bb1937fa9 Fixing the docs for the default branch. 2011-01-27 11:29:21 -08:00
Randy Merrill 3c44205be7 Adding the logic to accept a command line flag for the branch to use to retrieve pages. 2011-01-27 11:24:15 -08:00
Tim Sharpe 4cad535baa Tomdoc'd 2010-10-01 16:18:09 +10:00
Tim Sharpe 5fc3c298c1 Some docs for the README 2010-10-01 16:10:24 +10:00
Tim Sharpe e5fe89a4fd Simple test case 2010-10-01 16:05:20 +10:00
Tim Sharpe ccaea78901 Helps if I commit this bit too 2010-10-01 15:44:53 +10:00
Tim Sharpe 1111dbb9a2 Holy crap, it works 2010-10-01 15:44:32 +10:00
704 changed files with 2976 additions and 40602 deletions
+1
View File
@@ -3,3 +3,4 @@ pkg
.DS_Store
.bundle
Gemfile.lock
*.gem
+6
View File
@@ -0,0 +1,6 @@
rvm:
- 1.8.7
notifications:
disabled: true
before_install:
- sudo apt-get install -y asciidoc
+1
View File
@@ -1,3 +1,4 @@
source "http://rubygems.org"
gemspec
gem "rake", "~> 0.9.2"
+50 -2
View File
@@ -1,4 +1,52 @@
# HEAD
# 1.4.0 / 2012-04-10
* Minor
* Add a way to configure the `#id_prefix` property of Sanitization
objects.
* Add web sequence diagrams support
* Support for updating wysiwyg components when markup language changes
* Support RedCarpet 2.0
* Allow ftp and irc links in wiki markup
* Minor ui fixups
* Bug Fixes
* Include the language of the code snippet when making a uniquely
identifiable sha of a code snippet while rendering a page.
* Pygments lexer forces utf8 encoding
* Remove MathJax, this created problems in production for us.
We'll look at bringing it back in future releases
# 1.3.1 / 2011-07-21
* Major Enhancements
* Allow prefixed ID attributes in headers to support internal linking
(#146).
* Markdown pages are rendered through Redcarpet by default (#176).
* Minor Enhancements
* Remove Edit button on Preview pages (#164).
* Simplify Wiki#inspect and Page#inspect.
* Bug Fixes
* Fixed broken preview functionality (#157).
* Fixed sidebar/footer rendering problems related to whitespace (#145).
# 1.3.0 / 2011-04-25
* Major Enhancements
* Listing of all Pages
* Support for running Gollum under a separate branch.
* Minor Enhancements
* Fix a security issue with rendering Mathjax.
# 1.2.0 / 2011-03-11
* Major Enhancements
* Major HTML/CSS/JS overhaul.
* Add Sidebars (similar to Footers).
* Add commit reverts.
* Minor Enhancements
* Optimization in source code highlighting, resulting in a huge
decrease in rendering time.
* Security fixes related to source code highlighting.
* Major Enhancements
* Add Page sidebars, similar to Page footers.
@@ -51,4 +99,4 @@
# 1.0.0 / 2010-08-12
* Open Source Birthday!
* Open Source Birthday!
+56 -12
View File
@@ -26,7 +26,7 @@ The best way to install Gollum is with RubyGems:
If you're installing from source, you can use [Bundler][bundler] to pick up all the
gems:
$ bundle install # ([more info](http://gembundler.com/bundle_install.html))
$ bundle install
In order to use the various formats that Gollum supports, you will need to
separately install the necessary dependencies for each format. You only need
@@ -34,7 +34,8 @@ to install the dependencies for the formats that you plan to use.
* [ASCIIDoc](http://www.methods.co.nz/asciidoc/) -- `brew install asciidoc`
* [Creole](http://wikicreole.org/) -- `gem install creole`
* [Markdown](http://daringfireball.net/projects/markdown/) -- `gem install rdiscount`
* [Markdown](http://daringfireball.net/projects/markdown/) -- `gem install redcarpet`
* [GitHub Flavored Markdown](http://github.github.com/github-flavored-markdown/) -- `gem install github-markdown`
* [Org](http://orgmode.org/) -- `gem install org-ruby`
* [Pod](http://search.cpan.org/dist/perl/pod/perlpod.pod) -- `Pod::Simple::HTML` comes with Perl >= 5.10. Lower versions should install Pod::Simple from CPAN.
* [RDoc](http://rdoc.sourceforge.net/)
@@ -294,21 +295,23 @@ separately) by using the following syntax:
end
```
The block must start with three backticks (as the first characters on the
line). After that comes the name of the language that is contained by the
The block must start with three backticks, at the beginning of a line or
indented with any number of spaces or tabs.
After that comes the name of the language that is contained by the
block. The language must be one of the `short name` lexer strings supported by
Pygments. See the [list of lexers](http://pygments.org/docs/lexers/) for valid
options.
If the block contents are indented two spaces or one tab, then that whitespace
will be ignored (this makes the blocks easier to read in plaintext).
The block must end with three backticks as the first characters on a
line.
The block contents should be indented at the same level than the opening backticks.
If the block contents are indented with an additional two spaces or one tab,
then that whitespace will be ignored (this makes the blocks easier to read in plaintext).
The block must end with three backticks indented at the same level than the opening
backticks.
## MATHEMATICAL EQUATIONS
Page files may contain mathematic equations in TeX syntax that will be nicely
typeset into the expected output. A block-style equation is delimited by `\[`
and `\]`. For example:
@@ -318,11 +321,28 @@ and `\]`. For example:
Inline equations are delimited by `\(` and `\)`. These equations will appear
inline with regular text. For example:
The Pythagorean theorum is \( a^2 + b^2 = c^2 \).
The Pythagorean theorem is \( a^2 + b^2 = c^2 \).
Gollum uses [MathJax](http://www.mathjax.org/) to convert the TeX syntax into
output suitable for display in web browsers.
### INSTALLATION REQUIREMENTS
In order to get the mathematical equations rendering to work, you need the following binaries:
* LaText, TeTex or MacTex/BasicTeX (latex, dvips)
* ImageMagick (convert)
* Ghostscript (gs)
## SEQUENCE DIAGRAMS
You may imbed sequence diagrams into your wiki page (rendered by
[WebSequenceDiagrams](http://www.websequencediagrams.com) by using the
following syntax:
{{{ blue-modern
alice->bob: Test
bob->alice: Test response
}}}
You can replace the string "blue-modern" with any supported style.
## API DOCUMENTATION
@@ -431,6 +451,24 @@ To delete a page and commit the change:
wiki.delete_page(page, commit)
### RACK
You can also run gollum with any rack-compatible server by placing this config.ru
file inside your wiki repository. This allows you to utilize any Rack middleware
like Rack::Auth, OmniAuth, etc.
#!/usr/bin/env ruby
require 'rubygems'
require 'gollum/frontend/app'
gollum_path = File.expand_path(File.dirname(__FILE__)) # CHANGE THIS TO POINT TO YOUR OWN WIKI REPO
Precious::App.set(:gollum_path, gollum_path)
Precious::App.set(:default_markup, :markdown) # set your favorite markup language
run Precious::App
## Testing
[![Build Status](https://secure.travis-ci.org/github/gollum.png?branch=master)](http://travis-ci.org/github/gollum)
## CONTRIBUTE
@@ -450,3 +488,9 @@ your changes merged back into core is as follows:
1. If necessary, rebase your commits into logical chunks, without errors
1. Push the branch up to GitHub
1. Send a pull request to the github/gollum project.
## RELEASING
$ rake gemspec
$ gem build gollum.gemspec
$ gem push gollum-X.Y.Z.gem
+5 -9
View File
@@ -60,14 +60,6 @@ task :coverage do
sh "open coverage/index.html"
end
require 'rake/rdoctask'
Rake::RDocTask.new do |rdoc|
rdoc.rdoc_dir = 'rdoc'
rdoc.title = "#{name} #{version}"
rdoc.rdoc_files.include('README*')
rdoc.rdoc_files.include('lib/**/*.rb')
end
desc "Open an irb session preloaded with this library"
task :console do
sh "irb -rubygems -r ./lib/#{name}.rb"
@@ -87,6 +79,7 @@ end
#
#############################################################################
desc 'Create a release build'
task :release => :build do
unless `git branch` =~ /^\* master$/
puts "You must be on the master branch to release!"
@@ -99,12 +92,14 @@ task :release => :build do
sh "gem push pkg/#{name}-#{version}.gem"
end
desc 'Build gem'
task :build => :gemspec do
sh "mkdir -p pkg"
sh "gem build #{gemspec_file}"
sh "mv #{gem_file} pkg"
end
desc 'Validate gemspec'
task :gemspec => :validate do
# read spec file and split out manifest section
spec = File.read(gemspec_file)
@@ -133,6 +128,7 @@ task :gemspec => :validate do
puts "Updated #{gemspec_file}"
end
desc 'Validate lib files and version file'
task :validate do
libfiles = Dir['lib/*'] - ["lib/#{name}.rb", "lib/#{name}"]
unless libfiles.empty?
@@ -143,4 +139,4 @@ task :validate do
puts "A `VERSION` file at root level violates Gem best practices."
exit!
end
end
end
+4
View File
@@ -48,6 +48,10 @@ opts = OptionParser.new do |opts|
opts.on("--page-file-dir [PATH]", "Specify the sub directory for all page files (default: repository root).") do |path|
wiki_options[:page_file_dir] = path
end
opts.on("--ref [REF]", "Specify the repository ref to use (default: master).") do |ref|
wiki_options[:ref] = ref
end
end
# Read command line options into `options` hash
+56 -642
View File
@@ -4,8 +4,8 @@ Gem::Specification.new do |s|
s.rubygems_version = '1.3.5'
s.name = 'gollum'
s.version = '1.2.1'
s.date = '2011-04-25'
s.version = '2.0.0'
s.date = '2012-05-06'
s.rubyforge_project = 'gollum'
s.summary = "A simple, Git-powered wiki."
@@ -18,14 +18,15 @@ Gem::Specification.new do |s|
s.require_paths = %w[lib]
s.executables = ["gollum"]
s.default_executable = 'gollum'
s.rdoc_options = ["--charset=UTF-8"]
s.extra_rdoc_files = %w[README.md LICENSE]
s.add_dependency('grit', "~> 2.4.1")
s.add_dependency('github-markup', [">= 0.4.0", "< 1.0.0"])
s.add_dependency('albino', "~> 1.3.2")
s.add_dependency('github-markup', [">= 0.7.0", "< 1.0.0"])
s.add_dependency('github-markdown')
s.add_dependency('pygments.rb', "~> 0.2.0")
s.add_dependency('posix-spawn', "~> 0.3.0")
s.add_dependency('sinatra', "~> 1.0")
s.add_dependency('mustache', [">= 0.11.2", "< 1.0.0"])
s.add_dependency('sanitize', "~> 2.0.0")
@@ -33,11 +34,11 @@ Gem::Specification.new do |s|
s.add_development_dependency('RedCloth')
s.add_development_dependency('mocha')
s.add_development_dependency('org-ruby')
s.add_development_dependency('rdiscount')
s.add_development_dependency('org-ruby', '~>0.6.2')
s.add_development_dependency('shoulda')
s.add_development_dependency('rack-test')
s.add_development_dependency('wikicloth')
s.add_development_dependency('wikicloth', '~>0.8.0')
s.add_development_dependency('rake', '~> 0.9.2')
# = MANIFEST =
s.files = %w[
@@ -51,644 +52,29 @@ Gem::Specification.new do |s|
docs/sanitization.md
gollum.gemspec
lib/gollum.rb
lib/gollum/albino.rb
lib/gollum/blob_entry.rb
lib/gollum/committer.rb
lib/gollum/file.rb
lib/gollum/frontend/app.rb
lib/gollum/frontend/public/css/dialog.css
lib/gollum/frontend/public/css/editor.css
lib/gollum/frontend/public/css/gollum.css
lib/gollum/frontend/public/css/ie7.css
lib/gollum/frontend/public/css/template.css
lib/gollum/frontend/public/images/icon-sprite.png
lib/gollum/frontend/public/javascript/MathJax/MathJax.js
lib/gollum/frontend/public/javascript/MathJax/config/MMLorHTML.js
lib/gollum/frontend/public/javascript/MathJax/config/MathJax.js
lib/gollum/frontend/public/javascript/MathJax/config/local/local.js
lib/gollum/frontend/public/javascript/MathJax/docs/html/.buildinfo
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/CSS-styles.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/HTML-snippets.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/ajax.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/callback.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/elementjax.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/html.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/hub.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/index.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/inputjax.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/jax.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/message.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/object.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/outputjax.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/queue.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/signal.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/api/variable.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/callbacks.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/community.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/configuration.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/dynamic.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/environment.pickle
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/glossary.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/index.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/installation.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/jsMath.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/mathjax.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/mathml.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/model.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/FontWarnings.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/HTML-CSS.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/MMLorHTML.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/MathML.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/MathMenu.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/MathZoom.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/NativeMML.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/TeX.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/hub.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/jsMath2jax.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/mml2jax.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/options/tex2jax.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/output.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/platforms/index.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/platforms/movable-type.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/platforms/wordpress.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/queues.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/signals.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/start.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/startup.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/synchronize.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/tex.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/.doctrees/typeset.doctree
lib/gollum/frontend/public/javascript/MathJax/docs/html/CSS-styles.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/HTML-snippets.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/_images/badge.gif
lib/gollum/frontend/public/javascript/MathJax/docs/html/_images/mt_head.png
lib/gollum/frontend/public/javascript/MathJax/docs/html/_images/mt_menu.png
lib/gollum/frontend/public/javascript/MathJax/docs/html/_images/mt_templates.png
lib/gollum/frontend/public/javascript/MathJax/docs/html/_images/wp_menu.png
lib/gollum/frontend/public/javascript/MathJax/docs/html/_images/wp_templates.png
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/CSS-styles.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/HTML-snippets.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/ajax.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/callback.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/elementjax.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/html.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/hub.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/index.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/inputjax.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/jax.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/message.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/object.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/outputjax.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/queue.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/signal.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/api/variable.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/callbacks.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/community.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/configuration.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/dynamic.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/glossary.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/index.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/installation.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/jsMath.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/mathjax.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/mathml.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/model.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/FontWarnings.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/HTML-CSS.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/MMLorHTML.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/MathML.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/MathMenu.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/MathZoom.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/NativeMML.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/TeX.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/hub.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/jsMath2jax.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/mml2jax.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/options/tex2jax.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/output.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/platforms/index.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/platforms/movable-type.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/platforms/wordpress.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/queues.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/signals.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/start.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/startup.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/synchronize.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/tex.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_sources/typeset.txt
lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/basic.css
lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/doctools.js
lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/file.png
lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/jquery.js
lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/mathjax_mathml.user.js
lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/mathjax_wikipedia.user.js
lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/minus.png
lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/mj.css
lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/plus.png
lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/pygments.css
lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/searchtools.js
lib/gollum/frontend/public/javascript/MathJax/docs/html/_static/underscore.js
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/ajax.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/callback.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/elementjax.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/html.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/hub.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/index.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/inputjax.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/jax.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/message.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/object.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/outputjax.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/queue.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/signal.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/api/variable.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/callbacks.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/community.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/configuration.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/dynamic.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/genindex.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/glossary.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/index.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/installation.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/jsMath.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/mathjax.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/mathml.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/model.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/objects.inv
lib/gollum/frontend/public/javascript/MathJax/docs/html/options/FontWarnings.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/options/HTML-CSS.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/options/MMLorHTML.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/options/MathML.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/options/MathMenu.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/options/MathZoom.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/options/NativeMML.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/options/TeX.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/options/hub.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/options/jsMath2jax.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/options/mml2jax.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/options/tex2jax.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/output.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/platforms/index.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/platforms/movable-type.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/platforms/wordpress.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/queues.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/search.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/searchindex.js
lib/gollum/frontend/public/javascript/MathJax/docs/html/signals.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/start.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/startup.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/synchronize.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/tex.html
lib/gollum/frontend/public/javascript/MathJax/docs/html/typeset.html
lib/gollum/frontend/public/javascript/MathJax/docs/rst/CSS-styles.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/HTML-snippets.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/_static/mathjax_mathml.user.js
lib/gollum/frontend/public/javascript/MathJax/docs/rst/_static/mathjax_wikipedia.user.js
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/ajax.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/callback.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/elementjax.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/html.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/hub.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/index.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/inputjax.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/jax.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/message.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/object.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/outputjax.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/queue.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/signal.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/api/variable.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/callbacks.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/community.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/conf.py
lib/gollum/frontend/public/javascript/MathJax/docs/rst/configuration.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/dynamic.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/glossary.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/images/mt_head.png
lib/gollum/frontend/public/javascript/MathJax/docs/rst/images/mt_menu.png
lib/gollum/frontend/public/javascript/MathJax/docs/rst/images/mt_templates.png
lib/gollum/frontend/public/javascript/MathJax/docs/rst/images/wp_menu.png
lib/gollum/frontend/public/javascript/MathJax/docs/rst/images/wp_templates.png
lib/gollum/frontend/public/javascript/MathJax/docs/rst/index.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/installation.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/jsMath.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/mathjax.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/mathml.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/mjtheme/static/mj.css_t
lib/gollum/frontend/public/javascript/MathJax/docs/rst/mjtheme/theme.conf
lib/gollum/frontend/public/javascript/MathJax/docs/rst/model.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/FontWarnings.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/HTML-CSS.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/MMLorHTML.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/MathML.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/MathMenu.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/MathZoom.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/NativeMML.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/TeX.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/hub.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/jsMath2jax.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/mml2jax.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/options/tex2jax.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/output.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/platforms/index.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/platforms/movable-type.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/platforms/wordpress.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/queues.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/signals.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/start.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/startup.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/synchronize.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/tex.rst
lib/gollum/frontend/public/javascript/MathJax/docs/rst/typeset.rst
lib/gollum/frontend/public/javascript/MathJax/extensions/FontWarnings.js
lib/gollum/frontend/public/javascript/MathJax/extensions/MathMenu.js
lib/gollum/frontend/public/javascript/MathJax/extensions/MathZoom.js
lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/AMSmath.js
lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/AMSsymbols.js
lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/autobold.js
lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/boldsymbol.js
lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/mathchoice.js
lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/newcommand.js
lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/noErrors.js
lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/noUndefined.js
lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/unicode.js
lib/gollum/frontend/public/javascript/MathJax/extensions/TeX/verb.js
lib/gollum/frontend/public/javascript/MathJax/extensions/jsMath2jax.js
lib/gollum/frontend/public/javascript/MathJax/extensions/mml2jax.js
lib/gollum/frontend/public/javascript/MathJax/extensions/tex2jax.js
lib/gollum/frontend/public/javascript/MathJax/extensions/toMathML.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/jax.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/Arrows.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/BasicLatin.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/CombDiacritMarks.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/CombDiactForSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/Dingbats.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/GeneralPunctuation.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/GeometricShapes.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/GreekAndCoptic.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/Latin1Supplement.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/LetterlikeSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/MathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/MiscMathSymbolsA.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/MiscMathSymbolsB.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/MiscTechnical.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/SpacingModLetters.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/SuppMathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/element/mml/optable/SupplementalArrowsB.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/config.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/a.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/b.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/c.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/d.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/e.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/f.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/fr.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/g.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/h.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/i.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/j.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/k.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/l.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/m.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/n.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/o.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/opf.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/p.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/q.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/r.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/s.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/scr.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/t.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/u.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/v.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/w.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/x.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/y.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/entities/z.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/MathML/jax.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/TeX/config.js
lib/gollum/frontend/public/javascript/MathJax/jax/input/TeX/jax.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/maction.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/menclose.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/mglyph.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/mmultiscripts.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/ms.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/mtable.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/autoload/multiline.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/config.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/AlphaPresentForms.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Arrows.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoldFraktur.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/BoxDrawing.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiacritMarks.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CombDiactForSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/ControlPictures.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/CurrencySymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Cyrillic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/EnclosedAlphanum.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeneralPunctuation.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GeometricShapes.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekAndCoptic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekBold.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/GreekSSBold.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/IPAExtensions.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Latin1Supplement.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedAdditional.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LatinExtendedB.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/LetterlikeSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathBold.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MathSSBold.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscMathSymbolsB.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/MiscTechnical.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/NumberForms.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/PhoneticExtensions.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SpacingModLetters.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuperAndSubscripts.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Bold/SuppMathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/AlphaPresentForms.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BasicLatin.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/BoxDrawing.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CombDiactForSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/ControlPictures.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/CurrencySymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Cyrillic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/EnclosedAlphanum.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GeneralPunctuation.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekAndCoptic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekBoldItalic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/GreekSSBoldItalic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/IPAExtensions.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Latin1Supplement.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedAdditional.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LatinExtendedB.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/LetterlikeSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldItalic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathBoldScript.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/MathSSItalicBold.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/BoldItalic/SpacingModLetters.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/AlphaPresentForms.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/BoxDrawing.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CombDiactForSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ControlPictures.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/CurrencySymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Cyrillic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/EnclosedAlphanum.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GeneralPunctuation.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekAndCoptic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/GreekItalic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/IPAExtensions.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Latin1Supplement.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedAdditional.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LatinExtendedB.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/LetterlikeSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathItalic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathSSItalic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/MathScript.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/SpacingModLetters.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Italic/ij.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/AlphaPresentForms.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Arrows.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BBBold.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BlockElements.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoldFraktur.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/BoxDrawing.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CJK.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiacritMarks.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CombDiactForSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ControlPictures.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/CurrencySymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Cyrillic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Dingbats.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/EnclosedAlphanum.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Fraktur.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeneralPunctuation.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GeometricShapes.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekAndCoptic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBold.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekBoldItalic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekItalic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBold.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/GreekSSBoldItalic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/IPAExtensions.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Latin1Supplement.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedAdditional.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedB.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LatinExtendedD.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/LetterlikeSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBold.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldItalic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathBoldScript.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathItalic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSS.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSBold.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathSSItalicBold.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathScript.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MathTT.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscMathSymbolsB.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscSymbolsAndArrows.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/MiscTechnical.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/NumberForms.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/PhoneticExtensions.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SpacingModLetters.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuperAndSubscripts.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SuppMathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/SupplementalArrowsB.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/General/Regular/ij.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Bold/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsD/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Bold/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsSm/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Bold/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUp/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Bold/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpD/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Bold/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/IntegralsUpSm/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Bold/PrivateUse.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/BoldItalic/PrivateUse.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Italic/PrivateUse.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/NonUnicode/Regular/PrivateUse.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFiveSym/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Bold/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeFourSym/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Bold/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeOneSym/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Bold/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeThreeSym/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Bold/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/SizeTwoSym/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Bold/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/All.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/Variants/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-beta.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Arrows.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BBBold.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/BoxDrawing.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/CombDiacritMarks.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Dingbats.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/EnclosedAlphanum.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeneralPunctuation.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GeometricShapes.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/GreekAndCoptic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Latin1Supplement.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LatinExtendedA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/LetterlikeSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/MiscTechnical.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/PUA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SpacingModLetters.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/AMS/Regular/SuppMathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Bold/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Caligraphic/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/BasicLatin.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/Other.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Bold/PUA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/BasicLatin.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/Other.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Fraktur/Regular/PUA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Bold/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/BoldItalic/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Italic/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Greek/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Arrows.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiacritMarks.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/CombDiactForSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeneralPunctuation.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GeometricShapes.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/GreekAndCoptic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Latin1Supplement.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LatinExtendedB.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/LetterlikeSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscMathSymbolsA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/MiscTechnical.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SpacingModLetters.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SuppMathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Bold/SupplementalArrowsA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/CombDiacritMarks.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GeneralPunctuation.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/GreekAndCoptic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Latin1Supplement.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LatinExtendedA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LatinExtendedB.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/LetterlikeSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Italic/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Arrows.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/CombDiacritMarks.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/CombDiactForSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeneralPunctuation.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GeometricShapes.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/GreekAndCoptic.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Latin1Supplement.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/LatinExtendedA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/LatinExtendedB.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/LetterlikeSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscMathSymbolsA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscSymbols.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/MiscTechnical.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SuppMathOperators.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Main/Regular/SupplementalArrowsA.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/BoldItalic/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Math/Italic/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/BasicLatin.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/CombDiacritMarks.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Bold/Other.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/BasicLatin.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/CombDiacritMarks.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Italic/Other.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/BasicLatin.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/CombDiacritMarks.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/SansSerif/Regular/Other.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/BasicLatin.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Script/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Size1/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Size2/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Size3/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Size4/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/BasicLatin.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/CombDiacritMarks.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/Typewriter/Regular/Other.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/WinChrome/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/AMS.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Bold.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/WinIE6/Regular/Main.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/imageFonts.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/HTML-CSS/jax.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/NativeMML/config.js
lib/gollum/frontend/public/javascript/MathJax/jax/output/NativeMML/jax.js
lib/gollum/frontend/public/javascript/MathJax/test/index-images.html
lib/gollum/frontend/public/javascript/MathJax/test/index.html
lib/gollum/frontend/public/javascript/MathJax/test/sample-dynamic.html
lib/gollum/frontend/public/javascript/MathJax/test/sample-mml.html
lib/gollum/frontend/public/javascript/MathJax/test/sample-signals.html
lib/gollum/frontend/public/javascript/MathJax/test/sample-tex.html
lib/gollum/frontend/public/javascript/MathJax/test/sample-tex2mml.html
lib/gollum/frontend/public/javascript/MathJax/test/sample.html
lib/gollum/frontend/public/javascript/editor/gollum.editor.js
lib/gollum/frontend/public/javascript/editor/langs/asciidoc.js
lib/gollum/frontend/public/javascript/editor/langs/creole.js
lib/gollum/frontend/public/javascript/editor/langs/markdown.js
lib/gollum/frontend/public/javascript/editor/langs/org.js
lib/gollum/frontend/public/javascript/editor/langs/pod.js
lib/gollum/frontend/public/javascript/editor/langs/rdoc.js
lib/gollum/frontend/public/javascript/editor/langs/textile.js
lib/gollum/frontend/public/javascript/gollum.dialog.js
lib/gollum/frontend/public/javascript/gollum.js
lib/gollum/frontend/public/javascript/gollum.placeholder.js
lib/gollum/frontend/public/javascript/jquery.color.js
lib/gollum/frontend/public/javascript/jquery.js
lib/gollum/frontend/public/gollum/css/dialog.css
lib/gollum/frontend/public/gollum/css/editor.css
lib/gollum/frontend/public/gollum/css/gollum.css
lib/gollum/frontend/public/gollum/css/ie7.css
lib/gollum/frontend/public/gollum/css/template.css
lib/gollum/frontend/public/gollum/images/icon-sprite.png
lib/gollum/frontend/public/gollum/javascript/editor/gollum.editor.js
lib/gollum/frontend/public/gollum/javascript/editor/langs/asciidoc.js
lib/gollum/frontend/public/gollum/javascript/editor/langs/creole.js
lib/gollum/frontend/public/gollum/javascript/editor/langs/markdown.js
lib/gollum/frontend/public/gollum/javascript/editor/langs/org.js
lib/gollum/frontend/public/gollum/javascript/editor/langs/pod.js
lib/gollum/frontend/public/gollum/javascript/editor/langs/rdoc.js
lib/gollum/frontend/public/gollum/javascript/editor/langs/textile.js
lib/gollum/frontend/public/gollum/javascript/gollum.dialog.js
lib/gollum/frontend/public/gollum/javascript/gollum.js
lib/gollum/frontend/public/gollum/javascript/gollum.placeholder.js
lib/gollum/frontend/public/gollum/javascript/jquery.color.js
lib/gollum/frontend/public/gollum/javascript/jquery.js
lib/gollum/frontend/templates/compare.mustache
lib/gollum/frontend/templates/create.mustache
lib/gollum/frontend/templates/edit.mustache
@@ -697,6 +83,7 @@ Gem::Specification.new do |s|
lib/gollum/frontend/templates/history.mustache
lib/gollum/frontend/templates/layout.mustache
lib/gollum/frontend/templates/page.mustache
lib/gollum/frontend/templates/pages.mustache
lib/gollum/frontend/templates/search.mustache
lib/gollum/frontend/templates/searchbar.mustache
lib/gollum/frontend/views/compare.rb
@@ -707,16 +94,37 @@ Gem::Specification.new do |s|
lib/gollum/frontend/views/history.rb
lib/gollum/frontend/views/layout.rb
lib/gollum/frontend/views/page.rb
lib/gollum/frontend/views/pages.rb
lib/gollum/frontend/views/search.rb
lib/gollum/git_access.rb
lib/gollum/markup.rb
lib/gollum/page.rb
lib/gollum/pagination.rb
lib/gollum/sanitization.rb
lib/gollum/tex.rb
lib/gollum/web_sequence_diagram.rb
lib/gollum/wiki.rb
templates/formatting.html
test/examples/empty.git/HEAD
test/examples/empty.git/config
test/examples/empty.git/description
test/examples/empty.git/hooks/applypatch-msg.sample
test/examples/empty.git/hooks/commit-msg.sample
test/examples/empty.git/hooks/post-commit.sample
test/examples/empty.git/hooks/post-receive.sample
test/examples/empty.git/hooks/post-update.sample
test/examples/empty.git/hooks/pre-applypatch.sample
test/examples/empty.git/hooks/pre-commit.sample
test/examples/empty.git/hooks/pre-rebase.sample
test/examples/empty.git/hooks/prepare-commit-msg.sample
test/examples/empty.git/hooks/update.sample
test/examples/empty.git/info/exclude
test/examples/empty.git/objects/info/.gitkeep
test/examples/empty.git/objects/pack/.gitkeep
test/examples/empty.git/refs/heads/.gitkeep
test/examples/lotr.git/COMMIT_EDITMSG
test/examples/lotr.git/HEAD
test/examples/lotr.git/ORIG_HEAD
test/examples/lotr.git/config
test/examples/lotr.git/description
test/examples/lotr.git/index
@@ -726,7 +134,10 @@ Gem::Specification.new do |s|
test/examples/lotr.git/objects/06/131480411710c92a82fe2d1e76932c70feb2e5
test/examples/lotr.git/objects/0a/de1e2916346d4c1f2fb63b863fd3c16808fe44
test/examples/lotr.git/objects/0e/d8cbe0a25235bd867e65193c7d837c66b328ef
test/examples/lotr.git/objects/12/629d666c5e3178f82f533f543d61b53dc78c0b
test/examples/lotr.git/objects/1d/b89ebba7e2c14d93b94ff98cfa3708a4f0d4e3
test/examples/lotr.git/objects/24/49c2681badfd3c189e8ed658dacffe8ba48fe5
test/examples/lotr.git/objects/25/4bdc1ba27d8b8a794538a8522d9a2b56ec2dd9
test/examples/lotr.git/objects/2c/b9156ad383914561a8502fc70f5a1d887e48ad
test/examples/lotr.git/objects/5d/cac289a8603188d2c5caf481dcba2985126aaa
test/examples/lotr.git/objects/60/f12f4254f58801b9ee7db7bca5fa8aeefaa56b
@@ -736,11 +147,14 @@ Gem::Specification.new do |s|
test/examples/lotr.git/objects/94/523d7ae48aeba575099dd12926420d8fd0425d
test/examples/lotr.git/objects/96/97dc65e095658bbd1b8e8678e08881e86d32f1
test/examples/lotr.git/objects/a3/1ca2a7c352c92531a8b99815d15843b259e814
test/examples/lotr.git/objects/a6/59b3763b822dd97544621fd0beef162ea37b14
test/examples/lotr.git/objects/a8/ad3c09dd842a3517085bfadd37718856dee813
test/examples/lotr.git/objects/aa/b61fe89d56f8614c0a8151da34f939dcedfa68
test/examples/lotr.git/objects/bc/4b5fc0ce2c2ba3acef6647e4f67256ee45ab60
test/examples/lotr.git/objects/c3/b43e9f08966b088e7a0192e436b7a884542e05
test/examples/lotr.git/objects/dc/596d6b2dd89ab05c66f4abd7d5eb706bc17f19
test/examples/lotr.git/objects/ec/da3205bee14520aab5a7bb307392064b938e83
test/examples/lotr.git/objects/f4/84ebb1f40f8eb20d1bcd8d1d71934d2b8ae961
test/examples/lotr.git/objects/fa/e7ef5344202bba4129abdc13060d9297d99465
test/examples/lotr.git/objects/info/packs
test/examples/lotr.git/objects/pack/pack-dcbeaf3f6ff6c5eb08ea2b0a2d83626e8763546b.idx
+16 -11
View File
@@ -8,19 +8,24 @@ require 'github/markup'
require 'sanitize'
# internal
require 'gollum/git_access'
require 'gollum/committer'
require 'gollum/pagination'
require 'gollum/blob_entry'
require 'gollum/wiki'
require 'gollum/page'
require 'gollum/file'
require 'gollum/markup'
require 'gollum/albino'
require 'gollum/sanitization'
require File.expand_path('../gollum/git_access', __FILE__)
require File.expand_path('../gollum/committer', __FILE__)
require File.expand_path('../gollum/pagination', __FILE__)
require File.expand_path('../gollum/blob_entry', __FILE__)
require File.expand_path('../gollum/wiki', __FILE__)
require File.expand_path('../gollum/page', __FILE__)
require File.expand_path('../gollum/file', __FILE__)
require File.expand_path('../gollum/markup', __FILE__)
require File.expand_path('../gollum/sanitization', __FILE__)
require File.expand_path('../gollum/tex', __FILE__)
require File.expand_path('../gollum/web_sequence_diagram', __FILE__)
module Gollum
VERSION = '1.2.1'
VERSION = '2.0.0'
def self.assets_path
::File.expand_path('gollum/frontend/public', ::File.dirname(__FILE__))
end
class Error < StandardError; end
-5
View File
@@ -1,5 +0,0 @@
require 'albino/multi'
class Gollum::Albino < Albino::Multi
self.bin = ::Albino::Multi.bin
end
+11 -10
View File
@@ -1,7 +1,7 @@
module Gollum
# Responsible for handling the commit process for a Wiki. It sets up the
# Responsible for handling the commit process for a Wiki. It sets up the
# Git index, provides methods for modifying the tree, and stores callbacks
# to be fired after the commit has been made. This is specifically
# to be fired after the commit has been made. This is specifically
# designed to handle multiple updated pages in a single commit.
class Committer
# Gets the instance of the Gollum::Wiki that is being updated.
@@ -21,7 +21,7 @@ module Gollum
# :tree - Optional String SHA of the tree to create the
# index from.
# :committer - Optional Gollum::Committer instance. If provided,
# assume that this operation is part of batch of
# assume that this operation is part of batch of
# updates and the commit happens later.
#
# Returns the Committer instance.
@@ -62,7 +62,7 @@ module Gollum
# Returns an array of Grit::Commit instances.
def parents
@parents ||= begin
arr = [@options[:parent] || @wiki.repo.commit('master')]
arr = [@options[:parent] || @wiki.repo.commit(@wiki.ref)]
arr.flatten!
arr.compact!
arr
@@ -73,7 +73,7 @@ module Gollum
#
# dir - The String subdirectory of the Gollum::Page without any
# prefix or suffix slashes (e.g. "foo/bar").
# name - The String Gollum::Page name.
# name - The String Gollum::Page filename_stripped.
# format - The Symbol Gollum::Page format.
# data - The String wiki data to store in the tree map.
# allow_same_ext - A Boolean determining if the tree map allows the same
@@ -111,14 +111,15 @@ module Gollum
# is a working directory present.
#
# dir - The String directory in which the file lives.
# name - The String name of the page (may be in human format).
# name - The String name of the page or the stripped filename
# (should be pre-canonicalized if required).
# format - The Symbol format of the page.
#
# Returns nothing.
def update_working_dir(dir, name, format)
unless @wiki.repo.bare
if @wiki.page_file_dir
dir = dir.size.zero? ? @wiki.page_file_dir : File.join(dir, @wiki.page_file_dir)
dir = dir.size.zero? ? @wiki.page_file_dir : ::File.join(dir, @wiki.page_file_dir)
end
path =
@@ -142,7 +143,7 @@ module Gollum
#
# Returns the String SHA1 of the new commit.
def commit
sha1 = index.commit(@options[:message], parents, actor)
sha1 = index.commit(@options[:message], parents, actor, nil, @wiki.ref)
@callbacks.each do |cb|
cb.call(self, sha1)
end
@@ -151,7 +152,7 @@ module Gollum
# Adds a callback to be fired after a commit.
#
# block - A block that expects this Committer instance and the created
# block - A block that expects this Committer instance and the created
# commit's SHA1 as the arguments.
#
# Returns nothing.
@@ -214,4 +215,4 @@ module Gollum
index.send(name, *args)
end
end
end
end
+26 -9
View File
@@ -13,9 +13,9 @@ module Precious
dir = File.dirname(File.expand_path(__FILE__))
# We want to serve public assets for now
set :public, "#{dir}/public"
set :static, true
set :public_folder, "#{dir}/public/gollum"
set :static, true
set :default_markup, :markdown
set :mustache, {
# Tell mustache where the Views constant lives
@@ -47,6 +47,7 @@ module Precious
wiki = Gollum::Wiki.new(settings.gollum_path, settings.wiki_options)
if page = wiki.page(@name)
@page = page
@page.version = wiki.repo.log(wiki.ref, @page.path).first
@content = page.raw_data
mustache :edit
else
@@ -78,7 +79,7 @@ module Precious
begin
wiki.write_page(name, format, params[:content], commit_message)
redirect "/#{CGI.escape(name)}"
redirect "/#{CGI.escape(Gollum::Page.cname(name))}"
rescue Gollum::DuplicatePageError => e
@message = "Duplicate page: #{e.message}"
mustache :error
@@ -106,10 +107,11 @@ module Precious
end
post '/preview' do
wiki = Gollum::Wiki.new(settings.gollum_path, settings.wiki_options)
@name = "Preview"
@page = wiki.preview_page(@name, params[:content], params[:format])
@content = @page.formatted_data
wiki = Gollum::Wiki.new(settings.gollum_path, settings.wiki_options)
@name = "Preview"
@page = wiki.preview_page(@name, params[:content], params[:format])
@content = @page.formatted_data
@editable = false
mustache :page
end
@@ -144,6 +146,12 @@ module Precious
mustache :compare
end
get '/_tex.png' do
content_type 'image/png'
formula = Base64.decode64(params[:data])
Gollum::Tex.render_formula(formula)
end
get %r{^/(javascript|css|images)} do
halt 404
end
@@ -155,6 +163,7 @@ module Precious
@page = page
@name = name
@content = page.formatted_data
@editable = true
mustache :page
else
halt 404
@@ -169,6 +178,13 @@ module Precious
mustache :search
end
get '/pages' do
wiki = Gollum::Wiki.new(settings.gollum_path, settings.wiki_options)
@results = wiki.pages
@ref = wiki.ref
mustache :pages
end
get '/*' do
show_page_or_file(params[:splat].first)
end
@@ -179,6 +195,7 @@ module Precious
@page = page
@name = name
@content = page.formatted_data
@editable = true
mustache :page
elsif file = wiki.file(name)
content_type file.mime_type
@@ -190,7 +207,7 @@ module Precious
end
def update_wiki_page(wiki, page, content, commit_message, name = nil, format = nil)
return if !page ||
return if !page ||
((!content || page.raw_data == content) && page.format == format)
name ||= page.name
format = (format || page.format).to_sym
@@ -18,7 +18,7 @@
width: 450px;
border: 7px solid #999;
border: 7px solid rgba(0, 0, 0, 0.3);
border: 7px solid rgba(0, 0, 0, 0.3);
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
@@ -28,7 +28,7 @@
background-color: #fff;
overflow: hidden;
padding: 1em;
background: -webkit-gradient(linear, left top, left bottom, from(#f7f7f7), to(#ffffff));
background: -moz-linear-gradient(top, #f7f7f7, #ffffff);
}
@@ -71,7 +71,7 @@
padding: 0;
min-width: 80px;
}
#gollum-dialog-dialog-body fieldset .field input[type="text"] {
border: 1px solid #ddd;
display: block;
@@ -82,11 +82,11 @@
padding: 0.3em 0.5em;
width: 96.5%;
}
#gollum-dialog-dialog-body fieldset .field input.code {
font-family: 'Monaco', 'Courier New', Courier, monospace;
}
#gollum-dialog-dialog-body fieldset .field:last-child {
margin: 0 0 1em 0;
}
@@ -30,8 +30,9 @@ a {
-webkit-border-radius: 1em;
}
.ff #gollum-editor,
.ie #gollum-editor {
padding-bottom: 1em;
padding-bottom: 1em;
}
#gollum-editor form fieldset {
@@ -51,9 +52,9 @@ a {
background: #fff;
border: 1px solid #ddd;
color: #000;
font-size: 1.3em;
font-size: 1.1em;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
line-height: 1.8em;
line-height: 1.5em;
margin: 1em 0 0.4em;
padding: 0.5em;
width: 98%;
@@ -119,11 +120,11 @@ a {
/* text-indent: -5000px; */
text-shadow: 0 1px 0 #fff;
width: 25px;
border-radius: 0.3em;
-moz-border-radius: 0.3em;
-webkit-border-radius: 0.3em;
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec');
background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec));
background: -moz-linear-gradient(top, #f4f4f4, #ececec);
@@ -133,7 +134,7 @@ a {
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
text-decoration: none;
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#599bdc', endColorstr='#3072b3');
background: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3));
background: -moz-linear-gradient(top, #599bdc, #3072b3);
@@ -162,7 +163,7 @@ a#function-h2 span { background-position: -244px 0; }
a#function-h3 span { background-position: -271px 0; }
a#function-link span { background-position: -298px 0; }
a#function-image span { background-position: -324px 0; }
a#function-help span { background-position: -405px 0; }
a#function-help span { background-position: -405px 0; }
a#function-bold:hover span { background-position: 0 -28px; }
a#function-italic:hover span { background-position: -27px -28px; }
@@ -177,7 +178,7 @@ a#function-h2:hover span { background-position: -244px -28px; }
a#function-h3:hover span { background-position: -271px -28px; }
a#function-link:hover span { background-position: -298px -28px; }
a#function-image:hover span { background-position: -324px -28px; }
a#function-help:hover span { background-position: -405px -28px; }
a#function-help:hover span { background-position: -405px -28px; }
#gollum-editor #gollum-editor-function-bar a.disabled {
@@ -192,60 +193,52 @@ a#function-help:hover span { background-position: -405px -28px; }
#gollum-editor #gollum-editor-function-bar #gollum-editor-format-selector {
overflow: hidden;
padding: 0 0 1.1em 0;
padding: .2em 0 .5em 0;
}
#gollum-editor #gollum-editor-function-bar
#gollum-editor-format-selector select {
#gollum-editor #gollum-editor-function-bar
#gollum-editor-format-selector select {
background-color: #f9f9f9;
border: 1px solid transparent;
border: 1px solid #ddd;
color: #333;
float: right;
font-size: 1.1em;
font-size: 1em;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-weight: bold;
line-height: 1.6em;
padding: 0.5em 0.7em;
margin-bottom: 0;
padding: 0.3em 0.4em;
border-radius: 0.5em;
-moz-border-radius: 0.5em;
-webkit-border-radius: 0.5em;
-moz-outline: none;
}
#gollum-editor #gollum-editor-function-bar
#gollum-editor-format-selector select:hover {
background-color: #fff;
border: 1px solid #ddd;
-moz-outline: none;
-webkit-border-radius: 0.5em;
}
#gollum-editor #gollum-editor-function-bar
#gollum-editor-format-selector label {
color: #999;
float: right;
font-size: 1.1em;
font-size: 1em;
font-weight: bold;
line-height: 1.6em;
padding: 0.6em 0.5em 0 0;
padding: .3em 0.5em 0 0;
}
#gollum-editor #gollum-editor-function-bar
#gollum-editor-format-selector label:after {
content: ':';
}
/* @section form-fields */
#gollum-editor textarea#gollum-editor-body {
background: #fff;
border: 1px solid #ddd;
font-size: 1.3em;
font-size: 1em;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
line-height: 1.8em;
line-height: 1.4em;
margin: 1em 0 0.4em;
padding: 0.5em; /* I don't really like mixing pct & em here… */
width: 98%;
@@ -259,7 +252,7 @@ a#function-help:hover span { background-position: -405px -28px; }
cursor: pointer;
display: block;
float: left;
font-size: 1.2em;
font-size: 1em;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-weight: bold;
margin: 0;
@@ -322,11 +315,11 @@ a#function-help:hover span { background-position: -405px -28px; }
margin: 0.2em 0.5em 0.75em 0;
text-shadow: 0 1px 0 #fff;
width: 25px;
border-radius: 0.3em;
-moz-border-radius: 0.3em;
-webkit-border-radius: 0.3em;
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#f4f4f4', endColorstr='#ececec');
background: -webkit-gradient(linear, left top, left bottom, from(#f4f4f4), to(#ececec));
background: -moz-linear-gradient(top, #f4f4f4, #ececec);
@@ -346,7 +339,7 @@ a#function-help:hover span { background-position: -405px -28px; }
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3);
text-decoration: none;
filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#599bdc', endColorstr='#3072b3');
background: -webkit-gradient(linear, left top, left bottom, from(#599bdc), to(#3072b3));
background: -moz-linear-gradient(top, #599bdc, #3072b3);
@@ -403,7 +396,7 @@ a#function-help:hover span { background-position: -405px -28px; }
color: #333;
cursor: pointer;
display: block;
font-size: 1.2em;
font-size: 1em;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-weight: bold;
line-height: 1.2em;
@@ -461,16 +454,16 @@ a#function-help:hover span { background-position: -405px -28px; }
padding: 1em 0;
width: 18%;
}
#gollum-editor-help-parent {
border-right: 1px solid #eee;
}
#gollum-editor-help-list {
background: #fafafa;
border-right: 1px solid #eee;
}
#gollum-editor-help-parent li,
#gollum-editor-help-list li {
font-size: 1.2em;
@@ -478,7 +471,7 @@ a#function-help:hover span { background-position: -405px -28px; }
margin: 0;
padding: 0;
}
#gollum-editor-help-parent li a,
#gollum-editor-help-list li a {
border: 1px solid transparent;
@@ -490,16 +483,16 @@ a#function-help:hover span { background-position: -405px -28px; }
padding: 0.2em 1em;
text-shadow: 0 -1px 0 #fff;
}
#gollum-editor-help-parent li a:hover,
#gollum-editor-help-list li a:hover {
background: #fff;
border-color: #f0f0f0;
text-decoration: none;
box-shadow: none;
}
#gollum-editor-help-parent li a.selected,
#gollum-editor-help-list li a.selected {
border: 1px solid #eee;
@@ -507,29 +500,29 @@ a#function-help:hover span { background-position: -405px -28px; }
border-width: 1px 0;
background: #fff;
color: #000;
box-shadow: 0 1px 2px #f0f0f0;
}
#gollum-editor-help-wrapper {
background: #fff;
overflow: auto;
height: 17em;
padding: 1em;
}
#gollum-editor-help-content {
font-size: 1.2em;
margin: 0 1em 0 0.5em;
padding: 0;
line-height: 1.8em;
}
#gollum-editor-help-content p {
margin: 0 0 1em 0;
padding: 0;
}
/* IE */
.ie #gollum-editor .singleline input {
padding-top: 0.25em;
@@ -1,3 +1,10 @@
#wiki-wrapper #template blockquote {
margin: 1em 0;
border-left: 4px solid #ddd;
padding-left: .8em;
color: #555;
}
/*
gollum.css
A basic stylesheet for Gollum
@@ -6,7 +13,7 @@
/* @section core */
body, html {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 10px; /* -> 1em */
font-size: 10px;
margin: 0;
padding: 0;
}
@@ -30,25 +37,19 @@ a:hover, a:visited {
/* @section head */
#head {
border-bottom: 1px solid #ccc;
border-bottom: 1px solid #ddd;
margin: 4.5em 0 0.5em;
padding: 0.5em 0;
overflow: hidden;
}
#head h1 {
font-size: 3.3em;
float: left;
line-height: normal;
margin: 0;
padding: 0.08em 0 0 0;
width: 50%;
display: none;
}
#head ul.actions {
float: right;
}
/* @section content */
#wiki-content {
height: 1%;
@@ -76,7 +77,7 @@ a:hover, a:visited {
.has-rightbar #wiki-body {
width: 68%;
}
/* @section rightbar */
#wiki-rightbar {
background-color: #f7f7f7;
@@ -85,12 +86,12 @@ a:hover, a:visited {
float: right;
padding: 7px;
width: 25%;
border-radius: 0.5em;
-moz-border-radius: 0.5em;
-webkit-border-radius: 0.5em;
}
#wiki-rightbar p {
margin: 13px 0 0;
}
@@ -106,13 +107,13 @@ a:hover, a:visited {
padding: 0 0 0.5em 0;
text-shadow: 0 1px 0 #fff;
}
/* Back arrow */
#wiki-rightbar p.parent:before {
color: #666;
content: "← ";
}
#wiki-rightbar h3 {
font-size: 1.2em;
color: #333;
@@ -120,12 +121,12 @@ a:hover, a:visited {
padding: 0;
text-shadow: 0 1px 0 #fff;
}
#wiki-rightbar ul {
margin: 0.5em 0 1em;
padding: 0;
}
#wiki-rightbar ul li {
color: #bbb;
margin: 0 0 0 1em;
@@ -133,23 +134,24 @@ a:hover, a:visited {
line-height: 1.75em;
list-style-position: inside;
list-style-type: round;
}
}
#wiki-rightbar #nav ul li a {
font-weight: bold;
text-shadow: 0 1px 0 #fff;
}
/* @section footer */
#wiki-footer {
clear: both;
margin: 2em 0 5em;
}
.has-rightbar #wiki-footer {
width: 70%;
}
#wiki-footer #footer-content {
background-color: #f7f7f7;
border: 1px solid #ddd;
@@ -157,12 +159,12 @@ a:hover, a:visited {
line-height: 1.5em;
margin-top: 1.5em;
padding: 1em;
border-radius: 0.5em;
-moz-border-radius: 0.5em;
-webkit-border-radius: 0.5em;
}
#wiki-footer #footer-content h3 {
font-size: 1.2em;
color: #333;
@@ -170,18 +172,18 @@ a:hover, a:visited {
padding: 0 0 0.2em;
text-shadow: 0 1px 0 #fff;
}
#wiki-footer #footer-content p {
margin: 0.5em 0 0;
padding: 0;
}
#wiki-footer #footer-content ul.links {
margin: 0.5em 0 0;
overflow: hidden;
padding: 0;
}
#wiki-footer #footer-content ul.links li {
color: #999;
float: left;
@@ -190,34 +192,34 @@ a:hover, a:visited {
padding: 0;
margin-left: 0.75em;
}
#wiki-footer #footer-content ul.links li a {
font-weight: bold;
text-shadow: 0 1px 0 #fff;
}
#wiki-footer #footer-content ul.links li:first-child {
list-style-type: none;
margin: 0;
}
}
.ff #wiki-footer #footer-content ul.links li:first-child {
margin: 0 -0.75em 0 0;
}
/* @section page-footer */
.page #footer {
border-top: 1px solid #ccc;
border-top: 1px solid #ddd;
margin: 1em 0 7em;
}
#footer p#last-edit {
font-size: 1.2em;
font-size: .9em;
line-height: 1.6em;
color: #999;
margin: 0.9em 0;
}
#footer p#last-edit span.username {
font-weight: bold;
}
@@ -235,84 +237,86 @@ a:hover, a:visited {
}
#wiki-history {
margin-top: 3em;
margin-top: 2em;
}
#wiki-history fieldset {
border: 0;
margin: 2em 0;
margin: 1em 0;
padding: 0;
}
#wiki-history table, #wiki-history tbody {
border-collapse: collapse;
padding: 0;
margin: 0;
width: 100%;
}
#wiki-history table tr {
padding: 0;
margin: 0;
}
#wiki-history table tr {
background-color: #ebf2f6;
}
#wiki-history table tr td {
border: 1px solid #c0dce9;
font-size: 1.2em;
font-size: 1em;
line-height: 1.6em;
margin: 0;
padding: 0.3em 0.7em;
}
#wiki-history table tr td.checkbox {
min-width: 2em;
width: 4em;
padding: 0.3em;
}
#wiki-history table tr td.checkbox input {
cursor: pointer;
display: block;
padding-right: 0;
padding-top: 0.4em;
margin-right: -0.2em;
margin: 0 auto;
width: 1.2em;
height: 1.2em;
}
#wiki-history table tr:nth-child(2n),
#wiki-history table tr.alt-row {
background-color: #f3f7fa;
}
#wiki-history table tr.selected {
background-color: #ffffea !important;
z-index: 100;
}
#wiki-history table tr td.commit-name {
border-left: 0;
}
#wiki-history table tr td.commit-name span.time-elapsed {
color: #999;
}
#wiki-history table tr td.author {
width: 20%;
}
#wiki-history table tr td.author a {
color: #000;
font-weight: bold;
}
#wiki-history table tr td.author a span.username {
display: block;
padding-top: 3px;
}
#wiki-history table tr td img {
background-color: #fff;
border: 1px solid #999;
@@ -324,13 +328,17 @@ a:hover, a:visited {
width: 18px;
padding: 2px;
}
#wiki-history table tr td.commit-name a {
font-size: 0.9em;
font-family: 'Monaco', 'Andale Mono', Consolas, 'Courier New', monospace;
padding: 0 0.2em;
}
.history #footer {
margin-bottom: 7em;
}
.history #wiki-history ul.actions li,
.history #footer ul.actions li {
margin: 0 0.6em 0 0;
@@ -359,25 +367,25 @@ a:hover, a:visited {
color: #000;
font-weight: bold;
}
.results #results {
border-bottom: 1px solid #ccc;
margin-bottom: 2em;
padding-bottom: 2em;
}
.results #results ul {
margin: 2em 0 0 0;
padding: 0;
}
.results #results ul li {
font-size: 1.2em;
line-height: 1.6em;
list-style-position: outside;
padding: 0.2em 0;
}
.results #results ul li span.count {
color: #999;
}
@@ -387,11 +395,11 @@ a:hover, a:visited {
line-height: 1.6em;
margin-top: 2em;
}
.results #footer ul.actions li {
margin: 0 1em 0 0;
}
/* @section compare */
.compare h1 {
@@ -403,38 +411,46 @@ a:hover, a:visited {
color: #000;
font-weight: bold;
}
.compare #compare-content {
margin-top: 3em;
}
.compare .data {
border: 1px solid #ddd;
margin-top: 1em;
margin: 1em 0 2em;
overflow: auto;
}
.compare .data table {
width: 100%;
}
.compare .data pre {
margin: 0;
padding: 0;
}
.compare .data pre div {
padding: 0 0 0 1em;
}
.compare .data tr td {
font-family: "Consolas", "Monaco", "Andale Mono", "Courier New", monospace;
font-size: 1.2em;
line-height: 1.8em;
line-height: 1.2em;
margin: 0;
padding: 0;
}
.compare .data tr td + td + td {
width: 100%;
}
.compare .data td.line_numbers {
background: #f7f7f7;
border-right: 1px solid #999;
color: #999;
color: #999;
padding: 0 0 0 0.5em;
}
@@ -443,32 +459,36 @@ a:hover, a:visited {
margin-left: 0;
margin-right: 0.6em;
}
.compare #footer {
margin-bottom: 7em;
}
/* @control syntax */
.highlight { background: #ffffff; }
.highlight .c { color: #999988; font-style: italic }
.highlight .err { color: #a61717; background-color: #e3d2d2 }
.highlight .k { font-weight: bold }
.highlight .o { font-weight: bold }
.highlight .cm { color: #999988; font-style: italic }
.highlight .cp { color: #999999; font-weight: bold }
.highlight .c1 { color: #999988; font-style: italic }
.highlight .cs { color: #999999; font-weight: bold; font-style: italic }
.highlight .gd { color: #000000; background-color: #ffdddd }
.highlight .gd .x { color: #000000; background-color: #ffaaaa }
.highlight .ge { font-style: italic }
.highlight .gr { color: #aa0000 }
.highlight .gh { color: #999999 }
.highlight .gi { color: #000000; background-color: #ddffdd }
.highlight .gi .x { color: #000000; background-color: #aaffaa }
.highlight .c { color: #999988; font-style: italic }
.highlight .err { color: #a61717; background-color: #e3d2d2 }
.highlight .k { font-weight: bold }
.highlight .o { font-weight: bold }
.highlight .cm { color: #999988; font-style: italic }
.highlight .cp { color: #999999; font-weight: bold }
.highlight .c1 { color: #999988; font-style: italic }
.highlight .cs { color: #999999; font-weight: bold; font-style: italic }
.highlight .gd { color: #000000; background-color: #ffdddd }
.highlight .gd .x { color: #000000; background-color: #ffaaaa }
.highlight .ge { font-style: italic }
.highlight .gr { color: #aa0000 }
.highlight .gh { color: #999999 }
.highlight .gi { color: #000000; background-color: #ddffdd }
.highlight .gi .x { color: #000000; background-color: #aaffaa }
.highlight .gc { color: #999; background-color: #EAF2F5 }
.highlight .go { color: #888888 }
.highlight .gp { color: #555555 }
.highlight .gs { font-weight: bold }
.highlight .gu { color: #aaaaaa }
.highlight .gt { color: #aa0000 }
.highlight .go { color: #888888 }
.highlight .gp { color: #555555 }
.highlight .gs { font-weight: bold }
.highlight .gu { color: #aaaaaa }
.highlight .gt { color: #aa0000 }
/* @control minibutton */
@@ -481,8 +501,9 @@ ul.actions {
ul.actions li {
float: left;
font-size: 1.2em;
font-size: 0.9em;
margin-left: 0.6em;
margin-bottom: 0.6em;
}
.minibutton a {
@@ -562,7 +583,7 @@ ul.actions {
margin: -10% 0 0 -35%;
position: absolute;
width: 70%;
border-radius: 0.5em;
-moz-border-radius: 0.5em;
-webkit-border-radius: 0.5em;
@@ -586,7 +607,6 @@ ul.actions {
/* @control searchbar */
#head #searchbar {
float: right;
margin: 1em 0 0 0;
padding: 0;
overflow: hidden;
}
@@ -595,7 +615,8 @@ ul.actions {
background: #fff;
border: 1px solid #d4d4d4;
overflow: hidden;
height: 2.2em;
border-radius: 0.3em;
-moz-border-radius: 0.3em;
-webkit-border-radius: 0.3em;
@@ -606,24 +627,21 @@ ul.actions {
color: #000;
float: left;
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 1.2em;
height: 1.8em;
font-size: 1em;
height: inherit;
padding: 0 .5em;
-webkit-focus-ring: none;
}
.ff #head #searchbar #searchbar-fauxtext input#search-query {
padding: 0.2em 0 0.2em 0.5em;
.ie8 #head #searchbar #searchbar-fauxtext input#search-query {
padding: 0.5em 0 0 0.5em;
}
.ie #head #searchbar #searchbar-fauxtext input#search-query {
padding: 0.4em 0 0 0.5em;
}
#head #searchbar #searchbar-fauxtext input#search-query.ph {
color: #999;
}
#head #searchbar #searchbar-fauxtext #search-submit {
border: 0;
border-left: 1px solid #d4d4d4;
@@ -631,35 +649,30 @@ ul.actions {
margin: 0 !important;
padding: 0;
float: right;
font-size: 1.2em;
height: inherit;
border-radius: 0 3px 3px 0;
-moz-border-radius: 0 3px 3px 0;
-webkit-border-radius: 0 3px 3px 0;
}
#head #searchbar #searchbar-fauxtext #search-submit span {
background-image: url(/images/icon-sprite.png);
background-position: -431px -1px;
background-repeat: no-repeat;
display: block;
height: 2em;
height: inherit;
overflow: hidden;
text-indent: -5000px;
width: 28px;
}
.ff #head #searchbar #searchbar-fauxtext #search-submit span,
.ie #head #searchbar #searchbar-fauxtext #search-submit span {
height: 2.2em;
}
#head #searchbar #searchbar-fauxtext #search-submit:hover span {
background-position: -431px -28px;
padding: 0;
}
#MathJax_Message {
display: none;
}
@@ -2,9 +2,29 @@
Gollum v3 Template
*/
/* margin & padding reset*/
* {
margin: 0;
padding: 0;
}
html, body {
color: #333;
}
body {
font: 13.34px helvetica,arial,freesans,clean,sans-serif;
line-height: 1.4;
}
img {
border: 0;
}
#template {
font-size: 13px;
line-height: 23px;
font-size: 14px;
line-height: 1.6;
margin-bottom: 40px;
}
@@ -15,35 +35,34 @@ a.absent {
/* Primary Body Copy */
#template p {
margin: 16px 0 0;
margin: 1.4em 0;
padding: 0;
}
/* ReST first graf in nested list */
#template * li p.first {
display: inline-block;
}
/* Headings */
#template h1, #template h2, #template h3,
#template h1, #template h2, #template h3,
#template h4, #template h5, #template h6 {
margin: 0;
padding: 0;
}
#template h1 {
border-top: 4px solid #ccc;
font-size: 32px;
font-size: 28px;
line-height: normal;
padding: 10px 0 0;
margin: 30px 0 0;
padding: 10px 0 0 0;
margin: 30px 0 10px;
}
#template h2 {
border-top: 4px solid #ccc;
border-bottom: 1px solid #ddd;
font-size: 22px;
line-height: normal;
margin: 22px 0 0;
line-height: 1.6;
margin: 22px 0 10px;
padding: 7px 0 0;
}
@@ -72,7 +91,7 @@ a.absent {
#template h6 {
color: #666;
font-size: 14px;
font-size: 14px;
line-height: 26px;
margin-bottom: -19px;
padding: 18px 0 0;
@@ -88,31 +107,32 @@ a.absent {
padding: 0;
}
/* Border Reset for headers with horizontal rules */
#template > h2:first-child,
/* Border Reset for headers with horizontal rules */
#template > h2:first-child,
#template > h1:first-child {
border: 0;
margin: 12px 0 0;
padding: 10px 0 0;
margin: 12px 0 10px;
padding: 10px 0 10px;
}
/* Lists, Blockquotes & Such */
#template ul,
#template ul,
#template ol {
margin: 0;
padding: 20px 0 0;
list-style-position: inside;
margin: 15px 0;
padding-left: 30px;
}
/* Nested Lists */
#template ul li ul,
#template ul li,
#template ol li,
#template ul li ul,
#template ol li ol,
#template ul li ol,
#template ol li ul,
#template ul ul,
#template ul ul,
#template ol ol {
padding: 0 0 0 14px;
padding: 0;
margin: 15px 0;
}
#template dl {
@@ -161,7 +181,7 @@ a.absent {
border: 1px solid #ccc;
text-align: left;
margin: 0;
padding: 6px 13px;
padding: 6px 13px;
}
/* Images & Stuff */
@@ -247,7 +267,7 @@ a.absent {
}
#template span.float-right {
display: block;
display: block;
margin-left: 13px;
overflow: hidden;
float: right;
@@ -279,38 +299,84 @@ a.absent {
font-size: 13px;
line-height: 19px;
overflow: auto;
padding: 6px;
padding: 6px 10px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
pre, code {
font: 12px 'Bitstream Vera Sans Mono','Courier',monospace
}
#template pre code, #template pre tt {
background-color: transparent;
border: none;
padding: 0;
}
#template .highlight { background: #ffffff; }
#template .highlight .c { color: #999988; font-style: italic }
#template .highlight .err { color: #a61717; background-color: #e3d2d2 }
#template .highlight .k { font-weight: bold }
#template .highlight .o { font-weight: bold }
#template .highlight .cm { color: #999988; font-style: italic }
#template .highlight .cp { color: #999999; font-weight: bold }
#template .highlight .c1 { color: #999988; font-style: italic }
#template .highlight .cs { color: #999999; font-weight: bold; font-style: italic }
#template .highlight .gd { color: #000000; background-color: #ffdddd }
#template .highlight .gd .x { color: #000000; background-color: #ffaaaa }
#template .highlight .ge { font-style: italic }
#template .highlight .gr { color: #aa0000 }
#template .highlight .gh { color: #999999 }
#template .highlight .gi { color: #000000; background-color: #ddffdd }
#template .highlight .gi .x { color: #000000; background-color: #aaffaa }
#template .highlight .gc { color: #999; background-color: #EAF2F5 }
#template .highlight .go { color: #888888 }
#template .highlight .gp { color: #555555 }
#template .highlight .gs { font-weight: bold }
#template .highlight .gu { color: #aaaaaa }
#template .highlight .gt { color: #aa0000 }
/*
Highlight rules from pull req 191
https://github.com/eboto/gollum/commit/5df09477abf4a04c82c7fcaa2bd7ee2a85e7ec82
*/
#template .highlight { background:#fff; }
#template .highlight .c { color:#998;font-style:italic; }
#template .highlight .err { color:#a61717;background-color:#e3d2d2; }
#template .highlight .k { font-weight:bold; }
#template .highlight .o { font-weight:bold; }
#template .highlight .cm { color:#998;font-style:italic; }
#template .highlight .cp { color:#999;font-weight:bold; }
#template .highlight .c1 { color:#998;font-style:italic; }
#template .highlight .cs { color:#999;font-weight:bold;font-style:italic; }
#template .highlight .gd { color:#000;background-color:#fdd; }
#template .highlight .gd .x { color:#000;background-color:#faa; }
#template .highlight .ge { font-style:italic; }
#template .highlight .gr { color:#a00; }
#template .highlight .gh { color:#999; }
#template .highlight .gi { color:#000;background-color:#dfd; }
#template .highlight .gi .x { color:#000;background-color:#afa; }
#template .highlight .go { color:#888; }
#template .highlight .gp { color:#555; }
#template .highlight .gs { font-weight:bold; }
#template .highlight .gu { color:#800080;font-weight:bold; }
#template .highlight .gt { color:#a00; }
#template .highlight .kc { font-weight:bold; }
#template .highlight .kd { font-weight:bold; }
#template .highlight .kp { font-weight:bold; }
#template .highlight .kr { font-weight:bold; }
#template .highlight .kt { color:#458;font-weight:bold; }
#template .highlight .m { color:#099; }
#template .highlight .s { color:#d14; }
#template .highlight .na { color:#008080; }
#template .highlight .nb { color:#0086B3; }
#template .highlight .nc { color:#458;font-weight:bold; }
#template .highlight .no { color:#008080; }
#template .highlight .ni { color:#800080; }
#template .highlight .ne { color:#900;font-weight:bold; }
#template .highlight .nf { color:#900;font-weight:bold; }
#template .highlight .nn { color:#555; }
#template .highlight .nt { color:#000080; }
#template .highlight .nv { color:#008080; }
#template .highlight .ow { font-weight:bold; }
#template .highlight .w { color:#bbb; }
#template .highlight .mf { color:#099; }
#template .highlight .mh { color:#099; }
#template .highlight .mi { color:#099; }
#template .highlight .mo { color:#099; }
#template .highlight .sb { color:#d14; }
#template .highlight .sc { color:#d14; }
#template .highlight .sd { color:#d14; }
#template .highlight .s2 { color:#d14; }
#template .highlight .se { color:#d14; }
#template .highlight .sh { color:#d14; }
#template .highlight .si { color:#d14; }
#template .highlight .sx { color:#d14; }
#template .highlight .sr { color:#009926; }
#template .highlight .s1 { color:#d14; }
#template .highlight .ss { color:#990073; }
#template .highlight .bp { color:#999; }
#template .highlight .vc { color:#008080; }
#template .highlight .vg { color:#008080; }
#template .highlight .vi { color:#008080; }
#template .highlight .il { color:#099; }

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

@@ -62,7 +62,7 @@
// get form fields
var oldAction = $('#gollum-editor form').attr('action');
var $form = $($('#gollum-editor form').get(0));
$form.attr('action', this.href);
$form.attr('action', this.href || '/preview');
$form.attr('target', '_blank');
$form.submit();
@@ -154,7 +154,13 @@
define: function( name, definitionObject ) {
LanguageDefinition._ACTIVE_LANG = name;
LanguageDefinition._LOADED_LANGS.push( name );
LanguageDefinition._LANG[name] = definitionObject;
if ( typeof $.GollumEditor.WikiLanguage == 'object' ) {
var definition = {};
$.extend(definition, $.GollumEditor.WikiLanguage, definitionObject);
LanguageDefinition._LANG[name] = definition;
} else {
LanguageDefinition._LANG[name] = definitionObject;
}
},
getActiveLanguage: function() {
@@ -162,6 +168,9 @@
},
setActiveLanguage: function( name ) {
if(LanguageDefinition.getHookFunctionFor("deactivate")) {
LanguageDefinition.getHookFunctionFor("deactivate")();
}
if ( !LanguageDefinition.isLoadedFor(name) ) {
LanguageDefinition._ACTIVE_LANG = null;
LanguageDefinition.loadFor( name, function(x, t) {
@@ -180,13 +189,33 @@
FormatSelector.updateSelected();
}
if(LanguageDefinition.getHookFunctionFor("activate")) {
LanguageDefinition.getHookFunctionFor("activate")();
}
} );
} else {
LanguageDefinition._ACTIVE_LANG = name;
FunctionBar.refresh();
if(LanguageDefinition.getHookFunctionFor("activate")) {
LanguageDefinition.getHookFunctionFor("activate")();
}
}
},
getHookFunctionFor: function(attr, specified_lang) {
if ( !specified_lang ) {
specified_lang = LanguageDefinition._ACTIVE_LANG;
}
if ( LanguageDefinition.isLoadedFor(specified_lang) &&
LanguageDefinition._LANG[specified_lang][attr] &&
typeof LanguageDefinition._LANG[specified_lang][attr] == 'function' ) {
return LanguageDefinition._LANG[specified_lang][attr];
}
return null;
},
/**
* gets a definition object for a specified attribute
@@ -368,17 +397,6 @@
},
/**
* EditorHas.mathJax
* True if the editor has MathJax enabled and running, false otherwise.
*
* @return boolean
*/
mathJax: function() {
return (typeof window.MathJax == 'object');
},
/**
* EditorHas.previewButton
* True if the editor has a preview button, false otherwise.
@@ -776,226 +794,216 @@
var Help = {
_ACTIVE_HELP: '',
_LOADED_HELP_LANGS: [],
_HELP: {},
_LOADED_HELP_LANGS: [],
_HELP: {},
/**
* Help.define
*
* Defines a new help context and enables the help function if it
* exists in the Gollum Function Bar.
*
* @param string name The name you're giving to this help context.
* Generally, this should match the language name.
* @param object definitionObject The definition object being loaded from a
* language / help definition file.
* @return void
*/
define: function( name, definitionObject ) {
if ( Help.isValidHelpFormat( definitionObject ) ) {
debug('help is a valid format');
Help._ACTIVE_HELP_LANG = name;
Help._LOADED_HELP_LANGS.push( name );
Help._HELP[name] = definitionObject;
if ( $("#function-help").length ) {
if ( $('#function-help').hasClass('disabled') ) {
$('#function-help').removeClass('disabled');
}
$('#function-help').unbind('click');
$('#function-help').click( Help.evtHelpButtonClick );
// generate help menus
Help.generateHelpMenuFor( name );
if ( $('#gollum-editor-help').length &&
typeof $('#gollum-editor-help').attr('data-autodisplay') !== 'undefined' &&
$('#gollum-editor-help').attr('data-autodisplay') === 'true' ) {
Help.show();
}
}
} else {
if ( $('#function-help').length ) {
$('#function-help').addClass('disabled');
}
}
},
/**
* Help.generateHelpMenuFor
* Generates the markup for the main help menu given a context name.
*
* @param string name The context name.
* @return void
*/
generateHelpMenuFor: function( name ) {
if ( !Help._HELP[name] ) {
debug('Help is not defined for ' + name.toString());
return false;
}
var helpData = Help._HELP[name];
// clear this shiz out
$('#gollum-editor-help-parent').html('');
$('#gollum-editor-help-list').html('');
$('#gollum-editor-help-content').html('');
// go go inefficient algorithm
for ( var i=0; i < helpData.length; i++ ) {
if ( typeof helpData[i] != 'object' ) {
break;
}
var $newLi = $('<li><a href="#" rel="' + i + '">' +
helpData[i].menuName + '</a></li>');
$('#gollum-editor-help-parent').append( $newLi );
if ( i === 0 ) {
// select on first run
$newLi.children('a').addClass('selected');
}
$newLi.children('a').click( Help.evtParentMenuClick );
}
// generate parent submenu on first run
Help.generateSubMenu( helpData[0], 0 );
$($('#gollum-editor-help-list li a').get(0)).click();
},
/**
* Help.generateSubMenu
* Generates the markup for the inline help sub-menu given the data
* object for the submenu and the array index to start at.
*
* @param object subData The data for the sub-menu.
* @param integer index The index clicked on (parent menu index).
* @return void
*/
generateSubMenu: function( subData, index ) {
$('#gollum-editor-help-list').html('');
$('#gollum-editor-help-content').html('');
for ( var i=0; i < subData.content.length; i++ ) {
if ( typeof subData.content[i] != 'object' ) {
break;
}
var $subLi = $('<li><a href="#" rel="' + index + ':' + i + '">' +
subData.content[i].menuName + '</a></li>');
/**
* Help.define
*
* Defines a new help context and enables the help function if it
* exists in the Gollum Function Bar.
*
* @param string name The name you're giving to this help context.
* Generally, this should match the language name.
* @param object definitionObject The definition object being loaded from a
* language / help definition file.
* @return void
*/
define: function( name, definitionObject ) {
if ( Help.isValidHelpFormat( definitionObject ) ) {
debug('help is a valid format');
$('#gollum-editor-help-list').append( $subLi );
$subLi.children('a').click( Help.evtSubMenuClick );
}
},
Help._ACTIVE_HELP_LANG = name;
Help._LOADED_HELP_LANGS.push( name );
Help._HELP[name] = definitionObject;
hide: function() {
if ( $.browser.msie ) {
$('#gollum-editor-help').css('display', 'none');
} else {
$('#gollum-editor-help').animate({
opacity: 0
}, 200, function() {
$('#gollum-editor-help')
.animate({ height: 'hide' }, 200);
});
}
},
if ( $("#function-help").length ) {
if ( $('#function-help').hasClass('disabled') ) {
$('#function-help').removeClass('disabled');
}
$('#function-help').unbind('click');
$('#function-help').click( Help.evtHelpButtonClick );
show: function() {
if ( $.browser.msie ) {
// bypass effects for internet explorer, since it does weird crap
// to text antialiasing with opacity animations
$('#gollum-editor-help').css('display', 'block');
} else {
$('#gollum-editor-help').animate({
height: 'show'
}, 200, function() {
$('#gollum-editor-help')
.animate({ opacity: 1 }, 300);
});
}
},
// generate help menus
Help.generateHelpMenuFor( name );
}
} else {
if ( $('#function-help').length ) {
$('#function-help').addClass('disabled');
}
}
},
/**
* Help.showHelpFor
* Displays the actual help content given the two menu indexes, which are
* rendered in the rel="" attributes of the help menus
*
* @param integer index1 parent index
* @param integer index2 submenu index
* @return void
*/
showHelpFor: function( index1, index2 ) {
var html =
Help._HELP[Help._ACTIVE_HELP_LANG][index1].content[index2].data;
$('#gollum-editor-help-content').html(html);
},
/**
* Help.isLoadedFor
* Returns true if help is loaded for a specific markup language,
* false otherwise.
*
* @param string name The name of the markup language.
* @return boolean
*/
isLoadedFor: function( name ) {
for ( var i=0; i < Help._LOADED_HELP_LANGS.length; i++ ) {
if ( name == Help._LOADED_HELP_LANGS[i] ) {
return true;
}
}
return false;
},
/**
* Help.generateHelpMenuFor
* Generates the markup for the main help menu given a context name.
*
* @param string name The context name.
* @return void
*/
generateHelpMenuFor: function( name ) {
if ( !Help._HELP[name] ) {
debug('Help is not defined for ' + name.toString());
return false;
}
var helpData = Help._HELP[name];
isShown: function() {
return ($('#gollum-editor-help').is(':visible'));
},
if ( EditorHas.mathJax() && Help.isLoadedFor('mathjax') ) {
debug('Adding MathJax support to help');
// TODO
}
/**
* Help.isValidHelpFormat
* Does a quick check to make sure that the help definition isn't in a
* completely messed-up format.
*
* @param object (Array) helpArr The help definition array.
* @return boolean
*/
isValidHelpFormat: function( helpArr ) {
return ( typeof helpArr == 'object' &&
helpArr.length &&
typeof helpArr[0].menuName == 'string' &&
typeof helpArr[0].content == 'object' &&
helpArr[0].content.length );
},
// clear this shiz out
$('#gollum-editor-help-parent').html('');
$('#gollum-editor-help-list').html('');
$('#gollum-editor-help-content').html('');
// go go inefficient algorithm
for ( var i=0; i < helpData.length; i++ ) {
if ( typeof helpData[i] != 'object' ) {
break;
}
var $newLi = $('<li><a href="#" rel="' + i + '">' +
helpData[i].menuName + '</a></li>');
$('#gollum-editor-help-parent').append( $newLi );
if ( i === 0 ) {
// select on first run
$newLi.children('a').addClass('selected');
}
$newLi.children('a').click( Help.evtParentMenuClick );
}
// generate parent submenu on first run
Help.generateSubMenu( helpData[0], 0 );
$($('#gollum-editor-help-list li a').get(0)).click();
},
/**
* Help.generateSubMenu
* Generates the markup for the inline help sub-menu given the data
* object for the submenu and the array index to start at.
*
* @param object subData The data for the sub-menu.
* @param integer index The index clicked on (parent menu index).
* @return void
*/
generateSubMenu: function( subData, index ) {
$('#gollum-editor-help-list').html('');
$('#gollum-editor-help-content').html('');
for ( var i=0; i < subData.content.length; i++ ) {
if ( typeof subData.content[i] != 'object' ) {
break;
}
var $subLi = $('<li><a href="#" rel="' + index + ':' + i + '">' +
subData.content[i].menuName + '</a></li>');
$('#gollum-editor-help-list').append( $subLi );
$subLi.children('a').click( Help.evtSubMenuClick );
}
},
hide: function() {
if ( $.browser.msie ) {
$('#gollum-editor-help').css('display', 'none');
} else {
$('#gollum-editor-help').animate({
opacity: 0
}, 200,
function() {
$('#gollum-editor-help')
.animate({ height: 'hide' }, 200);
});
}
},
show: function() {
if ( $.browser.msie ) {
// bypass effects for internet explorer, since it does weird crap
// to text antialiasing with opacity animations
$('#gollum-editor-help').css('display', 'block');
} else {
$('#gollum-editor-help').animate({
height: 'show'
}, 200,
function() {
$('#gollum-editor-help')
.animate({ opacity: 1 }, 300);
});
}
},
/**
* Help.showHelpFor
* Displays the actual help content given the two menu indexes, which are
* rendered in the rel="" attributes of the help menus
*
* @param integer index1 parent index
* @param integer index2 submenu index
* @return void
*/
showHelpFor: function( index1, index2 ) {
var html =
Help._HELP[Help._ACTIVE_HELP_LANG][index1].content[index2].data;
$('#gollum-editor-help-content').html(html);
},
/**
* Help.isLoadedFor
* Returns true if help is loaded for a specific markup language,
* false otherwise.
*
* @param string name The name of the markup language.
* @return boolean
*/
isLoadedFor: function( name ) {
for ( var i=0; i < Help._LOADED_HELP_LANGS.length; i++ ) {
if ( name == Help._LOADED_HELP_LANGS[i] ) {
return true;
}
}
return false;
},
isShown: function() {
return ( $('#gollum-editor-help').is(':visible') );
},
/**
* Help.isValidHelpFormat
* Does a quick check to make sure that the help definition isn't in a
* completely messed-up format.
*
* @param object (Array) helpArr The help definition array.
* @return boolean
*/
isValidHelpFormat: function( helpArr ) {
return ( typeof helpArr == 'object' &&
helpArr.length &&
typeof helpArr[0].menuName == 'string' &&
typeof helpArr[0].content == 'object' &&
helpArr[0].content.length );
},
/**
* Help.setActiveHelp
* Sets the active help definition to the one defined in the argument,
* re-rendering the help menu to match the new definition.
*
* @param string name The name of the help definition.
* @return void
*/
setActiveHelp: function( name ) {
if ( !Help.isLoadedFor( name ) ) {
if ( $('#function-help').length ) {
$('#function-help').addClass('disabled');
}
if ( Help.isShown() ) {
Help.hide();
}
} else {
/**
* Help.setActiveHelp
* Sets the active help definition to the one defined in the argument,
* re-rendering the help menu to match the new definition.
*
* @param string name The name of the help definition.
* @return void
*/
setActiveHelp: function( name ) {
if ( !Help.isLoadedFor( name ) ) {
if ( $('#function-help').length ) {
$('#function-help').addClass('disabled');
}
if ( Help.isShown() ) {
Help.hide();
}
} else {
Help._ACTIVE_HELP_LANG = name;
if ( $("#function-help").length ) {
if ( $('#function-help').hasClass('disabled') ) {
@@ -1005,80 +1013,84 @@
$('#function-help').click( Help.evtHelpButtonClick );
Help.generateHelpMenuFor( name );
}
}
},
}
},
/**
* Help.evtHelpButtonClick
* Event handler for clicking the help button in the function bar.
*
* @param jQuery.Event e The jQuery event object.
* @return void
*/
evtHelpButtonClick: function( e ) {
e.preventDefault();
if ( Help.isShown() ) {
// turn off autodisplay if it's on
if ( $('#gollum-editor-help').length &&
$('#gollum-editor-help').attr('data-autodisplay') !== 'undefined' &&
$('#gollum-editor-help').attr('data-autodisplay') === 'true' ) {
$.post('/wiki/help?_method=delete');
$('#gollum-editor-help').attr('data-autodisplay', '');
}
Help.hide(); }
else { Help.show(); }
},
/**
* Help.evtHelpButtonClick
* Event handler for clicking the help button in the function bar.
*
* @param jQuery.Event e The jQuery event object.
* @return void
*/
evtHelpButtonClick: function( e ) {
e.preventDefault();
if ( Help.isShown() ) { Help.hide(); }
else { Help.show(); }
},
/**
* Help.evtParentMenuClick
* Event handler for clicking on an item in the parent menu. Automatically
* renders the submenu for the parent menu as well as the first result for
* the actual plain text.
*
* @param jQuery.Event e The jQuery event object.
* @return void
*/
evtParentMenuClick: function( e ) {
e.preventDefault();
// short circuit if we've selected this already
if ( $(this).hasClass('selected') ) { return; }
// populate from help data for this
var helpIndex = $(this).attr('rel');
var subData = Help._HELP[Help._ACTIVE_HELP_LANG][helpIndex];
/**
* Help.evtParentMenuClick
* Event handler for clicking on an item in the parent menu. Automatically
* renders the submenu for the parent menu as well as the first result for
* the actual plain text.
*
* @param jQuery.Event e The jQuery event object.
* @return void
*/
evtParentMenuClick: function( e ) {
e.preventDefault();
// short circuit if we've selected this already
if ( $(this).hasClass('selected') ) { return; }
$('#gollum-editor-help-parent li a').removeClass('selected');
$(this).addClass('selected');
Help.generateSubMenu( subData, helpIndex );
$($('#gollum-editor-help-list li a').get(0)).click();
},
// populate from help data for this
var helpIndex = $(this).attr('rel');
var subData = Help._HELP[Help._ACTIVE_HELP_LANG][helpIndex];
/**
* Help.evtSubMenuClick
* Event handler for clicking an item in a help submenu. Renders the
* appropriate text for the submenu link.
*
* @param jQuery.Event e The jQuery event object.
* @return void
*/
evtSubMenuClick: function( e ) {
e.preventDefault();
if ( $(this).hasClass('selected') ) { return; }
$('#gollum-editor-help-parent li a').removeClass('selected');
$(this).addClass('selected');
Help.generateSubMenu( subData, helpIndex );
$($('#gollum-editor-help-list li a').get(0)).click();
},
// split index rel data
var rawIndex = $(this).attr('rel').split(':');
$('#gollum-editor-help-list li a').removeClass('selected');
$(this).addClass('selected');
Help.showHelpFor( rawIndex[0], rawIndex[1] );
}
};
// Publicly-accessible function to Help.define
$.GollumEditor.defineHelp = Help.define;
/**
* Help.evtSubMenuClick
* Event handler for clicking an item in a help submenu. Renders the
* appropriate text for the submenu link.
*
* @param jQuery.Event e The jQuery event object.
* @return void
*/
evtSubMenuClick: function( e ) {
e.preventDefault();
if ( $(this).hasClass('selected') ) { return; }
// Dialog exists as its own thing now
$.GollumEditor.Dialog = $.GollumDialog;
$.GollumEditor.replaceSelection = function( repText ) {
FunctionBar.replaceFieldSelection( $('#gollum-editor-body'), repText );
};
// split index rel data
var rawIndex = $(this).attr('rel').split(':');
$('#gollum-editor-help-list li a').removeClass('selected');
$(this).addClass('selected');
Help.showHelpFor( rawIndex[0], rawIndex[1] );
}
};
// Publicly-accessible function to Help.define
$.GollumEditor.defineHelp = Help.define;
// Dialog exists as its own thing now
$.GollumEditor.Dialog = $.GollumDialog;
$.GollumEditor.replaceSelection = function( repText ) {
FunctionBar.replaceFieldSelection( $('#gollum-editor-body'), repText );
};
// Placeholder exists as its own thing now
$.GollumEditor.Placeholder = $.GollumPlaceholder;
// Placeholder exists as its own thing now
$.GollumEditor.Placeholder = $.GollumPlaceholder;
})(jQuery);
@@ -3,40 +3,40 @@
*
*/
(function() {
(function($) {
var ASCIIDoc = {
'function-bold' : {
search: /(^[\n]+)([\n\s]*)/g,
replace: "*$1*$2"
},
'function-italic' : {
search: /(^[\n]+)([\n\s]*)/g,
replace: "_$1_$2"
},
'function-code' : {
search: /(^[\n]+)([\n\s]*)/g,
replace: "+$1+$2"
},
'function-ul' : {
'function-ul' : {
search: /(^[\n]+)([\n\s]*)/g,
replace: "* $1$2"
},
'function-ol' : {
search: /(.+)([\n]?)/g,
replace: ". $1$2"
},
'function-blockquote' : {
search: /(.+)([\n]?)/g,
replace: "----\n$1$2\n----\n"
},
'function-link' : {
exec: function( txt, selText, $field ) {
var results = null;
@@ -59,17 +59,17 @@ var ASCIIDoc = {
OK: function( res ) {
var h = '';
if ( res['text'] && res['href'] ) {
h = res['href'] + '[' +
h = res['href'] + '[' +
res['text'] + ']';
}
$.GollumEditor.replaceSelection( h );
}
});
}
},
'function-image' : {
exec: function( txt, selText, $field ) {
var results = null;
@@ -98,10 +98,10 @@ var ASCIIDoc = {
});
}
}
};
jQuery.GollumEditor.defineLanguage('asciidoc', ASCIIDoc);
$.GollumEditor.defineLanguage('asciidoc', ASCIIDoc);
var ASCIIDocHelp = [
@@ -158,11 +158,10 @@ var ASCIIDocHelp = [
menuName: 'Images',
data: '<p>Images in ASCIIDoc work much like hyperlinks, but image URLs are prefixed with <code>image:</code>. For example, to link to an image at <code>images/icons/home.png</code>, write <code>image:images/icons/home.png</code>. Alt text can be added by appending the text to the URI in <code>[</code> (brackets).</p>'
}
]
]
}
];
jQuery.GollumEditor.defineHelp('asciidoc', ASCIIDocHelp);
})();
$.GollumEditor.defineHelp('asciidoc', ASCIIDocHelp);
})(jQuery);
@@ -2,40 +2,40 @@
* Creole Language Definition
*
*/
(function() {
(function($) {
var Creole = {
'function-bold' : {
search: /([^\n]+)([\n]*)/gi,
replace: "**$1**$2"
},
'function-italic' : {
search: /([^\n]+)([\n]*)/gi,
replace: "//$1//$2"
},
'function-code' : {
search: /([^\n]+)([\n]*)/gi,
replace: "{{{$1}}}$2"
},
'function-hr' : {
append: "\n\n----\n\n";
append: "\n\n----\n\n"
},
'function-ul' : {
'function-ul' : {
search: /(.+)([\n]?)/gi,
replace: "* $1$2"
},
/* This looks silly but is completely valid Markdown */
/* This looks silly but is completely valid Markdown */
'function-ol' : {
search: /(.+)([\n]?)/gi,
replace: "# $1$2"
},
'function-link' : {
exec: function( txt, selText, $field ) {
var results = null;
@@ -56,16 +56,16 @@ var Creole = {
}
],
OK: function( res ) {
var h = '[[' + res['href'] + '|' +
var h = '[[' + res['href'] + '|' +
res['text'] + ']]';
$.GollumEditor.replaceSelection( h );
}
});
}
},
'function-image' : {
exec: function( txt, selText, $field ) {
var results = null;
@@ -84,8 +84,9 @@ var Creole = {
}
],
OK: function( res ) {
var h = '';
if ( res['url'] && res['alt'] ) {
var h = '{{' + res['url'];
h = '{{' + res['url'];
if ( res['alt'] != '' ) {
h += '|' + res['alt'] + '}}';
}
@@ -95,9 +96,9 @@ var Creole = {
});
}
}
};
jQuery.GollumEditor.defineLanguage('creole', Creole);
$.GollumEditor.defineLanguage('creole', Creole);
})();
})(jQuery);
@@ -1,9 +1,9 @@
/**
* Markdown Language Definition
*
* A language definition for string manipulation operations, in this case
*
* A language definition for string manipulation operations, in this case
* for the Markdown, uh, markup language. Uses regexes for various functions
* by default. If regexes won't do and you need to do some serious
* by default. If regexes won't do and you need to do some serious
* manipulation, you can declare a function in the object instead.
*
* Code example:
@@ -14,63 +14,63 @@
* search: /somesearchregex/gi,
* replace: 'replace text for RegExp.replace',
* append: "just add this where the cursor is"
* }
* }
*
**/
(function() {
(function($) {
var MarkDown = {
'function-bold' : {
search: /([^\n]+)([\n\s]*)/g,
replace: "**$1**$2"
},
'function-italic' : {
search: /([^\n]+)([\n\s]*)/g,
replace: "_$1_$2"
},
'function-code' : {
search: /(^[\n]+)([\n\s]*)/g,
replace: "`$1`$2"
},
'function-hr' : {
append: "\n***\n"
},
'function-ul' : {
'function-ul' : {
search: /(.+)([\n]?)/g,
replace: "* $1$2"
},
/* This looks silly but is completely valid Markdown */
/* This looks silly but is completely valid Markdown */
'function-ol' : {
search: /(.+)([\n]?)/g,
replace: "1. $1$2"
},
'function-blockquote' : {
search: /(.+)([\n]?)/g,
replace: "> $1$2"
},
},
'function-h1' : {
search: /(.+)([\n]?)/g,
replace: "# $1$2"
},
'function-h2' : {
search: /(.+)([\n]?)/g,
replace: "## $1$2"
},
'function-h3' : {
search: /(.+)([\n]?)/g,
replace: "### $1$2"
},
'function-link' : {
exec: function( txt, selText, $field ) {
var results = null;
@@ -91,15 +91,15 @@ var MarkDown = {
OK: function( res ) {
var rep = '';
if ( res['text'] && res['href'] ) {
rep = '[' + res['text'] + ']('
+ res['href'] + ')';
rep = '[' + res['text'] + '](' +
res['href'] + ')';
}
$.GollumEditor.replaceSelection( rep );
}
});
});
}
},
'function-image' : {
exec: function( txt, selText, $field ) {
var results = null;
@@ -128,7 +128,7 @@ var MarkDown = {
});
}
}
};
var MarkDownHelp = [
@@ -162,7 +162,7 @@ var MarkDownHelp = [
}
]
},
{
menuName: 'Span Elements',
content: [
@@ -170,24 +170,24 @@ var MarkDownHelp = [
menuName: 'Links',
data: '<p>Markdown has two types of links: <strong>inline</strong> and <strong>reference</strong>. For both types of links, the text you want to display to the user is placed in square brackets. For example, if you want your link to display the text &ldquo;GitHub&rdquo;, you write <code>[GitHub]</code>.</p><p>To create an inline link, create a set of parentheses immediately after the brackets and write your URL within the parentheses. (e.g., <code>[GitHub](http://github.com/)</code>). Relative paths are allowed in inline links.</p><p>To create a reference link, use two sets of square brackets. <code>[my internal link][internal-ref]</code> will link to the internal reference <code>internal-ref</code>.</p>'
},
{
menuName: 'Emphasis',
data: '<p>Asterisks (<code>*</code>) and underscores (<code>_</code>) are treated as emphasis and are wrapped with an <code>&lt;em&gt;</code> tag, which usually displays as italics in most browsers. Double asterisks (<code>**</code>) or double underscores (<code>__</code>) are treated as bold using the <code>&lt;strong&gt;</code> tag. To create italic or bold text, simply wrap your words in single/double asterisks/underscores. For example, <code>**My double emphasis text**</code> becomes <strong>My double emphasis text</strong>, and <code>*My single emphasis text*</code> becomes <em>My single emphasis text</em>.</p>'
},
{
menuName: 'Code',
data: '<p>To create inline spans of code, simply wrap the code in backticks (<code>`</code>). Markdown will turn <code>`myFunction`</code> into <code>myFunction</code>.</p>'
},
{
menuName: 'Images',
data: '<p>Markdown image syntax looks a lot like the syntax for links; it is essentially the same syntax preceded by an exclamation point (<code>!</code>). For example, if you want to link to an image at <code>http://github.com/unicorn.png</code> with the alternate text <code>My Unicorn</code>, you would write <code>![My Unicorn](http://github.com/unicorn.png)</code>.</p>'
}
]
},
{
menuName: 'Miscellaneous',
content: [
@@ -195,7 +195,7 @@ var MarkDownHelp = [
menuName: 'Automatic Links',
data: '<p>If you want to create a link that displays the actual URL, markdown allows you to quickly wrap the URL in <code>&lt;</code> and <code>&gt;</code> to do so. For example, the link <a href="javascript:void(0);">http://github.com/</a> is easily produced by writing <code>&lt;http://github.com/&gt;</code>.</p>'
},
{
menuName: 'Escaping',
data: '<p>If you want to use a special Markdown character in your document (such as displaying literal asterisks), you can escape the character with the backslash (<code>\\</code>). Markdown will ignore the character directly after a backslash.'
@@ -205,7 +205,7 @@ var MarkDownHelp = [
];
jQuery.GollumEditor.defineLanguage('markdown', MarkDown);
jQuery.GollumEditor.defineHelp('markdown', MarkDownHelp);
$.GollumEditor.defineLanguage('markdown', MarkDown);
$.GollumEditor.defineHelp('markdown', MarkDownHelp);
})();
})(jQuery);
@@ -1,36 +1,36 @@
/**
* Org-mode Language Definition
**/
(function() {
(function($) {
var OrgMode = {
'function-bold' : {
search: /([^\n]+)([\n\s]*)/g,
replace: "*$1*$2"
},
'function-italic' : {
search: /([^\n]+)([\n\s]*)/g,
replace: "/$1/$2"
},
'function-code' : {
search: /(^[\n]+)([\n\s]*)/g,
replace: "=$1=$2"
},
'function-ul' : {
'function-ul' : {
search: /(.+)([\n]?)/g,
replace: "* $1$2"
},
/* This works, just like it works for Markdown */
/* This works, just like it works for Markdown */
'function-ol' : {
search: /(.+)([\n]?)/g,
replace: "1. $1$2"
},
'function-blockquote' : {
search: /(.+)([\n]?)/g,
replace: "#+BEGIN_QUOTE\n$1$2\n#+END_QUOTE\n"
@@ -40,17 +40,17 @@ var OrgMode = {
search: /(.+)([\n]?)/g,
replace: "* $1$2"
},
'function-h2' : {
search: /(.+)([\n]?)/g,
replace: "** $1$2"
},
'function-h3' : {
search: /(.+)([\n]?)/g,
replace: "*** $1$2"
},
'function-link' : {
exec: function( txt, selText, $field ) {
var results = null;
@@ -71,18 +71,18 @@ var OrgMode = {
OK: function( res ) {
var rep = '';
if ( res['text'] && res['href'] ) {
rep = '[[' + res['href'] + ']['
+ res['text'] + ']]';
rep = '[[' + res['href'] + '][' +
res['text'] + ']]';
}
else if ( res['href'] ) {
rep = '[[' + res['href'] + ']]';
}
$.GollumEditor.replaceSelection( rep );
}
});
});
}
},
'function-image' : {
exec: function( txt, selText, $field ) {
var results = null;
@@ -93,7 +93,7 @@ var OrgMode = {
id: 'url',
name: 'Image URL',
type: 'text'
},
}
],
OK: function( res ) {
var rep = '';
@@ -105,7 +105,7 @@ var OrgMode = {
});
}
}
};
var OrgModeHelp = [
@@ -136,10 +136,10 @@ var OrgModeHelp = [
{
menuName: 'Tables',
data: '<p>Org-mode supports simple tables (tables with equal number of cells in each row). To create a simple table, just separate the contents of each cell with a <code>|</code> character. For example, <br><br><code>|one|two|three|<br>|four|five|six|</code><br><br> will appear as a table with two rows and three columns. Additionally, <br><br><code>|one|two|three|<br>|---+---+-----|<br>|four|five|six|</code><br><br> will also appear as a table, but the first row will be interpreted as a header row and the <code>&lt;th&gt;</code> tag will be used to render it. </p>'
},
}
]
},
{
menuName: 'Span Elements',
content: [
@@ -147,27 +147,27 @@ var OrgModeHelp = [
menuName: 'Links',
data: '<p>To create links to external pages, you need to enclose the URI in double square brackets. (i.e., <code>[[http://github.com/]]</code> will automatically be parsed to <a href="javascript:void(0);">http://github.com/</a>)If you want to add text, to be displayed to the user, you write the URI and the text next to each other, both enclosed in square brackets and both of them together enclosed in another pair of square brackets. For example, if you want your link to display the text &ldquo;GitHub&rdquo;, you write <code>[[http://github.com][GitHub]]</code>.</p>'
},
{
menuName: 'Emphasis',
data: '<p>Forward slashes (<code>/</code>) are treated as emphasis and are wrapped with an <code>&lt;i&gt;</code> tag. Asterisks (<code>*</code>) are treated as bold using the <code>&lt;b&gt;</code> tag.</p>'
},
{
menuName: 'Code',
data: '<p>To create inline spans of code, simply wrap the code in equal signs (<code>=</code>). Orgmode will turn <code>=myFunction=</code> into <code>myFunction</code>.</p>'
},
{
menuName: 'Images',
data: "<p>Org-mode image syntax is exactly same as the syntax that you would use for a URI to link to itself. The image URI is enclosed in double square brackets. Alt text on images is not currently supported by Gollum's Org-mode parser.</p>"
}
]
},
}
];
jQuery.GollumEditor.defineLanguage('org', OrgMode);
jQuery.GollumEditor.defineHelp('org', OrgModeHelp);
$.GollumEditor.defineLanguage('org', OrgMode);
$.GollumEditor.defineHelp('org', OrgModeHelp);
})();
})(jQuery);
@@ -1,40 +1,40 @@
/**
* Pod Language Definition
**/
(function() {
(function($) {
var Pod = {
'function-bold' : {
search: /(^[\n]+)([\n\s]*)/g,
replace: "B<$1>$2"
},
'function-italic' : {
search: /(^[\n]+)([\n\s]*)/g,
replace: "I<$1>$2"
},
'function-code' : {
search: /(^[\n]+)([\n\s]*)/g,
replace: "C<$1>$2"
},
'function-h1' : {
search: /(.+)([\n]?)/gi,
replace: "=head1 $1$2"
},
'function-h2' : {
search: /(.+)([\n]?)/gi,
replace: "=head2 $1$2"
},
'function-h3' : {
search: /(.+)([\n]?)/gi,
replace: "=head3 $1$2"
},
'function-link' : {
exec: function( txt, selText, $field ) {
var results = null;
@@ -55,18 +55,18 @@ var Pod = {
OK: function( res ) {
var rep = '';
if ( res['text'] && res['href'] ) {
rep = 'L<' + res['text'] + '|'
+ res['href'] + '>';
rep = 'L<' + res['text'] + '|' +
res['href'] + '>';
}
$.GollumEditor.replaceSelection( rep );
}
});
});
}
}
};
jQuery.GollumEditor.defineLanguage('pod', Pod);
$.GollumEditor.defineLanguage('pod', Pod);
var PodHelp = [
@@ -106,6 +106,6 @@ var PodHelp = [
}
];
jQuery.GollumEditor.defineHelp('pod', PodHelp);
$.GollumEditor.defineHelp('pod', PodHelp);
})();
})(jQuery);
@@ -1,9 +1,9 @@
/**
* Markdown Language Definition
*
* A language definition for string manipulation operations, in this case
*
* A language definition for string manipulation operations, in this case
* for the Markdown, uh, markup language. Uses regexes for various functions
* by default. If regexes won't do and you need to do some serious
* by default. If regexes won't do and you need to do some serious
* manipulation, you can declare a function in the object instead.
*
* Code example:
@@ -14,27 +14,27 @@
* search: /somesearchregex/gi,
* replace: 'replace text for RegExp.replace',
* append: "just add this where the cursor is"
* }
* }
*
**/
(function() {
(function($) {
var RDoc = {
'function-bold' : {
search: /([^\n]+)([\n\s]*)/g,
replace: "((*$1*))$2"
}
},
'function-code' : {
search: /([^\n]+)([\n\s]*)/g,
replace: "(({$1}))$2"
},
'function-ul' : {
'function-ul' : {
search: /(.+)([\n]?)/gi,
replace: "* $1$2"
},
'function-ol' : {
exec: function( txt, selText, $field ) {
var count = 1;
@@ -51,24 +51,24 @@ var RDoc = {
$.GollumEditor.replaceSelection( repText );
}
},
'function-h1' : {
search: /(.+)([\n]?)/gi,
replace: "= $1$2"
},
'function-h2' : {
search: /(.+)([\n]?)/gi,
replace: "== $1$2"
},
'function-h3' : {
search: /(.+)([\n]?)/gi,
replace: "=== $1$2"
}
};
jQuery.GollumEditor.defineLanguage('rdoc', RDoc);
$.GollumEditor.defineLanguage('rdoc', RDoc);
})();
})(jQuery);
@@ -1,44 +1,44 @@
/**
* Textile Language Definition
*/
(function() {
(function($) {
var Textile = {
'function-bold' : {
search: /(^[\n]+)([\n\s]*)/g,
replace: "*$1*$2"
},
'function-italic' : {
search: /(^[\n]+)([\n\s]*)/g,
replace: "_$1_$2"
},
'function-hr' : {
append: "\n***\n"
},
'function-code' : {
search: /(^[\n]+)([\n\s]*)/g,
replace: "<pre><code>$1</code></pre>$2"
},
'function-ul' : {
'function-ul' : {
search: /(.+)([\n]?)/gi,
replace: "* $1$2"
},
'function-ol' : {
search: /(.+)([\n]?)/gi,
replace: "# $1$2"
},
'function-blockquote' : {
search: /(.+)([\n]?)/gi,
replace: "bq. $1$2"
},
'function-link' : {
exec: function( txt, selText, $field ) {
var results = null;
@@ -67,11 +67,11 @@ var Textile = {
$.GollumEditor.replaceSelection( h );
}
});
}
},
'function-image' : {
exec: function( txt, selText, $field ) {
var results = null;
@@ -102,10 +102,10 @@ var Textile = {
});
}
}
};
jQuery.GollumEditor.defineLanguage('textile', Textile);
$.GollumEditor.defineLanguage('textile', Textile);
var TextileHelp = [
@@ -170,6 +170,6 @@ var TextileHelp = [
}
];
jQuery.GollumEditor.defineHelp('textile', TextileHelp);
$.GollumEditor.defineHelp('textile', TextileHelp);
})();
})(jQuery);
@@ -0,0 +1,263 @@
/**
* gollum.dialog.js
*
* Used for dialogs. Duh.
*
*/
(function($) {
var Dialog = {
debugOn: false,
markupCreated: false,
markup: '',
attachEvents: function( evtOK ) {
$('#gollum-dialog-action-ok').click(function( e ) {
Dialog.eventOK( e, evtOK );
});
$('#gollum-dialog-action-cancel').click( Dialog.eventCancel );
$('#gollum-dialog-dialog input[type="text"]').keydown(function( e ) {
if ( e.keyCode == 13 ) {
Dialog.eventOK( e, evtOK );
}
});
},
detachEvents: function() {
$('#gollum-dialog-action-ok').unbind('click');
$('#gollum-dialog-action-cancel').unbind('click');
},
createFieldMarkup: function( fieldArray ) {
var fieldMarkup = '<fieldset>';
for ( var i=0; i < fieldArray.length; i++ ) {
if ( typeof fieldArray[i] == 'object' ) {
fieldMarkup += '<div class="field">';
switch ( fieldArray[i].type ) {
// only text is supported for now
case 'text':
fieldMarkup += Dialog.createFieldText( fieldArray[i] );
break;
default:
break;
}
fieldMarkup += '</div>';
}
}
fieldMarkup += '</fieldset>';
return fieldMarkup;
},
createFieldText: function( fieldAttributes ) {
var html = '';
if ( fieldAttributes.name ) {
html += '<label';
if ( fieldAttributes.id ) {
html += ' for="' + fieldAttributes.name + '"';
}
html += '>' + fieldAttributes.name + '</label>';
}
html += '<input type="text"';
if ( fieldAttributes.id ) {
html += ' name="' + fieldAttributes.id + '"'
if ( fieldAttributes.type == 'code' ) {
html+= ' class="code"';
}
html += ' id="gollum-dialog-dialog-generated-field-' +
fieldAttributes.id + '">';
}
return html;
},
createMarkup: function( title, body ) {
Dialog.markupCreated = true;
if ($.facebox) {
return '<div id="gollum-dialog-dialog">' +
'<div id="gollum-dialog-dialog-title"><h4>' +
title +'</h4></div>' +
'<div id="gollum-dialog-dialog-body">' + body + '</div>' +
'<div id="gollum-dialog-dialog-buttons">' +
'<a href="#" title="Cancel" id="gollum-dialog-action-cancel" ' +
'class="gollum-minibutton">Cancel</a>' +
'<a href="#" title="OK" id="gollum-dialog-action-ok" '+
'class="gollum-minibutton">OK</a>' +
'</div>' +
'</div>';
} else {
return '<div id="gollum-dialog-dialog">' +
'<div id="gollum-dialog-dialog-inner">' +
'<div id="gollum-dialog-dialog-bg">' +
'<div id="gollum-dialog-dialog-title"><h4>' +
title +'</h4></div>' +
'<div id="gollum-dialog-dialog-body">' + body + '</div>' +
'<div id="gollum-dialog-dialog-buttons">' +
'<a href="#" title="Cancel" id="gollum-dialog-action-cancel" ' +
'class="minibutton">Cancel</a>' +
'<a href="#" title="OK" id="gollum-dialog-action-ok" '+
'class="minibutton">OK</a>' +
'</div>' +
'</div>' +
'</div>' +
'</div>';
}
},
eventCancel: function( e ) {
e.preventDefault();
debug('Cancelled dialog.');
Dialog.hide();
},
eventOK: function( e, evtOK ) {
e.preventDefault();
var results = [];
// get the results from each field and build them into the object
$('#gollum-dialog-dialog-body input').each(function() {
results[$(this).attr('name')] = $(this).val();
});
// pass them to evtOK if it exists (which it should)
if ( evtOK &&
typeof evtOK == 'function' ) {
evtOK( results );
}
Dialog.hide();
},
hide: function() {
if ( $.facebox ) {
Dialog.markupCreated = false;
$(document).trigger('close.facebox');
Dialog.detachEvents();
} else {
if ( $.browser.msie ) {
$('#gollum-dialog-dialog').hide().removeClass('active');
$('select').css('visibility', 'visible');
} else {
$('#gollum-dialog-dialog').animate({ opacity: 0 }, {
duration: 200,
complete: function() {
$('#gollum-dialog-dialog').removeClass('active');
}
});
}
}
},
init: function( argObject ) {
var title = '';
var body = '';
// bail out if necessary
if ( !argObject ||
typeof argObject != 'object' ) {
debug('Editor Dialog: Cannot init; invalid init object');
return;
}
if ( argObject.body && typeof argObject.body == 'string' ) {
body = '<p>' + argObject.body + '</p>';
}
// alright, build out fields
if ( argObject.fields && typeof argObject.fields == 'object' ) {
body += Dialog.createFieldMarkup( argObject.fields );
}
if ( argObject.title && typeof argObject.title == 'string' ) {
title = argObject.title;
}
if ( Dialog.markupCreated ) {
if ($.facebox) {
$(document).trigger('close.facebox');
} else {
$('#gollum-dialog-dialog').remove();
}
}
Dialog.markup = Dialog.createMarkup( title, body );
if ($.facebox) {
$(document).bind('reveal.facebox', function() {
if ( argObject.OK &&
typeof argObject.OK == 'function' ) {
Dialog.attachEvents( argObject.OK );
$($('#facebox input[type="text"]').get(0)).focus();
}
});
} else {
$('body').append( Dialog.markup );
if ( argObject.OK &&
typeof argObject.OK == 'function' ) {
Dialog.attachEvents( argObject.OK );
}
}
Dialog.show();
},
show: function() {
if ( !Dialog.markupCreated ) {
debug('Dialog: No markup to show. Please use init first.');
} else {
debug('Showing dialog');
if ($.facebox) {
$.facebox( Dialog.markup );
} else {
if ( $.browser.msie ) {
$('#gollum-dialog.dialog').addClass('active');
Dialog.position();
$('select').css('visibility', 'hidden');
} else {
$('#gollum-dialog.dialog').css('display', 'none');
$('#gollum-dialog-dialog').animate({ opacity: 0 }, {
duration: 0,
complete: function() {
$('#gollum-dialog-dialog').css('display', 'block');
Dialog.position(); // position this thing
$('#gollum-dialog-dialog').animate({ opacity: 1 }, {
duration: 500
});
}
});
}
}
}
},
position: function() {
var dialogHeight = $('#gollum-dialog-dialog-inner').height();
$('#gollum-dialog-dialog-inner')
.css('height', dialogHeight + 'px')
.css('margin-top', -1 * parseInt( dialogHeight / 2 ));
}
};
if ($.facebox) {
$(document).bind('reveal.facebox', function() {
$('#facebox img.close_image').remove();
});
}
var debug = function(m) {
if ( Dialog.debugOn
&& typeof console != 'undefined' ) {
console.log( m );
}
};
$.GollumDialog = Dialog;
})(jQuery);
+161
View File
@@ -0,0 +1,161 @@
// ua
$(document).ready(function() {
var nodeSelector = {
node1: null,
node2: null,
selectNodeRange: function( n1, n2 ) {
if ( nodeSelector.node1 && nodeSelector.node2 ) {
$('#wiki-history td.selected').removeClass('selected');
nodeSelector.node1.addClass('selected');
nodeSelector.node2.addClass('selected');
// swap the nodes around if they went in reverse
if ( nodeSelector.nodeComesAfter( nodeSelector.node1,
nodeSelector.node2 ) ) {
var n = nodeSelector.node1;
nodeSelector.node1 = nodeSelector.node2;
nodeSelector.node2 = n;
}
var s = true;
var $nextNode = nodeSelector.node1.next();
while ( $nextNode ) {
$nextNode.addClass('selected');
if ( $nextNode[0] == nodeSelector.node2[0] ) {
break;
}
$nextNode = $nextNode.next();
}
}
},
nodeComesAfter: function ( n1, n2 ) {
var s = false;
$(n1).prevAll().each(function() {
if ( $(this)[0] == $(n2)[0] ) {
s = true;
}
});
return s;
},
checkNode: function( nodeCheckbox ) {
var $nodeCheckbox = nodeCheckbox;
var $node = $(nodeCheckbox).parent().parent();
// if we're unchecking
if ( !$nodeCheckbox.is(':checked') ) {
// remove the range, since we're breaking it
$('#wiki-history tr.selected').each(function() {
if ( $(this).find('td.checkbox input').is(':checked') ) {
return;
}
$(this).removeClass('selected');
});
// no longer track this
if ( $node[0] == nodeSelector.node1[0] ) {
nodeSelector.node1 = null;
if ( nodeSelector.node2 ) {
nodeSelector.node1 = nodeSelector.node2;
nodeSelector.node2 = null;
}
} else if ( $node[0] == nodeSelector.node2[0] ) {
nodeSelector.node2 = null;
}
} else {
if ( !nodeSelector.node1 ) {
nodeSelector.node1 = $node;
nodeSelector.node1.addClass('selected');
} else if ( !nodeSelector.node2 ) {
// okay, we don't have a node 2 but have a node1
nodeSelector.node2 = $node;
nodeSelector.node2.addClass('selected');
nodeSelector.selectNodeRange( nodeSelector.node1,
nodeSelector.node2 );
} else {
// we have two selected already
$nodeCheckbox[0].checked = false;
}
}
}
};
// ua detection
if ($.browser.mozilla) {
$('body').addClass('ff');
} else if ($.browser.webkit) {
$('body').addClass('webkit');
} else if ($.browser.msie) {
$('body').addClass('ie');
if ($.browser.version == "7.0") {
$('body').addClass('ie7');
} else if ($.browser.version == "8.0") {
$('body').addClass('ie8');
}
}
if ($('#minibutton-new-page').length) {
$('#minibutton-new-page').removeClass('jaws');
$('#minibutton-new-page').click(function(e) {
e.preventDefault();
$.GollumDialog.init({
title: 'Create New Page',
fields: [
{
id: 'name',
name: 'Page Name',
type: 'text'
}
],
OK: function( res ) {
var n = 'New Page';
if ( res['name'] )
var n = res['name'];
n = encodeURIComponent( n );
window.location = '/' + n;
}
});
});
}
if ($('#wiki-wrapper').hasClass('history')) {
$('#wiki-history td.checkbox input').each(function() {
$(this).click(function() {
nodeSelector.checkNode($(this));
});
if ( $(this).is(':checked') ) {
nodeSelector.checkNode($(this));
}
});
if ($('.history a.action-compare-revision').length) {
$('.history a.action-compare-revision').click(function() {
$("#version-form").submit();
});
}
}
if ($('#searchbar a#search-submit').length) {
$.GollumPlaceholder.add($('#searchbar #search-query'));
$('#searchbar a#search-submit').click(function(e) {
e.preventDefault();
$('#searchbar #search-form')[0].submit();
});
$('#searchbar #search-form').submit(function(e) {
$.GollumPlaceholder.clearAll();
$(this).unbind('submit');
$(this).submit();
});
}
if ($('#gollum-revert-form').length &&
$('.gollum-revert-button').length ) {
$('a.gollum-revert-button').click(function(e) {
e.preventDefault();
$('#gollum-revert-form').submit();
});
}
});
@@ -1,24 +1,24 @@
(function($) {
var Placeholder = {
_PLACEHOLDERS : [],
_p : function( $field ) {
this.fieldObject = $field;
this.fieldObject = $field;
this.placeholderText = $field.val();
var placeholderText = $field.val();
$field.addClass('ph');
$field.blur(function() {
if ( $(this).val() == '' ) {
$(this).val( placeholderText );
$(this).addClass('ph');
}
});
$field.focus(function() {
$(this).removeClass('ph');
if ( $(this).val() == placeholderText ) {
@@ -27,28 +27,28 @@
$(this)[0].select();
}
});
},
add : function( $field ) {
Placeholder._PLACEHOLDERS.push( new Placeholder._p( $field ) );
},
clearAll: function() {
for ( var i=0; i < Placeholder._PLACEHOLDERS.length; i++ ) {
if ( Placeholder._PLACEHOLDERS[i].fieldObject.val() ==
if ( Placeholder._PLACEHOLDERS[i].fieldObject.val() ==
Placeholder._PLACEHOLDERS[i].placeholderText ) {
Placeholder._PLACEHOLDERS[i].fieldObject.val('');
}
}
},
exists : function() {
return ( _PLACEHOLDERS.length );
}
};
$.GollumPlaceholder = Placeholder;
})(jQuery);
@@ -53,7 +53,7 @@
// Otherwise, we're most likely dealing with a named color
return colors[jQuery.trim(color).toLowerCase()];
}
function getColor(elem, attr) {
var color;
@@ -62,14 +62,14 @@
// Keep going until we find an element that has color, or we hit the body
if ( color != '' && color != 'transparent' || jQuery.nodeName(elem, "body") )
break;
break;
attr = "backgroundColor";
} while ( elem = elem.parentNode );
return getRGB(color);
};
// Some named colors to work with
// From Interface by Stefan Petre
// http://interface.eyecon.ro/
@@ -119,5 +119,5 @@
white:[255,255,255],
yellow:[255,255,0]
};
})(jQuery);
@@ -75,10 +75,10 @@ var jQuery = function( selector, context ) {
// For matching the engine and version of the browser
browserMatch,
// Has the ready events already been bound?
readyBound = false,
// The functions to execute on DOM ready
readyList = [],
@@ -92,7 +92,7 @@ var jQuery = function( selector, context ) {
slice = Array.prototype.slice,
trim = String.prototype.trim,
indexOf = Array.prototype.indexOf,
// [[Class]] -> type pairs
class2type = {};
@@ -111,7 +111,7 @@ jQuery.fn = jQuery.prototype = {
this.length = 1;
return this;
}
// The body element only exists once, optimize finding it
if ( selector === "body" && !context && document.body ) {
this.context = document;
@@ -150,9 +150,9 @@ jQuery.fn = jQuery.prototype = {
ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes;
}
return jQuery.merge( this, selector );
// HANDLE: $("#id")
} else {
elem = document.getElementById( match[2] );
@@ -245,7 +245,7 @@ jQuery.fn = jQuery.prototype = {
if ( jQuery.isArray( elems ) ) {
push.apply( ret, elems );
} else {
jQuery.merge( ret, elems );
}
@@ -271,7 +271,7 @@ jQuery.fn = jQuery.prototype = {
each: function( callback, args ) {
return jQuery.each( this, callback, args );
},
ready: function( fn ) {
// Attach the listeners
jQuery.bindReady();
@@ -289,7 +289,7 @@ jQuery.fn = jQuery.prototype = {
return this;
},
eq: function( i ) {
return i === -1 ?
this.slice( i ) :
@@ -314,7 +314,7 @@ jQuery.fn = jQuery.prototype = {
return callback.call( elem, i, elem );
}));
},
end: function() {
return this.prevObject || jQuery(null);
},
@@ -403,14 +403,14 @@ jQuery.extend({
return jQuery;
},
// Is the DOM ready to be used? Set to true once it occurs.
isReady: false,
// A counter to track how many items to wait for before
// the ready event fires. See #6781
readyWait: 1,
// Handle when the DOM is ready
ready: function( wait ) {
// A third-party is pushing the ready event forwards
@@ -454,7 +454,7 @@ jQuery.extend({
}
}
},
bindReady: function() {
if ( readyBound ) {
return;
@@ -473,7 +473,7 @@ jQuery.extend({
if ( document.addEventListener ) {
// Use the handy event callback
document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
// A fallback to window.onload, that will always work
window.addEventListener( "load", jQuery.ready, false );
@@ -482,7 +482,7 @@ jQuery.extend({
// ensure firing before onload,
// maybe late but safe also for iframes
document.attachEvent("onreadystatechange", DOMContentLoaded);
// A fallback to window.onload, that will always work
window.attachEvent( "onload", jQuery.ready );
@@ -533,20 +533,20 @@ jQuery.extend({
if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
return false;
}
// Not own constructor property must be Object
if ( obj.constructor &&
!hasOwn.call(obj, "constructor") &&
!hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
return false;
}
// Own properties are enumerated firstly, so to speed up,
// if last one is own, then all properties are own.
var key;
for ( key in obj ) {}
return key === undefined || hasOwn.call( obj, key );
},
@@ -556,11 +556,11 @@ jQuery.extend({
}
return true;
},
error: function( msg ) {
throw msg;
},
parseJSON: function( data ) {
if ( typeof data !== "string" || !data ) {
return null;
@@ -568,7 +568,7 @@ jQuery.extend({
// Make sure leading/trailing whitespace is removed (IE can't handle it)
data = jQuery.trim( data );
// Make sure the incoming data is actual JSON
// Logic borrowed from http://json.org/json2.js
if ( rvalidchars.test(data.replace(rvalidescape, "@")
@@ -710,7 +710,7 @@ jQuery.extend({
for ( var l = second.length; j < l; j++ ) {
first[ i++ ] = second[ j ];
}
} else {
while ( second[j] !== undefined ) {
first[ i++ ] = second[ j++ ];
@@ -790,7 +790,7 @@ jQuery.extend({
// The value/s can be optionally by executed if its a function
access: function( elems, key, value, exec, fn, pass ) {
var length = elems.length;
// Setting many attributes
if ( typeof key === "object" ) {
for ( var k in key ) {
@@ -798,19 +798,19 @@ jQuery.extend({
}
return elems;
}
// Setting one attribute
if ( value !== undefined ) {
// Optionally, function values get executed if exec is true
exec = !pass && exec && jQuery.isFunction(value);
for ( var i = 0; i < length; i++ ) {
fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
}
return elems;
}
// Getting an attribute
return length ? fn( elems[0], key ) : undefined;
},
@@ -1115,7 +1115,7 @@ jQuery.extend({
// Please use with caution
uuid: 0,
// Unique for each copy of jQuery on the page
// Unique for each copy of jQuery on the page
expando: "jQuery" + jQuery.now(),
// The following elements throw uncatchable exceptions if you
@@ -1607,7 +1607,7 @@ jQuery.fn.extend({
var option = options[ i ];
// Don't return options that are disabled or in a disabled optgroup
if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
(!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
// Get the specific value for the option
@@ -1630,7 +1630,7 @@ jQuery.fn.extend({
if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) {
return elem.getAttribute("value") === null ? "on" : elem.value;
}
// Everything else, we just grab the value
return (elem.value || "").replace(rreturn, "");
@@ -1696,7 +1696,7 @@ jQuery.extend({
height: true,
offset: true
},
attr: function( elem, name, value, pass ) {
// don't set attributes on text and comment nodes
if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
@@ -1865,7 +1865,7 @@ jQuery.event = {
var eventKey = elem.nodeType ? "events" : "__events__",
events = elemData[ eventKey ],
eventHandle = elemData.handle;
if ( typeof events === "function" ) {
// On plain objects events is a fn that holds the the data
// which prevents this data from being JSON serialized
@@ -1945,9 +1945,9 @@ jQuery.event = {
}
}
}
if ( special.add ) {
special.add.call( elem, handleObj );
if ( special.add ) {
special.add.call( elem, handleObj );
if ( !handleObj.handler.guid ) {
handleObj.handler.guid = handler.guid;
@@ -1986,7 +1986,7 @@ jQuery.event = {
if ( !elemData || !events ) {
return;
}
if ( typeof events === "function" ) {
elemData = events;
events = events.events;
@@ -2024,7 +2024,7 @@ jQuery.event = {
namespaces = type.split(".");
type = namespaces.shift();
namespace = new RegExp("(^|\\.)" +
namespace = new RegExp("(^|\\.)" +
jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)");
}
@@ -2186,7 +2186,7 @@ jQuery.event = {
isClick = jQuery.nodeName( target, "a" ) && targetType === "click",
special = jQuery.event.special[ targetType ] || {};
if ( (!special._default || special._default.call( elem, event ) === false) &&
if ( (!special._default || special._default.call( elem, event ) === false) &&
!isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) {
try {
@@ -2256,7 +2256,7 @@ jQuery.event = {
event.handler = handleObj.handler;
event.data = handleObj.data;
event.handleObj = handleObj;
var ret = handleObj.handler.apply( this, args );
if ( ret !== undefined ) {
@@ -2355,7 +2355,7 @@ jQuery.event = {
add: function( handleObj ) {
jQuery.event.add( this,
liveConvert( handleObj.origType, handleObj.selector ),
jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) );
jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) );
},
remove: function( handleObj ) {
@@ -2385,7 +2385,7 @@ jQuery.removeEvent = document.removeEventListener ?
if ( elem.removeEventListener ) {
elem.removeEventListener( type, handle, false );
}
} :
} :
function( elem, type, handle ) {
if ( elem.detachEvent ) {
elem.detachEvent( "on" + type, handle );
@@ -2432,7 +2432,7 @@ jQuery.Event.prototype = {
if ( !e ) {
return;
}
// if preventDefault exists run it on the original event
if ( e.preventDefault ) {
e.preventDefault();
@@ -2528,7 +2528,7 @@ if ( !jQuery.support.submitBubbles ) {
return trigger( "submit", this, arguments );
}
});
jQuery.event.add(this, "keypress.specialSubmit", function( e ) {
var elem = e.target,
type = elem.type;
@@ -2590,7 +2590,7 @@ if ( !jQuery.support.changeBubbles ) {
if ( e.type !== "focusout" || elem.type !== "radio" ) {
jQuery.data( elem, "_change_data", val );
}
if ( data === undefined || val === data ) {
return;
}
@@ -2604,7 +2604,7 @@ if ( !jQuery.support.changeBubbles ) {
jQuery.event.special.change = {
filters: {
focusout: testChange,
focusout: testChange,
beforedeactivate: testChange,
@@ -2675,15 +2675,15 @@ if ( document.addEventListener ) {
if ( focusCounts[fix]++ === 0 ) {
document.addEventListener( orig, handler, true );
}
},
teardown: function() {
},
teardown: function() {
if ( --focusCounts[fix] === 0 ) {
document.removeEventListener( orig, handler, true );
}
}
};
function handler( e ) {
function handler( e ) {
e = jQuery.event.fix( e );
e.type = fix;
return jQuery.event.trigger( e, null, e.target );
@@ -2700,7 +2700,7 @@ jQuery.each(["bind", "one"], function( i, name ) {
}
return this;
}
if ( jQuery.isFunction( data ) || data === false ) {
fn = data;
data = undefined;
@@ -2740,20 +2740,20 @@ jQuery.fn.extend({
return this;
},
delegate: function( selector, types, data, fn ) {
return this.live( types, data, fn, selector );
},
undelegate: function( selector, types, fn ) {
if ( arguments.length === 0 ) {
return this.unbind( "live" );
} else {
return this.die( types, null, fn, selector );
}
},
trigger: function( type, data ) {
return this.each(function() {
jQuery.event.trigger( type, data, this );
@@ -2810,12 +2810,12 @@ jQuery.each(["live", "die"], function( i, name ) {
var type, i = 0, match, namespaces, preType,
selector = origSelector || this.selector,
context = origSelector ? this : jQuery( this.context );
if ( typeof types === "object" && !types.preventDefault ) {
for ( var key in types ) {
context[ name ]( key, data, types[key], selector );
}
return this;
}
@@ -2862,7 +2862,7 @@ jQuery.each(["live", "die"], function( i, name ) {
context.unbind( "live." + liveConvert( type, selector ), fn );
}
}
return this;
};
});
@@ -2881,7 +2881,7 @@ function liveHandler( event ) {
if ( event.liveFired === this || !events || !events.live || event.button && event.type === "click" ) {
return;
}
if ( event.namespace ) {
namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)");
}
@@ -3029,7 +3029,7 @@ var Sizzle = function( selector, context, results, seed ) {
if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
return [];
}
if ( !selector || typeof selector !== "string" ) {
return results;
}
@@ -3039,7 +3039,7 @@ var Sizzle = function( selector, context, results, seed ) {
contextXML = Sizzle.isXML( context ),
parts = [],
soFar = selector;
// Reset the position of the chunker regexp (start from head)
do {
chunker.exec( "" );
@@ -3047,9 +3047,9 @@ var Sizzle = function( selector, context, results, seed ) {
if ( m ) {
soFar = m[3];
parts.push( m[1] );
if ( m[2] ) {
extra = m[3];
break;
@@ -3073,7 +3073,7 @@ var Sizzle = function( selector, context, results, seed ) {
if ( Expr.relative[ selector ] ) {
selector += parts.shift();
}
set = posProcess( selector, set );
}
}
@@ -3202,7 +3202,7 @@ Sizzle.find = function( expr, context, isXML ) {
for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
var match,
type = Expr.order[i];
if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
var left = match[1];
match.splice( 1, 1 );
@@ -3518,7 +3518,7 @@ var Expr = Sizzle.selectors = {
ATTR: function( match, curLoop, inplace, result, not, isXML ) {
var name = match[1].replace(/\\/g, "");
if ( !isXML && Expr.attrMap[name] ) {
match[1] = Expr.attrMap[name];
}
@@ -3549,7 +3549,7 @@ var Expr = Sizzle.selectors = {
} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
return true;
}
return match;
},
@@ -3559,7 +3559,7 @@ var Expr = Sizzle.selectors = {
return match;
}
},
filters: {
enabled: function( elem ) {
return elem.disabled === false && elem.type !== "hidden";
@@ -3572,12 +3572,12 @@ var Expr = Sizzle.selectors = {
checked: function( elem ) {
return elem.checked === true;
},
selected: function( elem ) {
// Accessing this property makes selected-by-default
// options in Safari work properly
elem.parentNode.selectedIndex;
return elem.selected === true;
},
@@ -3703,21 +3703,21 @@ var Expr = Sizzle.selectors = {
case "only":
case "first":
while ( (node = node.previousSibling) ) {
if ( node.nodeType === 1 ) {
return false;
if ( node.nodeType === 1 ) {
return false;
}
}
if ( type === "first" ) {
return true;
if ( type === "first" ) {
return true;
}
node = elem;
case "last":
while ( (node = node.nextSibling) ) {
if ( node.nodeType === 1 ) {
return false;
if ( node.nodeType === 1 ) {
return false;
}
}
@@ -3730,22 +3730,22 @@ var Expr = Sizzle.selectors = {
if ( first === 1 && last === 0 ) {
return true;
}
var doneName = match[0],
parent = elem.parentNode;
if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) {
var count = 0;
for ( node = parent.firstChild; node; node = node.nextSibling ) {
if ( node.nodeType === 1 ) {
node.nodeIndex = ++count;
}
}
}
parent.sizcache = doneName;
}
var diff = elem.nodeIndex - last;
if ( first === 0 ) {
@@ -3764,7 +3764,7 @@ var Expr = Sizzle.selectors = {
TAG: function( elem, match ) {
return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match;
},
CLASS: function( elem, match ) {
return (" " + (elem.className || elem.getAttribute("class")) + " ")
.indexOf( match ) > -1;
@@ -3830,7 +3830,7 @@ var makeArray = function( array, results ) {
results.push.apply( results, array );
return results;
}
return array;
};
@@ -4077,7 +4077,7 @@ if ( document.querySelectorAll ) {
if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) {
return;
}
Sizzle = function( query, context, extra, seed ) {
context = context || document;
@@ -4115,7 +4115,7 @@ if ( document.querySelectorAll ) {
}
}
}
return oldSizzle(query, context, extra, seed);
};
@@ -4137,7 +4137,7 @@ if ( document.querySelectorAll ) {
// This should fail with an exception
// Gecko does not error, returns false instead
matches.call( document.documentElement, "[test!='']:sizzle" );
} catch( pseudoError ) {
pseudoWorks = true;
}
@@ -4148,7 +4148,7 @@ if ( document.querySelectorAll ) {
expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
if ( !Sizzle.isXML( node ) ) {
try {
try {
if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
return matches.call( node, expr );
}
@@ -4177,7 +4177,7 @@ if ( document.querySelectorAll ) {
if ( div.getElementsByClassName("e").length === 1 ) {
return;
}
Expr.order.splice(1, 0, "CLASS");
Expr.find.CLASS = function( match, context, isXML ) {
if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
@@ -4228,7 +4228,7 @@ function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
if ( elem ) {
var match = false;
elem = elem[dir];
while ( elem ) {
@@ -4281,7 +4281,7 @@ if ( document.documentElement.contains ) {
Sizzle.isXML = function( elem ) {
// documentElement is verified for cases where it doesn't yet exist
// (such as loading iframes in IE - #4833)
// (such as loading iframes in IE - #4833)
var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
return documentElement ? documentElement.nodeName !== "HTML" : false;
@@ -4373,7 +4373,7 @@ jQuery.fn.extend({
filter: function( selector ) {
return this.pushStack( winnow(this, selector, true), "filter", selector );
},
is: function( selector ) {
return !!selector && jQuery.filter( selector, this ).length > 0;
},
@@ -4391,7 +4391,7 @@ jQuery.fn.extend({
selector = selectors[i];
if ( !matches[selector] ) {
matches[selector] = jQuery.expr.match.POS.test( selector ) ?
matches[selector] = jQuery.expr.match.POS.test( selector ) ?
jQuery( selector, context || this.context ) :
selector;
}
@@ -4414,7 +4414,7 @@ jQuery.fn.extend({
return ret;
}
var pos = POS.test( selectors ) ?
var pos = POS.test( selectors ) ?
jQuery( selectors, context || this.context ) : null;
for ( i = 0, l = this.length; i < l; i++ ) {
@@ -4435,10 +4435,10 @@ jQuery.fn.extend({
}
ret = ret.length > 1 ? jQuery.unique(ret) : ret;
return this.pushStack( ret, "closest", selectors );
},
// Determine the position of an element within
// the matched set of elements
index: function( elem ) {
@@ -4519,7 +4519,7 @@ jQuery.each({
}, function( name, fn ) {
jQuery.fn[ name ] = function( until, selector ) {
var ret = jQuery.map( this, fn, until );
if ( !runtil.test( name ) ) {
selector = until;
}
@@ -4548,7 +4548,7 @@ jQuery.extend({
jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :
jQuery.find.matches(expr, elems);
},
dir: function( elem, dir, until ) {
var matched = [],
cur = elem[ dir ];
@@ -4770,7 +4770,7 @@ jQuery.fn.extend({
return set;
}
},
// keepData is for internal use only--do not document
remove: function( selector, keepData ) {
for ( var i = 0, elem; (elem = this[i]) != null; i++ ) {
@@ -4785,7 +4785,7 @@ jQuery.fn.extend({
}
}
}
return this;
},
@@ -4801,7 +4801,7 @@ jQuery.fn.extend({
elem.removeChild( elem.firstChild );
}
}
return this;
},
@@ -4952,9 +4952,9 @@ jQuery.fn.extend({
} else {
results = jQuery.buildFragment( args, this, scripts );
}
fragment = results.fragment;
if ( fragment.childNodes.length === 1 ) {
first = fragment = fragment.firstChild;
} else {
@@ -5062,18 +5062,18 @@ jQuery.each({
var ret = [],
insert = jQuery( selector ),
parent = this.length === 1 && this[0].parentNode;
if ( parent && parent.nodeType === 11 && parent.childNodes.length === 1 && insert.length === 1 ) {
insert[ original ]( this[0] );
return this;
} else {
for ( var i = 0, l = insert.length; i < l; i++ ) {
var elems = (i > 0 ? this.clone(true) : this).get();
jQuery( insert[i] )[ original ]( elems );
ret = ret.concat( elems );
}
return this.pushStack( ret, name, insert.selector );
}
};
@@ -5161,7 +5161,7 @@ jQuery.extend({
for ( i = 0; ret[i]; i++ ) {
if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
} else {
if ( ret[i].nodeType === 1 ) {
ret.splice.apply( ret, [i + 1, 0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );
@@ -5173,22 +5173,22 @@ jQuery.extend({
return ret;
},
cleanData: function( elems ) {
var data, id, cache = jQuery.cache,
special = jQuery.event.special,
deleteExpando = jQuery.support.deleteExpando;
for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {
continue;
}
id = elem[ jQuery.expando ];
if ( id ) {
data = cache[ id ];
if ( data && data.events ) {
for ( var type in data.events ) {
if ( special[ type ] ) {
@@ -5199,14 +5199,14 @@ jQuery.extend({
}
}
}
if ( deleteExpando ) {
delete elem[ jQuery.expando ];
} else if ( elem.removeAttribute ) {
elem.removeAttribute( jQuery.expando );
}
delete cache[ id ];
}
}
@@ -5819,7 +5819,7 @@ jQuery.extend({
data = tmp;
jQuery.handleSuccess( s, xhr, status, data );
jQuery.handleComplete( s, xhr, status, data );
if ( head ) {
head.removeChild( script );
}
@@ -6078,19 +6078,19 @@ jQuery.extend({
value = jQuery.isFunction(value) ? value() : value;
s[ s.length ] = encodeURIComponent(key) + "=" + encodeURIComponent(value);
};
// Set traditional to true for jQuery <= 1.3.2 behavior.
if ( traditional === undefined ) {
traditional = jQuery.ajaxSettings.traditional;
}
// If an array was passed in, assume that it is an array of form elements.
if ( jQuery.isArray(a) || a.jquery ) {
// Serialize the form elements
jQuery.each( a, function() {
add( this.name, this.value );
});
} else {
// If traditional, encode the "old" way (the way 1.3.2 or older
// did it), otherwise encode params recursively.
@@ -6123,7 +6123,7 @@ function buildParams( prefix, obj, traditional, add ) {
buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v, traditional, add );
}
});
} else if ( !traditional && obj != null && typeof obj === "object" ) {
if ( jQuery.isEmptyObject( obj ) ) {
add( prefix, "" );
@@ -6134,7 +6134,7 @@ function buildParams( prefix, obj, traditional, add ) {
buildParams( prefix + "[" + k + "]", v, traditional, add );
});
}
} else {
// Serialize scalar item.
add( prefix, obj );
@@ -6192,7 +6192,7 @@ jQuery.extend({
jQuery.event.trigger( "ajaxStop" );
}
},
triggerGlobal: function( s, type, args ) {
(s.context && s.context.url == null ? jQuery(s.context) : jQuery.event).trigger(type, args);
},
@@ -6815,7 +6815,7 @@ if ( "getBoundingClientRect" in document.documentElement ) {
jQuery.fn.offset = function( options ) {
var elem = this[0], box;
if ( options ) {
if ( options ) {
return this.each(function( i ) {
jQuery.offset.setOffset( this, options, i );
});
@@ -6857,7 +6857,7 @@ if ( "getBoundingClientRect" in document.documentElement ) {
jQuery.fn.offset = function( options ) {
var elem = this[0];
if ( options ) {
if ( options ) {
return this.each(function( i ) {
jQuery.offset.setOffset( this, options, i );
});
@@ -6976,7 +6976,7 @@ jQuery.offset = {
return { top: top, left: left };
},
setOffset: function( elem, options, i ) {
var position = jQuery.css( elem, "position" );
@@ -7010,7 +7010,7 @@ jQuery.offset = {
if (options.left != null) {
props.left = (options.left - curOffset.left) + curLeft;
}
if ( "using" in options ) {
options.using.call( elem, props );
} else {
@@ -7070,7 +7070,7 @@ jQuery.each( ["Left", "Top"], function( i, name ) {
jQuery.fn[ method ] = function(val) {
var elem = this[0], win;
if ( !elem ) {
return null;
}
@@ -7138,7 +7138,7 @@ jQuery.each([ "Height", "Width" ], function( i, name ) {
if ( !elem ) {
return size == null ? null : this;
}
if ( jQuery.isFunction( size ) ) {
return this.each(function( i ) {
var self = jQuery( this );
File diff suppressed because one or more lines are too long
@@ -1,18 +0,0 @@
/*
* ../SourceForge/trunk/mathjax/config/MMLorHTML.js
*
* Copyright (c) 2010 Design Science, Inc.
*
* Part of the MathJax library.
* See http://www.mathjax.org for details.
*
* Licensed under the Apache License, Version 2.0;
* you may not use this file except in compliance with the License.
*
* http://www.apache.org/licenses/LICENSE-2.0
*/
MathJax.Unpack([
['(function(c){var i="1.0";var g=','MathJax.Hub','.Insert({prefer:{MSIE:"MML",Firefox:"MML",Opera:"HTML",other:"HTML"}},(',1,'.config.MMLorHTML||{}));var e={Firefox:3,Opera:9.52,MSIE:6,Chrome:0.3,Safari:2,Konqueror:4};var h=(c','.Browser','.version==="0.0"||','c.Browser.versionAtLeast','(e[c',5,']||0));var b;try{new ActiveXObject("MathPlayer.Factory.1");b=true}catch(d){b=false}var f=(c',5,'.isFirefox&&',7,'("1.5"))||(c',5,'.isMSIE&&b)||(c',5,'.isOpera&&',7,'("9.52"));var a=(g.prefer&&typeof(g.prefer)==="object"?g.prefer[',1,5,']||g.prefer.other||"HTML":g.prefer);if(h||f){if(f&&(a==="MML"||!h)){','c.config.jax.unshift("output/','NativeMML")}else{',24,'HTML-CSS")}}else{c.PreProcess','.disabled=true;','c.prepareScripts',28,'MathJax.Message.Set("Your browser does not support MathJax",null,4000);c.Startup.signal.Post("MathJax not supported")}})(',1,');MathJax.Ajax.loadComplete("[MathJax]/config/MMLorHTML.js");']
]);
@@ -1,590 +0,0 @@
/*************************************************************
*
* MathJax/config/MathJax.js
*
* This configuration file is loaded when there is no explicit
* configuration script in the <script> tag that loads MathJax.js
*
* Use it to customize the MathJax settings. See comments below.
*
* ---------------------------------------------------------------------
*
* Copyright (c) 2009-10 Design Science, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
MathJax.Hub.Config({
//
// A comma-separated list of configuration files to load
// when MathJax starts up. E.g., to define local macros, etc.
// The default directory is the MathJax/config directory.
//
// Example: config: ["local/local.js"],
// Example: config: ["local/local.js","MMLtoHTML.js"],
//
config: [],
//
// A comma-separated list of CSS stylesheet files to be loaded
// when MathJax starts up. The default directory is the
// MathJax/config directory.
//
// Example: styleSheets: ["MathJax.css"],
//
styleSheets: [],
//
// Styles to be defined dynamically at startup time.
//
// Example:
// styles: {
// ".MathJax .merror": {
// color: "blue",
// "background-color": "green"
// }
// },
//
styles: {},
//
// A comma-separated list of input and output jax to initialize at startup.
// Their main code is loaded only when they are actually used, so it is not
// inefficient to include jax that may not actually be used on the page. These
// are found in the MathJax/jax directory.
//
jax: ["input/TeX","output/HTML-CSS"],
//
// A comma-separated list of extensions to load at startup. The default
// directory is MathJax/extensions.
//
// Example: extensions: ["tex2jax.js","TeX/AMSmath.js","TeX/AMSsymbols.js"],
//
extensions: ["tex2jax.js"],
//
// Patterns to remove from before and after math script tags. If you are not
// using one of the preprocessors (e.g., tex2jax), you need to insert something
// extra into your HTML file in order to avoid a bug in Internet Explorer. IE
// removes spaces from the DOM that it thinks are redundent, and since a SCRIPT
// tag usually doesn't add content to the page, if there is a space before and after
// a MathJax SCRIPT tag, IE will remove the first space. When MathJax inserts
// the typeset mathematics, this means there will be no space before it and the
// preceeding text. In order to avoid this, you should include some "guard characters"
// before or after the math SCRIPT tag; define the patterns you want to use below.
// Note that these are used as regular expressions, so you will need to quote
// special characters. Furthermore, since they are javascript strings, you must
// quote javascript special characters as well. So to obtain a backslash, you must
// use \\ (doubled for javascript). For example, "\\[" is the pattern \[ in the
// regular expression. That means that if you want an actual backslash in your
// guard characters, you need to use "\\\\" in order to get \\ in the regular
// expression, and \ in the actual text. If both preJax and postJax are defined,
// both must be present in order to be removed.
//
// See also the preRemoveClass comments below.
//
// Example:
// preJax: "\\\\\\\\", // makes a double backslash the preJax text
// or
// preJax: "\\[\\[", // jax scripts must be enclosed in double brackets
// postJax: "\\]\\]",
//
preJax: null,
postJax: null,
//
// The CSS class for a math preview to be removed preceeding a MathJax
// SCRIPT tag. If the tag just before the MathJax SCRIPT tag is of this
// class, its contents are removed when MathJax processes the SCRIPT
// tag. This allows you to include a math preview in a form that will
// be displayed prior to MathJax performing its typesetting. It also
// avoids the Internet Explorer space-removal bug, and can be used in
// place of preJax and postJax if that is more convenient.
//
// For example
//
// <span class="MathJax_Preview">[math]</span><script type="math/tex">...</script>
//
// would display "[math]" in place of the math until MathJax is able to typeset it.
//
preRemoveClass: "MathJax_Preview",
//
// This value controls whether the "Processing Math: nn%" message are displayed
// in the lower left-hand corner. Set to "false" to prevent those messages (though
// file loading and other messages will still be shown).
//
showProcessingMessages: true,
//
// This value controls the verbosity of the messages in the lower left-hand corner.
// Set it to "none" to eliminate all messages, or set it to "simple" to show
// "Loading..." and "Processing..." rather than showing the full file name and the
// percentage of the mathematics processed.
//
messageStyle: "normal",
//
// These two parameters control the alignment and shifting of displayed equations.
// The first can be "left", "center", or "right", and determines the alignment of
// displayed equations. When the alignment is not "center", the second determines
// an indentation from the left or right side for the displayed equations.
//
displayAlign: "center",
displayIndent: "0em",
//
// Normally MathJax will perform its starup commands (loading of
// configuration, styles, jax, and so on) as soon as it can. If you
// expect to be doing additional configuration on the page, however, you
// may want to have it wait until the page's onload hander is called. If so,
// set this to "onload".
//
delayStartupUntil: "none",
//
// Normally MathJax will typeset the mathematics on the page as soon as
// the page is loaded. If you want to delay that process, in which case
// you will need to call MathJax.Hub.Typeset() yourself by hand, set
// this value to true.
//
skipStartupTypeset: false,
//============================================================================
//
// These parameters control the tex2jax preprocessor (when you have included
// "tex2jax.js" in the extensions list above).
//
tex2jax: {
//
// The Id of the element to be processed (defaults to full document)
//
element: null,
//
// The delimiters that surround in-line math expressions. The first in each
// pair is the initial delimiter and the second is the terminal delimiter.
// Comment out any that you don't want, but be sure there is no extra
// comma at the end of the last item in the list -- some browsers won't
// be able to handle that.
//
inlineMath: [
// ['$','$'], // uncomment this for standard TeX math delimiters
['\\(','\\)']
],
//
// The delimiters that surround displayed math expressions. The first in each
// pair is the initial delimiter and the second is the terminal delimiter.
// Comment out any that you don't want, but be sure there is no extra
// comma at the end of the last item in the list -- some browsers won't
// be able to handle that.
//
displayMath: [
['$$','$$'],
['\\[','\\]']
],
//
// This array lists the names of the tags whose contents should not be
// processed by tex2jax (other than to look for ignore/process classes
// as listed below). You can add to (or remove from) this list to prevent
// MathJax from processing mathematics in specific contexts.
//
skipTags: ["script","noscript","style","textarea","pre","code"],
//
// This is the class name used to mark elements whose contents should
// not be processed by tex2jax (other than to look for the
// processClass pattern below). Note that this is a regular
// expression, and so you need to be sure to quote any regexp special
// characters. The pattern is automatically preceeded by '(^| )(' and
// followed by ')( |$)', so your pattern will have to match full words
// in the class name. Assigning an element this class name will
// prevent `tex2jax` from processing its contents.
//
ignoreClass: "tex2jax_ignore",
//
// This is the class name used to mark elements whose contents SHOULD
// be processed by tex2jax. This is used to turn on processing within
// tags that have been marked as ignored or skipped above. Note that
// this is a regular expression, and so you need to be sure to quote
// any regexp special characters. The pattern is automatically
// preceeded by '(^| )(' and followed by ')( |$)', so your pattern
// will have to match full words in the class name. Use this to
// restart processing within an element that has been marked as
// ignored above.
//
processClass: "tex2jax_process",
//
// Set to "true" to allow \$ to produce a dollar without starting in-line
// math mode. If you uncomment the ['$','$'] line above, you should change
// this to true so that you can insert plain dollar signs into your documents
//
processEscapes: false,
//
// Controls whether tex2jax processes LaTeX environments outside of math
// mode. Set to "false" to prevent processing of environments except within
// math mode.
//
processEnvironments: true,
//
// Controls whether tex2jax inserts MathJax_Preview spans to make a
// preview available, and what preview to use, when it locates in-line
// and display mathetics on the page. The default is "TeX", which
// means use the TeX code as the preview (until it is processed by
// MathJax). Set to "none" to prevent the previews from being
// inserted (the math will simply disappear until it is typeset). Set
// to an array containing the description of an HTML snippet in order
// to use the same preview for all equations on the page (e.g., you
// could have it say "[math]" or load an image).
//
// E.g., preview: ["[math]"],
// or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
//
preview: "TeX"
},
//============================================================================
//
// These parameters control the mml2jax preprocessor (when you have included
// "mml2jax.js" in the extensions list above).
//
mml2jax: {
//
// The Id of the element to be processed (defaults to full document)
//
element: null,
//
// Controls whether mml2jax inserts MathJax_Preview spans to make a
// preview available, and what preview to use, whrn it locates
// mathematics on the page. The default is "alttext", which means use
// the <math> tag's alttext attribute as the preview (until it is
// processed by MathJax), if the tag has one. Set to "none" to
// prevent the previews from being inserted (the math will simply
// disappear until it is typeset). Set to an array containing the
// description of an HTML snippet in order to use the same preview for
// all equations on the page (e.g., you could have it say "[math]" or
// load an image).
//
// E.g., preview: ["[math]"],
// or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
//
preview: "alttext"
},
//============================================================================
//
// These parameters control the jsMath2jax preprocessor (when you have included
// "jsMath2jax.js" in the extensions list above).
//
jsMath2jax: {
//
// The Id of the element to be processed (defaults to full document)
//
element: null,
//
// Controls whether jsMath2jax inserts MathJax_Preview spans to make a
// preview available, and what preview to use, when it locates
// mathematics on the page. The default is "TeX", which means use the
// TeX code as the preview (until it is processed by MathJax). Set to
// "none" to prevent the previews from being inserted (the math will
// simply disappear until it is typeset). Set to an array containing
// the description of an HTML snippet in order to use the same preview
// for all equations on the page (e.g., you could have it say "[math]"
// or load an image).
//
// E.g., preview: ["[math]"],
// or preview: [["img",{src: "http://myserver.com/images/mypic.jpg"}]]
//
preview: "TeX"
},
//============================================================================
//
// These parameters control the TeX input jax.
//
TeX: {
//
// This specifies the side on which \tag{} macros will place the tags.
// Set to "left" to place on the left-hand side.
//
TagSide: "right",
//
// This is the amound of indentation (from right or left) for the tags.
//
TagIndent: ".8em",
//
// This is the width to use for the multline environment
//
MultLineWidth: "85%",
//
// List of macros to define. These are of the form
// name: value
// where 'value' is the replacement text for the macro \name.
// The 'value' can also be [value,n] where 'value' is the replacement
// text and 'n' is the number of parameters for the macro.
// Note that backslashes must be doubled in the replacement string.
//
// E.g.,
//
// Macros: {
// RR: '{\\bf R}',
// bold: ['{\\bf #1}', 1]
// }
//
Macros: {}
},
//============================================================================
//
// These parameters control the MathML inupt jax.
//
MathML: {
//
// This specifies whether to use TeX spacing or MathML spacing when the
// HTML-CSS output jax is used.
//
useMathMLspacing: false
},
//============================================================================
//
// These parameters control the HTML-CSS output jax.
//
"HTML-CSS": {
//
// This controls the global scaling of mathematics as compared to the
// surrounding text. Values between 100 and 133 are usually good choices.
//
scale: 100,
//
// This is a list of the fonts to look for on a user's computer in
// preference to using MathJax's web-based fonts. These must
// correspond to directories available in the jax/output/HTML-CSS/fonts
// directory, where MathJax stores data about the characters available
// in the fonts. Set this to ["TeX"], for example, to prevent the
// use of the STIX fonts, or set it to an empty list, [], if
// you want to force MathJax to use web-based or image fonts.
//
availableFonts: ["STIX","TeX"],
//
// This is the preferred font to use when more than one of those
// listed above is available.
//
preferredFont: "TeX",
//
// This is the web-based font to use when none of the fonts listed
// above are available on the user's computer. Note that currently
// only the TeX font is available in a web-based form. Set this to
//
// webFont: null,
//
// if you want to prevent the use of web-based fonts.
//
webFont: "TeX",
//
// This is the font to use for image fallback mode (when none of the
// fonts listed above are available and the browser doesn't support
// web-fonts via the @font-face CSS directive). Note that currently
// only the TeX font is available as an image font. Set this to
//
// imageFont: null,
//
// if you want to prevent the use of image fonts (e.g., you have not
// installed the image fonts on your server). In this case, only
// browsers that support web-based fonts will be able to view your pages
// without having the fonts installed on the client computer. The browsers
// that support web-based fonts include: IE6 and later, Chrome, Safari3.1
// and above, Firefox3.5 and later, and Opera10 and later. Note that
// Firefox3.0 is NOT on this list, so without image fonts, FF3.0 users
// will be required to to download and install either the STIX fonts or the
// MathJax TeX fonts.
//
imageFont: "TeX",
//
// This controls whether the MathJax contextual menu will be available
// on the mathematics in the page. If true, then right-clicking (on
// the PC) or control-clicking (on the Mac) will produce a MathJax
// menu that allows you to get the source of the mathematics in
// various formats, change the size of the mathematics relative to the
// surrounding text, and get information about MathJax.
//
// Set this to false to disable the menu. When true, the MathMenu
// items below configure the actions of the menu.
//
showMathMenu: true,
//
// This allows you to define or modify the styles used to display
// various math elements created by MathJax.
//
// Example:
// styles: {
// ".MathJax_Preview": {
// "font-size": "80%", // preview uses a smaller font
// color: "red" // and is in red
// }
// }
//
styles: {},
//
// Configuration for <maction> tooltips
// (see also the #MathJax_Tooltip CSS in MathJax/jax/output/HTML-CSS/config.js,
// which can be overriden using the styles values above).
//
tooltip: {
delayPost: 600, // milliseconds delay before tooltip is posted after mouseover
delayClear: 600, // milliseconds delay before tooltip is cleared after mouseout
offsetX: 10, offsetY: 5 // pixels to offset tooltip from mouse position
}
},
//============================================================================
//
// These parameters control the NativeMML output jax.
//
NativeMML: {
//
// This controls the global scaling of mathematics as compared to the
// surrounding text. Values between 100 and 133 are usually good choices.
//
scale: 100,
//
// This controls whether the MathJax contextual menu will be available
// on the mathematics in the page. If true, then right-clicking (on
// the PC) or control-clicking (on the Mac) will produce a MathJax
// menu that allows you to get the source of the mathematics in
// various formats, change the size of the mathematics relative to the
// surrounding text, and get information about MathJax.
//
// Set this to false to disable the menu. When true, the MathMenu
// items below configure the actions of the menu.
//
// There is a separate setting for MSIE, since the code to handle that
// is a bit delicate; if it turns out to have unexpected consequences,
// you can turn it off without turing off other browser support.
//
showMathMenu: true,
showMathMenuMSIE: true,
//
// This allows you to define or modify the styles used to display
// various math elements created by MathJax.
//
// Example:
// styles: {
// ".MathJax_MathML": {
// color: "red" // MathML is in red
// }
// }
//
styles: {}
},
//============================================================================
//
// These parameters control the contextual menus that are available on the
// mathematics within the page (provided the showMathMenu value is true above).
//
MathMenu: {
//
// This is the hover delay for the display of submenus in the
// contextual menu. When the mouse is still over a submenu label for
// this long, the menu will appear. (The menu also will appear if you
// click on the label.) It is in milliseconds.
//
delay: 400,
//
// This is the URL for the MathJax Help menu item.
//
helpURL: "http://www.mathjax.org/help/user/",
//
// These control whether the "Math Renderer", "Font Preferences",
// and "Contextual Menu" submenus will be displayed or not.
//
showRenderer: true,
showFontMenu: false,
showContext: false,
//
// These are the settings for the Show Source window. The initial
// width and height will be reset after the source is shown in an
// attempt to make the window fit the output better.
//
windowSettings: {
status: "no", toolbar: "no", locationbar: "no", menubar: "no",
directories: "no", personalbar: "no", resizable: "yes", scrollbars: "yes",
width: 100, height: 50
},
//
// This allows you to change the CSS that controls the menu
// appearance. See the extensions/MathMenu.js file for details
// of the default settings.
//
styles: {}
},
//============================================================================
//
// These parameters control the MMLorHTML configuration file.
// NOTE: if you add MMLorHTML.js to the config array above,
// you must REMOVE the output jax from the jax array.
//
MMLorHTML: {
//
// The output jax that is to be preferred when both are possible
// (set to "MML" for native MathML, "HTML" for MathJax's HTML-CSS output jax).
//
prefer: {
MSIE: "MML",
Firefox: "MML",
Opera: "HTML",
other: "HTML"
}
}
});
MathJax.Ajax.loadComplete("[MathJax]/config/MathJax.js");
@@ -1,37 +0,0 @@
/*************************************************************
*
* MathJax/config/local/local.js
*
* Include changes and configuration local to your installation
* in this file. For example, common macros can be defined here
* (see below). To use this file, add "local/local.js" to the
* config array in MathJax.js or your MathJax.Hub.Config() call.
*
* ---------------------------------------------------------------------
*
* Copyright (c) 2009 Design Science, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
var TEX = MathJax.InputJax.TeX;
// place macros here. E.g.:
// TEX.Macro("R","{\\bf R}");
// TEX.Macro("op","\\mathop{\\rm #1}",1); // a macro with 1 parameter
});
MathJax.Ajax.loadComplete("[MathJax]/config/local/local.js");
@@ -1,4 +0,0 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: fedf9ba9a5b2ef65b82b1fa1eea24e52
tags: fbb0d17656682115ca4d033fb2f83ba1
@@ -1,173 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CSS Style Objects &mdash; MathJax v1.0 documentation</title>
<link rel="stylesheet" href="_static/mj.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '1.0',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="MathJax v1.0 documentation" href="index.html" />
<link rel="next" title="Glossary" href="glossary.html" />
<link rel="prev" title="Describing HTML snippets" href="HTML-snippets.html" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="glossary.html" title="Glossary"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="HTML-snippets.html" title="Describing HTML snippets"
accesskey="P">previous</a> |</li>
<li><a href="index.html">MathJax v1.0 documentation</a> &raquo;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="css-style-objects">
<span id="id1"></span><h1>CSS Style Objects<a class="headerlink" href="#css-style-objects" title="Permalink to this headline"></a></h1>
<p>Many MathJax components allow you to specify CSS styles that control
the look of the elements they create. These are described using CSS
style objects, which are JavaScript objects that represent standard
CSS declarations. The main CSS style object is a collection of
<cite>name:value</cite> pairs where the <cite>name</cite> is the CSS selector that is being
defined, and the <cite>value</cite> is an object that gives the style for that
selector. Most often, the selector will need to be enclosed in
quotation marks, as it will contain special characters, so you would
need to use <tt class="docutils literal"><span class="pre">&quot;#myID&quot;</span></tt> rather than just <tt class="docutils literal"><span class="pre">#myID</span></tt> and <tt class="docutils literal"><span class="pre">&quot;ul</span> <span class="pre">li&quot;</span></tt>
rather than just <tt class="docutils literal"><span class="pre">ul</span> <span class="pre">li</span></tt>.</p>
<p>The value used to define the CSS style can either be a string
containing the CSS definition, or a javascript object that is itself a
collection of <cite>name:value</cite> pairs, where the <cite>name</cite> is the attribute
being defined and <cite>value</cite> is the value that attibute should be given.
Note that, since this is a JavaScript object, the pairs are separated
by commas (not semi-colons) and the values are enclosed in quotation
marks. If the name contains dashes, it should be enclosed in
quotation marks as well.</p>
<p>For example, <tt class="docutils literal"><span class="pre">jax/output/HTML-CSS/config.js</span></tt> includes the following
declaration:</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">styles</span><span class="o">:</span> <span class="p">{</span>
<span class="s2">&quot;.MathJax .merror&quot;</span><span class="o">:</span> <span class="p">{</span>
<span class="s2">&quot;background-color&quot;</span><span class="o">:</span> <span class="s2">&quot;#FFFF88&quot;</span><span class="p">,</span>
<span class="nx">color</span><span class="o">:</span> <span class="s2">&quot;#CC0000&quot;</span><span class="p">,</span>
<span class="nx">border</span><span class="o">:</span> <span class="s2">&quot;1px solid #CC0000&quot;</span><span class="p">,</span>
<span class="nx">padding</span><span class="o">:</span> <span class="s2">&quot;1px 3px&quot;</span><span class="p">,</span>
<span class="s2">&quot;font-family&quot;</span><span class="o">:</span> <span class="s2">&quot;serif&quot;</span><span class="p">,</span>
<span class="s2">&quot;font-style&quot;</span><span class="o">:</span> <span class="s2">&quot;normal&quot;</span><span class="p">,</span>
<span class="s2">&quot;font-size&quot;</span><span class="o">:</span> <span class="s2">&quot;90%&quot;</span>
<span class="p">},</span>
<span class="s2">&quot;.MathJax_Preview&quot;</span><span class="o">:</span> <span class="p">{</span><span class="nx">color</span><span class="o">:</span> <span class="s2">&quot;#888888&quot;</span><span class="p">},</span>
<span class="p">}</span>
</pre></div>
</div>
<p>This defines two CSS styles, one for the selector <tt class="docutils literal"><span class="pre">.MathJax</span>
<span class="pre">.merror</span></tt>, which specifies a background color, foreground color,
border, and so on, and a second for <tt class="docutils literal"><span class="pre">.MathJax_Preview</span></tt> that sets its
color.</p>
<p>You can add as many such definitions to a <tt class="docutils literal"><span class="pre">styles</span></tt> object as you
wish. Note, however, that since this is a JavaScript object, the
selectors must be unique (e.g., you can&#8217;t use two definitions for
<tt class="docutils literal"><span class="pre">&quot;img&quot;</span></tt>, for example, as only the last one would be saved). If you
need to use more than one entry for a single selector, you can add
comments like <tt class="docutils literal"><span class="pre">/*</span> <span class="pre">1</span> <span class="pre">*/</span></tt> and <tt class="docutils literal"><span class="pre">/*</span> <span class="pre">2</span> <span class="pre">*/</span></tt> to the selector to make them
unique.</p>
<p>It is possible to include selectors like <tt class="docutils literal"><span class="pre">&quot;&#64;media</span> <span class="pre">print&quot;</span></tt>, in which
case the value is a CSS style object. For example:</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="nx">styles</span><span class="o">:</span> <span class="p">{</span>
<span class="s2">&quot;@media print&quot;</span><span class="o">:</span> <span class="p">{</span>
<span class="s2">&quot;.MathJax .merror&quot;</span><span class="o">:</span> <span class="p">{</span>
<span class="s2">&quot;background-color&quot;</span><span class="o">:</span> <span class="s2">&quot;white&quot;</span><span class="p">,</span>
<span class="nx">border</span><span class="o">:</span> <span class="mi">0</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
</pre></div>
</div>
<p>The various extensions and output processors include more examples of
CSS style objects, so see the code for those files for additional
samples. In particular, the <tt class="docutils literal"><span class="pre">extensions/MathMenu.js</span></tt>,
<tt class="docutils literal"><span class="pre">extensions/MathZoom.js</span></tt>, <tt class="docutils literal"><span class="pre">extensions/FontWarnsing.js</span></tt>, and
<tt class="docutils literal"><span class="pre">jax/output/HTML-CSS/jax.js</span></tt> files include such definitions.</p>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h4>Previous topic</h4>
<p class="topless"><a href="HTML-snippets.html"
title="previous chapter">Describing HTML snippets</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="glossary.html"
title="next chapter">Glossary</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/CSS-styles.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" size="18" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="glossary.html" title="Glossary"
>next</a> |</li>
<li class="right" >
<a href="HTML-snippets.html" title="Describing HTML snippets"
>previous</a> |</li>
<li><a href="index.html">MathJax v1.0 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">
&copy; Copyright 2010 Design Science.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0b2.
</div>
</body>
</html>
@@ -1,170 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Describing HTML snippets &mdash; MathJax v1.0 documentation</title>
<link rel="stylesheet" href="_static/mj.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '1.0',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="MathJax v1.0 documentation" href="index.html" />
<link rel="next" title="CSS Style Objects" href="CSS-styles.html" />
<link rel="prev" title="Converting to MathJax from jsMath" href="jsMath.html" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="CSS-styles.html" title="CSS Style Objects"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="jsMath.html" title="Converting to MathJax from jsMath"
accesskey="P">previous</a> |</li>
<li><a href="index.html">MathJax v1.0 documentation</a> &raquo;</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="describing-html-snippets">
<span id="html-snippets"></span><h1>Describing HTML snippets<a class="headerlink" href="#describing-html-snippets" title="Permalink to this headline"></a></h1>
<p>A number of MathJax configuration options allow you to specify an HTML
snippet using a JavaScript object. This lets you include HTML in your
configutation files even though they are not HTML files themselves.
The format is fairly simple, but flexible enough to let you represent
complicated HTML trees.</p>
<p>An HTML snippet is an array consisting of a series elements that formt
he HTML tree. Those elements are one of two things: either a string,
which represents text to be included in the snippet, or an array,
which represents an HTML tag to be included. In the latter case, the
array consists of three items: a string that is the tag name (e.g.,
&#8220;img&#8221;), an optional object that gives attributes for the tag (as
described below), and an optional HTML snippet array that gives the
contents of the tag.</p>
<p>When attributes are provided, they are given as <cite>name:value</cite> pairs,
with the <cite>name</cite> giving the attribute name, and <cite>value</cite> giving its
value. For example</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="p">[[</span><span class="s2">&quot;img&quot;</span><span class="p">,{</span><span class="nx">src</span><span class="o">:</span><span class="s2">&quot;/images/mypic.jpg&quot;</span><span class="p">}]]</span>
</pre></div>
</div>
<p>represents an HTML snippet that includes one element: an <tt class="docutils literal"><span class="pre">&lt;img&gt;</span></tt> tag
with <tt class="docutils literal"><span class="pre">src</span></tt> set to <tt class="docutils literal"><span class="pre">/images/mypic.jpg</span></tt>. That is, this is
equivalent to</p>
<div class="highlight-html"><div class="highlight"><pre><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">&quot;/images/mypic.jpg&quot;</span><span class="nt">&gt;</span>
</pre></div>
</div>
<p>Note that the snippet has two sets of square brackets. The outermost
one is for the array that holds the snippet, and the innermost set is
because the first (and only) element in the snippet is a tag, not
text. Note that the code <tt class="docutils literal"><span class="pre">[&quot;img&quot;,{src:&quot;/images/mypic.jpg&quot;}]</span></tt>
is invalid as an HTML snippet. It would represent a snippet that
starts with &#8220;img&#8221; as text in the snippet (not a tag), but the second
item is neither a string nor an array, and so is illegal. This is a
common mistake that should be avoided.</p>
<p>A more complex example is the following:</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="p">[</span>
<span class="s2">&quot;Please read the &quot;</span><span class="p">,</span>
<span class="p">[</span><span class="s2">&quot;a&quot;</span><span class="p">,{</span><span class="nx">href</span><span class="o">:</span><span class="s2">&quot;instructions.html&quot;</span><span class="p">},[</span><span class="s2">&quot;instructions&quot;</span><span class="p">]],</span>
<span class="s2">&quot; carefully before proceeding&quot;</span>
<span class="p">]</span>
</pre></div>
</div>
<p>which is equivalent to</p>
<div class="highlight-html"><div class="highlight"><pre>please read the <span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">&quot;instructions.html&quot;</span><span class="nt">&gt;</span>instructions<span class="nt">&lt;/a&gt;</span> carefully
before proceeding.
</pre></div>
</div>
<p>A final example shows how to set style attributes on an object:</p>
<div class="highlight-javascript"><div class="highlight"><pre><span class="p">[[</span><span class="s2">&quot;span&quot;</span><span class="p">,</span>
<span class="p">{</span>
<span class="nx">id</span><span class="o">:</span><span class="s2">&quot;mySpan&quot;</span><span class="p">,</span>
<span class="nx">style</span><span class="o">:</span> <span class="p">{</span><span class="nx">color</span><span class="o">:</span><span class="s2">&quot;red&quot;</span><span class="p">,</span> <span class="s2">&quot;font-weight&quot;</span><span class="o">:</span><span class="s2">&quot;bold&quot;</span><span class="p">}</span>
<span class="p">},</span>
<span class="p">[</span><span class="s2">&quot; This is bold text shown in red &quot;</span><span class="p">]</span>
<span class="p">]]</span>
</pre></div>
</div>
<p>which is equivalent to</p>
<div class="highlight-html"><div class="highlight"><pre><span class="nt">&lt;span</span> <span class="na">id=</span><span class="s">&quot;mySpan&quot;</span> <span class="na">style=</span><span class="s">&quot;color: red; font-weight: bold;&quot;</span><span class="nt">&gt;</span>
This is bold text shown in red
<span class="nt">&lt;/span&gt;</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h4>Previous topic</h4>
<p class="topless"><a href="jsMath.html"
title="previous chapter">Converting to MathJax from jsMath</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="CSS-styles.html"
title="next chapter">CSS Style Objects</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/HTML-snippets.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" size="18" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="CSS-styles.html" title="CSS Style Objects"
>next</a> |</li>
<li class="right" >
<a href="jsMath.html" title="Converting to MathJax from jsMath"
>previous</a> |</li>
<li><a href="index.html">MathJax v1.0 documentation</a> &raquo;</li>
</ul>
</div>
<div class="footer">
&copy; Copyright 2010 Design Science.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0b2.
</div>
</body>
</html>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

@@ -1,79 +0,0 @@
.. _css-style-objects:
*****************
CSS Style Objects
*****************
Many MathJax components allow you to specify CSS styles that control
the look of the elements they create. These are described using CSS
style objects, which are JavaScript objects that represent standard
CSS declarations. The main CSS style object is a collection of
`name:value` pairs where the `name` is the CSS selector that is being
defined, and the `value` is an object that gives the style for that
selector. Most often, the selector will need to be enclosed in
quotation marks, as it will contain special characters, so you would
need to use ``"#myID"`` rather than just ``#myID`` and ``"ul li"``
rather than just ``ul li``.
The value used to define the CSS style can either be a string
containing the CSS definition, or a javascript object that is itself a
collection of `name:value` pairs, where the `name` is the attribute
being defined and `value` is the value that attibute should be given.
Note that, since this is a JavaScript object, the pairs are separated
by commas (not semi-colons) and the values are enclosed in quotation
marks. If the name contains dashes, it should be enclosed in
quotation marks as well.
For example, ``jax/output/HTML-CSS/config.js`` includes the following
declaration:
.. code-block:: javascript
styles: {
".MathJax .merror": {
"background-color": "#FFFF88",
color: "#CC0000",
border: "1px solid #CC0000",
padding: "1px 3px",
"font-family": "serif",
"font-style": "normal",
"font-size": "90%"
},
".MathJax_Preview": {color: "#888888"},
}
This defines two CSS styles, one for the selector ``.MathJax
.merror``, which specifies a background color, foreground color,
border, and so on, and a second for ``.MathJax_Preview`` that sets its
color.
You can add as many such definitions to a ``styles`` object as you
wish. Note, however, that since this is a JavaScript object, the
selectors must be unique (e.g., you can't use two definitions for
``"img"``, for example, as only the last one would be saved). If you
need to use more than one entry for a single selector, you can add
comments like ``/* 1 */`` and ``/* 2 */`` to the selector to make them
unique.
It is possible to include selectors like ``"@media print"``, in which
case the value is a CSS style object. For example:
.. code-block:: javascript
styles: {
"@media print": {
".MathJax .merror": {
"background-color": "white",
border: 0
}
}
}
The various extensions and output processors include more examples of
CSS style objects, so see the code for those files for additional
samples. In particular, the ``extensions/MathMenu.js``,
``extensions/MathZoom.js``, ``extensions/FontWarnsing.js``, and
``jax/output/HTML-CSS/jax.js`` files include such definitions.
@@ -1,83 +0,0 @@
.. _html-snippets:
************************
Describing HTML snippets
************************
A number of MathJax configuration options allow you to specify an HTML
snippet using a JavaScript object. This lets you include HTML in your
configutation files even though they are not HTML files themselves.
The format is fairly simple, but flexible enough to let you represent
complicated HTML trees.
An HTML snippet is an array consisting of a series elements that formt
he HTML tree. Those elements are one of two things: either a string,
which represents text to be included in the snippet, or an array,
which represents an HTML tag to be included. In the latter case, the
array consists of three items: a string that is the tag name (e.g.,
"img"), an optional object that gives attributes for the tag (as
described below), and an optional HTML snippet array that gives the
contents of the tag.
When attributes are provided, they are given as `name:value` pairs,
with the `name` giving the attribute name, and `value` giving its
value. For example
.. code-block:: javascript
[["img",{src:"/images/mypic.jpg"}]]
represents an HTML snippet that includes one element: an ``<img>`` tag
with ``src`` set to ``/images/mypic.jpg``. That is, this is
equivalent to
.. code-block:: html
<img src="/images/mypic.jpg">
Note that the snippet has two sets of square brackets. The outermost
one is for the array that holds the snippet, and the innermost set is
because the first (and only) element in the snippet is a tag, not
text. Note that the code ``["img",{src:"/images/mypic.jpg"}]``
is invalid as an HTML snippet. It would represent a snippet that
starts with "img" as text in the snippet (not a tag), but the second
item is neither a string nor an array, and so is illegal. This is a
common mistake that should be avoided.
A more complex example is the following:
.. code-block:: javascript
[
"Please read the ",
["a",{href:"instructions.html"},["instructions"]],
" carefully before proceeding"
]
which is equivalent to
.. code-block:: html
please read the <a href="instructions.html">instructions</a> carefully
before proceeding.
A final example shows how to set style attributes on an object:
.. code-block:: javascript
[["span",
{
id:"mySpan",
style: {color:"red", "font-weight":"bold"}
},
[" This is bold text shown in red "]
]]
which is equivalent to
.. code-block:: html
<span id="mySpan" style="color: red; font-weight: bold;">
This is bold text shown in red
</span>
@@ -1,196 +0,0 @@
.. _api-ajax:
***********************
The MathJax.Ajax Object
***********************
The `MathJax.Ajax` structure holds the data and functions for handling
loading of external modules. Modules are loaded only once, even if
called for in several places. The loading of files is asynchronous,
and so the code that requests an external module will continue to run
even when that module has not completed loading, so it is important to
be aware of the timing issues this may cause. Similarly, creating or
loading stylesheets is an asynchronous action. In particular, all
actions that rely on the file or stylesheet having been loaded must be
delayed until after the file has been downloaded completely. This is
the reason for the large number of routines that take callback
functions.
Any operation that could cause the loading of a file or stylesheet
must be synchronized with the rest of the code via such callbacks.
Since processing any mathematics might cause files to be loaded (e.g.,
little-used markup might be implemented in an extension that is loaded
only when that markup is used), any code that dynamically typesets
mathematics will need to be structured to use callbacks to guarantee
that the mathematics has been completely processed before the code
tries to use it. See the :ref:`Synchronizing with MathJax <synchronization>`
documentation for details on how to do this properly.
Properties
==========
.. describe:: timeout
Number of milliseconds to wait for a file to load before
it is considered to have failed to load.
*Default:* 20 seconds
.. describe:: STATUS.OK
The value used to indicate that a file load has occurred
successfully.
.. describe:: STATUS.ERROR
The value used to indicate that a file load has caused an error or
a timeout to occur.
.. describe:: loaded
An object containing the names of the files that have been loaded (or
requested) so far. ``MathJax.Ajax.loaded["file"]`` will be
non-``null`` when the file has been loaded, with the value being
the ``MathJax.Ajax.STATUS`` value of the load attempt.
.. describe:: loading
An object containing the files that are currently loading, the
callbacks that are to be run when they load or timeout, and
additional internal data.
Methods
=======
.. method:: Require(file[,callback])
Loads the given file if it hasn't been already. The file must be a
JavaScript file or a CSS stylesheet; i.e., it must end in ``.js``
or ``.css``. Alternatively, it can be an object with a single
`key:value` pair where the `key` is one of ``js`` or ``css`` and
the `value` is the file of that type to be loaded (this makes it
possible to have the file be created by a CGI script, for example,
or to use a ``data::`` URL). The file must be relative to the
MathJax home directory and can not contain ``../`` file path
components.
When the file is completely loaded and run, the `callback`, if
provided, will be executed passing it the status of the file load.
If there was an error while loading the file, or if the file fails
to load within the time limit given by ``MathJax.Ajax.timout``,
the status will be ``MathJax.Ajax.STATUS.ERROR`` otherwise it
will be ``MathJax.Ajax.STATUS.OK``. If the file is already
loaded, the callback will be called immediately and the file will
not be loaded again.
:Parameters:
- **file** --- name of the file to be loaded
- **callback** --- the callback specification
:Returns: the callback object
.. method:: Load(file[,callback])
Used internally to load a given file without checking if it
already has been loaded, or where it is to be found.
:Parameters:
- **file** --- name of the file to be loaded
- **callback** --- the callback specification
:Returns: the callback object
.. method:: loadComplete(file)
Called from within the loaded files to inform MathJax that the
file has been completely loaded and initialized. The `file`
parameter is the name of the file that has been loaded. This
routine will cause any callback functions registered for the file
or included in the :meth:``MathJax.Ajax.Require()`` calls to be
executed, passing them the status or the load
(`MathJax.Ajax.STATUS.OK`` or ``MathJax.Ajax.STATUS.ERROR``) as
their last parameter.
:Parameters:
- **file** --- name of the file that has been loaded
:Returns: ``null``
.. method:: loadTimeout(file)
Called when the timeout period is over and the file hasn't loaded.
This indicates an error condition, and the
:meth:`MathJax.Ajax.loadError()` method will be executed, then the
file's callback will be run with ``MathJax.Ajax.STATUS.ERROR`` as
its parameter.
:Parameters:
- **file** --- name of the file that timed out
:Returns: ``null``
.. method:: loadError(file)
The default error handler called when a file fails to load. It
puts a warning message into the MathJax message box on screen.
:Parameters:
- **file** --- the name of the file that failed to load
:Returns: ``null``
.. method:: loadHook(file,callback)
Registers a callback to be executed when the given file is
loaded. The file load operation need to be started when this
method is called, so it can be used to register a hook for a file
that may be loaded in the future.
:Parameters:
- **file** --- the name of the file to wait for
- **callback** --- the callback specification
:Returns: the callback object
.. method:: Styles(styles[,callback])
Creates a stylesheet from the given style data. `styles` can
either be a string containing a stylesheet definition, or an
object containing a :ref:`CSS Style Object <css-style-objects>`.
For example:
.. code-block:: javascript
MathJax.Ajax.Styles("body {font-family: serif; font-style: italic}");
and
.. code-block:: javascript
MathJax.Ajax.Styles({
body: {
"font-family": "serif",
"font-style": "italic"
}
});
both set the body font family and style.
The callback routine is called when the stylesheet has been
created and is available for use.
:Parameters:
- **styles** --- CSS style object for the styles to set
- **callback** --- the callback specification
:Returns: the callback object
.. note::
Internet Explorer has a limit of 32 dynamically created
stylesheets, so it is best to combine your styles into one
large group rather than making several smaller calls.
.. method:: fileURL(file)
Returns a complete URL to a file (replacing ``[MathJax]`` with the
actual root URL location).
:Parameters:
- **file** --- the file name possibly including ``[MathJax]``
:Returns: the full URL for the file
@@ -1,259 +0,0 @@
.. _api-callback:
**************************
The MathJax.Callback Class
**************************
The ``MathJax.Callback`` object is one of the key mechanisms used by
MathJax to synchronize its actions with those that occur
asynchronously, like loading files and stylesheets. A `Callback`
object is used to tie the execution of a function to the completion of
an asynchronous action. See :ref:`Synchronizing with MathJax
<synchronization>` for more details, and :ref:`Using Callbacks
<using-callbacks>` in particular for examples of how to specify and
use MathJax `Callback` objects.
Specifying a callback
---------------------
When a method includes a callback as one of its arguments, that
callback can be specified in a number of different ways, depending on
the functionality that is required of the callback. The easiest case
is to simply provide a function to be called, but it is also possible
to include data to pass to the function when it is executed, and even
the object that will be used as the javascript `this` object when the
function is called.
Most functions that take callbacks as arguments accept a `callback
specification` rather than an actual callback object, though you can
use the :meth:`MathJax.Callback` function to convert a callback
specification into a Callback object if needed.
A callback specification is any one of the following:
.. describe:: fn
A function that is to be called when the callback is executed.
No additional data is passed to it (other that what it is
called with at the time the callback is executed), and `this`
will be the window object.
.. describe:: [fn]
An array containing a function to be called when the callback
is executed (as above).
.. describe:: [fn, data...]
An array containing a function together with data to be passed
to that function when the callback is executed; `this` is still
the window object. For example,
.. code-block:: javascript
[function (x,y) {return x+y}, 2, 3]
would specify a callback that would pass ``2`` and ``3`` to
the given function, and it would return their sum, ``5``, when
the callback is executed.
.. describe:: [object, fn]
An array containing an object to use as `this` and a function to
call for the callback. For example,
.. code-block:: javascript
[{x:'foo', y:'bar'}, function () {this.x}]
would produce a callback that returns the string ``"foo"``
when it is called.
.. describe:: [object, fn, data...]
Similar to the previous case, but with data that is passed to
the function as well.
..describe:: ["method", object]
Here, `object` is an object that has a method called `method`, and
the callback will execute that method (with the object as
`this`) when it is called. For example,
.. code-block:: javascript
["length",[1,2,3,4]]
would call the `length` method on the array ``[1,2,3,4]`` when
the callback is called, returning ``4``.
.. describe:: ["method", object, data...]
Similar to the previous case, but with data that is passed to
the method. E.g.,
.. code-block:: javascript
["slice",[1,2,3,4],1,3]
would perform the equivalent of ``[1,2,3,4].slice(1,3)``,
which returns the array ``[2,3]`` as a result.
.. describe:: {hook: fn, data: [...], object: this}
Here the data for the callback are given in an associative
array of `key:value` pairs. The value of `hook` is the
function to call, the value of `data` is an array of the
arguments to pass to the function, and the value of `object`
is the object to use as `this` in the function call. The
specification need not include all three `key:value` pairs; any
that are missing get default values (a function that does
nothing, an empty array, and the window object, respectively).
.. describe:: "string"
This specifies a callback where the string is executed via an
``eval()`` statement. The code is run in the global context,
so any variables or functions created by the string become
part of the global namespace. The return value is the value of
the last statement executed in the string.
Executing a Callback Object
===========================
The `Callback` object is itself a function, and calling that function
executes the callback. You can pass the callback additional
parameters, just as you can any function, and these will be added to
the callback function's argument list following any data that was
supplied at the time the callback was created. For example
.. code-block:: javascript
var f = function (x,y) {return x + " and " +y}
var cb = MathJax.Callback([f, "foo"]);
var result = cb("bar"); // sets result to "foo and bar"
Usually, the callback is not executed by the code that creates it (as
it is in the example above), but by some other code that runs at a
later time at the completion of some other activity (say the loading
of a file), or in response to a user action. For example:
.. code-block:: javascript
function f(x) {alert("x contains "+x)};
function DelayedX(time) {
var x = "hi";
setTimeout(MathJax.Callback([f, x], time);
}
The ``DelayedX`` function arranges for the function ``f`` to be called at
a later time, passing it the value of a local variable, ``x``. Normally,
this would require the use of a closure, but that is not needed when a
`MathJax.Callback` object is used.
Callback Object Properties
--------------------------
.. describe:: hook
The function to be called when the callback is executed.
.. describe:: data
An array containing the arguments to pass to the callback
function when it is executed.
.. describe:: object
The object to use as `this` during the call to the callback
function.
.. describe:: called
Set to ``true`` after the callback has been called, and undefined
otherwise. A callback will not be exectued a second time unless
the callback's :meth:`reset()` method is called first, or its
``autoReset`` property is set to ``true``.
.. describe:: autoReset
Set this to ``true`` if you want to be able to call the callback
more than once. (This is the case for signal listeners, for example).
.. describe:: isCallback
Always set to ``true`` (used to detect if an object is a callback
or not).
Callback Object Methods
-----------------------
.. method:: reset()
Clears the callback's `called` property.
MathJax.Callback Methods
------------------------
.. method:: Delay(time[, callback])
Waits for the specified time (given in milliseconds) and then
performs the callback. It returns the Callback object (or a blank
one if none was supplied). The returned callback structure has a
`timeout` property set to the result of the ``setTimeout()`` call
that was used to perform the wait so that you can cancel the wait,
if needed. Thus :meth:`MathJax.Callback.Delay()` can be used to
start a timeout delay that executes the callback if an action
doesn't occur within the given time (and if the action does occur,
the timeout can be canceled). Since
:meth:`MathJax.Callback.Delay()` returns a callback structure, it
can be used in a callback queue to insert a delay between queued
commands.
:Parameters:
- **time** --- the amount of time to wait
- **callback** --- the callback specification
:Returns: the callback object
.. method:: executeHooks(hooks[, data[,reset]])
Calls each callback in the `hooks` array (or the single hook if it
is not an array), passing it the arguments stored in the data
array. It `reset` is ``true``, then the callback's
:meth:`reset()` method will be called before each hook is
executed. If any of the hooks returns a `Callback` object, then
it collects those callbacks and returns a new callback that will
execute when all the ones returned by the hooks have been
completed. Otherwise, :meth:`MathJax.Callback.executeHooks()`
returns ``null``.
:Parameters:
- **hooks** --- array of hooks to be called, or a hook
- **data** --- array of arguments to pass to each hook in turn
- **reset** --- ``true`` if the :meth:`reset()` method should be called
:Returns: callback that waits for all the hooks to complete, or ``null``
.. method:: Queue([callback,...])
Creates a `MathJax.CallBack.Queue` object and pushes the given
callbacks into the queue. See :ref:`Using Queues <using-queues>`
for more details about MathJax queues.
:Parameters:
- **callback** --- one or more callback specifications
:Returns: the `Queue` object
.. method:: Signal(name)
Looks for a named signal, creates it if it doesn't already exist,
and returns the signal object. See
:ref:`Using Signals <using-signals>` for more details.
:Parameters:
- **name** --- name of the signal to get or create
:Returns: the `Signal` object
@@ -1,122 +0,0 @@
.. _api-element-jax:
****************************
The MathJax.ElementJax Class
****************************
The element jax is the bridge between the input and output jax, and
contains the data produced by the input jax needed by the output jax
to display the results. It is tied to the individual ``<script>`` tag
that produced it, and is the object used by JavaScript programs to
interact with the mathematics on the page.
An element jax is stored in the ``jax.js`` file in a subdirectory of
the ``jax/element`` directory, with the subdirectory name being the
name of the element jax. Currently, there is only one element jax
class, the `mml` element jax, and it is stored in ``jax/element/mml``.
The `MathJax.ElementJax` class is a subclass of the :ref:`MathJax Jax
<api-jax>` class, and inherits the properties and methods of that
class. Those listed below are the additional or overridden ones from
that class.
Class Properties
================
.. describe:: name
The name of the jax.
.. describe:: version
The version number of the jax.
.. describe:: directory
The directory where the jax files are stored (e.g., ``"[MathJax]/jax/element/mml"``);
Instance Properties
===================
.. describe:: inputJax
A reference to the input jax that created the element.
.. describe:: outputJax
A reference to the output jax that has processed this element.
.. describe:: inputID
The DOM `id` of the ``<script>`` tag that generated this element
(if it doesn't have one initially, the MathJax hub will supply
one). Note that this is not a reference to the element itself;
that element will have a reference to this element jax, and if
`inputID` were a reference back, that would cause a reference
loop, which some browsers would not free properly during trash
collection, thus causing a memory leak.
.. describe:: originalText
A string indicating the original input text that was processed for
this element.
.. describe:: mimeType
The MIME-type of the element jax (`jax/mml` in the case of an
`mml` element jax).
Other data specific to the element jax subclass may also appear here.
Methods
=======
.. Method:: Text(text[,callback])
Sets the input text for this element to the given text and
reprocesses the mathematics. (I.e., update the equation to the
new one given by `text`). When the processing is complete, the
`callback`, if any, is called.
:Parameters:
- **text** --- the new mathematic source string for the element
- **callback** --- the callback specification
:Returns: the callback object
.. Method:: Reprocess([callback])
:noindex:
Remove the output and produce it again. This may be necessary if
there are changes to the CSS styles that would affect the layout
of the mathematics, for example. The `callback`, if any, is
called when the process completes.
:Parameters:
- **callback** --- the callback specification
:Returns: the callback object
.. Method:: Remove()
:noindex:
Removes the output for this element from the web page (but does
not remove the original ``<script>``). The ``<script>`` will be
considered unprocessed, and the next call to
:meth:`MathJax.hub.Typeset()` will re-display it.
:Returns: ``null``
.. Method:: SourceElement()
Returns a reference to the original ``<script>`` DOM element
associated to this element jax.
:Returns: the ``<script>`` element
Output jax may add new methods to the base element jax class to
perform exporting to other formats. For example, a MathML output jax
could add ``toMathML()``, or an accessibility output jax could add
``toAudible()``. These could be made available via the MathJax
contextual menu.

Some files were not shown because too many files have changed in this diff Show More