annotate app/assets/javascripts/application.coffee @ 418:a69dd2d37950

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