view app/assets/javascripts/application.coffee @ 398:851432f21603

Nope, failing at redesigning.
author nanaya <me@myconan.net>
date Sun, 06 Sep 2015 03:52:52 +0900
parents 8ceb373e32d8
children a18e19139f57
line wrap: on
line source

#= require jquery
#= require bootstrap
#= require highlightjs
#= require commonmark

$(document).on "click", ".js-paste-clear", (e) ->
  e.preventDefault()
  $(".js-paste-paste")
    .val("")
    .focus()


pasteText = ->
  $(".js-paste-pl").text()


setHash = (newLocation = window.location.pathname) ->
  return unless history.replaceState

  newLocation ||= window.location.pathname
  history.replaceState null, "", newLocation


$(document).on "click", ".js-show-tab-pl", ->
  setHash()


$(document).on "click", ".js-show-tab-hl", ->
  setHash "#hl"
  $hlBox = $(".js-paste-hl")
  return if $hlBox.data("processed")

  $hlBox.text pasteText()

  highlight = -> hljs.highlightBlock($hlBox[0])
  setTimeout highlight, 0

  $hlBox.data "processed", true


$(document).on "click", ".js-show-tab-md", ->
  setHash "#md"
  $mdBox = $(".js-paste-md")
  return if $mdBox.data("processed")

  reader = new commonmark.Parser
  writer = new commonmark.HtmlRenderer(safe: true)
  parsed = reader.parse pasteText()

  $mdBox.html writer.render(parsed)
  $mdBox.find("a").attr("rel", "nofollow")
  $mdBox.data "processed", true

$(document).on "ready", ->
  return if $(".js-showing-paste").length < 1

  format = window.location.hash.slice(1)
  $(".js-show-tab-#{format}").click()