annotate app/assets/javascripts/application.coffee @ 425:9369ad2f2ce8

Simplify logic
author nanaya <me@myconan.net>
date Mon, 26 Oct 2015 14:09:13 +0900
parents f0b4d6bec50e
children 1fc5ddcde386
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
381
bfc5ad3f7dc5 Use rails' builtin jquery instead of external one.
nanaya <me@myconan.net>
parents: 379
diff changeset
1 #= require jquery
421
f0b4d6bec50e Slim out bootstrap
nanaya <me@myconan.net>
parents: 417
diff changeset
2 #= require bootstrap/transition
f0b4d6bec50e Slim out bootstrap
nanaya <me@myconan.net>
parents: 417
diff changeset
3 #= require bootstrap/collapse
f0b4d6bec50e Slim out bootstrap
nanaya <me@myconan.net>
parents: 417
diff changeset
4 #= require bootstrap/modal
f0b4d6bec50e Slim out bootstrap
nanaya <me@myconan.net>
parents: 417
diff changeset
5 #= require bootstrap/tab
398
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
6 #= require highlightjs
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
7 #= require commonmark
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
8
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
9 $(document).on "click", ".js-paste-clear", (e) ->
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
10 e.preventDefault()
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
11 $(".js-paste-paste")
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
12 .val("")
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
13 .focus()
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
14
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
15
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
16 pasteText = ->
402
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
17 $(".js-paste-paste").val() || $(".js-paste-pl").text()
398
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
18
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
19
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
20 setHash = (newLocation = window.location.pathname) ->
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
21 return unless history.replaceState
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
22
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
23 history.replaceState null, "", newLocation
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
24
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
25
402
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
26 markdownfy = (plaintext) ->
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
27 reader = new commonmark.Parser
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
28 writer = new commonmark.HtmlRenderer(safe: true)
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
29 writer.render reader.parse(plaintext)
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
30
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
31
398
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
32 $(document).on "click", ".js-show-tab-pl", ->
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
33 setHash()
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
34
382
8ceb373e32d8 Nuke out javascripts =]
nanaya <me@myconan.net>
parents: 381
diff changeset
35
398
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
36 $(document).on "click", ".js-show-tab-hl", ->
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
37 setHash "#hl"
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
38 $hlBox = $(".js-paste-hl")
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
39 return if $hlBox.data("processed")
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
40
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
41 $hlBox.text pasteText()
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
42
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
43 highlight = -> hljs.highlightBlock($hlBox[0])
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
44 setTimeout highlight, 0
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
45
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
46 $hlBox.data "processed", true
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
47
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
48
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
49 $(document).on "click", ".js-show-tab-md", ->
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
50 setHash "#md"
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
51 $mdBox = $(".js-paste-md")
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
52 return if $mdBox.data("processed")
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
53
402
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
54 $mdBox.html markdownfy(pasteText())
398
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
55 $mdBox.find("a").attr("rel", "nofollow")
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
56 $mdBox.data "processed", true
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
57
402
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
58
405
26c1b0b8edbe Don't add hash when clicking preview.
nanaya <me@myconan.net>
parents: 404
diff changeset
59 $(document).on "click", ".js-paste-preview-md", (e) ->
26c1b0b8edbe Don't add hash when clicking preview.
nanaya <me@myconan.net>
parents: 404
diff changeset
60 e.preventDefault()
402
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
61 return if pasteText() == ""
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
62 $(".js-paste-preview-md-box").html markdownfy(pasteText())
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
63 $(".js-paste-preview-md-modal").modal "show"
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
64
a18e19139f57 Markdown preview \o/
nanaya <me@myconan.net>
parents: 398
diff changeset
65
398
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
66 $(document).on "ready", ->
416
c4c8214fb0b2 Simplify dom check
nanaya <me@myconan.net>
parents: 405
diff changeset
67 return unless $(".js-showing-paste").length
398
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
68
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
69 format = window.location.hash.slice(1)
851432f21603 Nope, failing at redesigning.
nanaya <me@myconan.net>
parents: 382
diff changeset
70 $(".js-show-tab-#{format}").click()
417
080dd141898c Add support for explicit highlighter languages
nanaya <me@myconan.net>
parents: 416
diff changeset
71
080dd141898c Add support for explicit highlighter languages
nanaya <me@myconan.net>
parents: 416
diff changeset
72
080dd141898c Add support for explicit highlighter languages
nanaya <me@myconan.net>
parents: 416
diff changeset
73 $(document).on "ready", ->
080dd141898c Add support for explicit highlighter languages
nanaya <me@myconan.net>
parents: 416
diff changeset
74 $languageSelectBox = $("#paste_language")
080dd141898c Add support for explicit highlighter languages
nanaya <me@myconan.net>
parents: 416
diff changeset
75 return unless $languageSelectBox.length
080dd141898c Add support for explicit highlighter languages
nanaya <me@myconan.net>
parents: 416
diff changeset
76
080dd141898c Add support for explicit highlighter languages
nanaya <me@myconan.net>
parents: 416
diff changeset
77 for language in hljs.listLanguages().sort()
080dd141898c Add support for explicit highlighter languages
nanaya <me@myconan.net>
parents: 416
diff changeset
78 $languageSelectBox.append $("<option />", value: language, text: language)