Add PNG generation (https://asciinema.org/a/17654.png)
parent
facee1ba82
commit
2852248989
@ -0,0 +1,12 @@
|
||||
//= require player
|
||||
|
||||
body.screenshot
|
||||
background-color: transparent
|
||||
padding: 0
|
||||
margin: 0
|
||||
|
||||
.control-bar
|
||||
display: none
|
||||
|
||||
.asciinema-player-wrapper
|
||||
text-align: left
|
@ -0,0 +1,23 @@
|
||||
class AsciicastImageUpdater
|
||||
|
||||
attr_reader :png_generator
|
||||
|
||||
def initialize(png_generator = PngGenerator.new)
|
||||
@png_generator = png_generator
|
||||
end
|
||||
|
||||
def update(asciicast, page_path)
|
||||
Dir.mktmpdir do |dir|
|
||||
png_path = "#{dir}/#{asciicast.image_filename}"
|
||||
|
||||
png_generator.generate(page_path, png_path)
|
||||
|
||||
File.open(png_path) do |f|
|
||||
asciicast.image = f
|
||||
end
|
||||
|
||||
asciicast.save!
|
||||
end
|
||||
end
|
||||
|
||||
end
|
@ -0,0 +1,15 @@
|
||||
require 'open3'
|
||||
|
||||
class PngGenerator
|
||||
|
||||
BINARY_PATH = (Rails.root + "bin" + "asciicast2png").to_s
|
||||
|
||||
def generate(page_path, png_path)
|
||||
o, e, t = Open3.capture3("#{BINARY_PATH} #{page_path} #{png_path}")
|
||||
|
||||
if t.exitstatus != 0
|
||||
raise RuntimeError, "Couldn't generate PNG for #{page_path}:\n#{o}\n#{e}"
|
||||
end
|
||||
end
|
||||
|
||||
end
|
@ -0,0 +1,2 @@
|
||||
class ImageUploader < BaseUploader
|
||||
end
|
@ -0,0 +1 @@
|
||||
= player page.asciicast, page.playback_options
|
@ -0,0 +1,8 @@
|
||||
doctype html
|
||||
html[lang="en"]
|
||||
head
|
||||
meta[charset="utf-8"]
|
||||
= screenshot_javascript_tag
|
||||
= screenshot_stylesheet_tag
|
||||
body.screenshot
|
||||
= yield
|
@ -0,0 +1,5 @@
|
||||
class AddImageToAsciicasts < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :asciicasts, :image, :string
|
||||
end
|
||||
end
|
@ -1 +1,28 @@
|
||||
[[["code/ascii.io", {"fg": 4}], [" ", {}], ["(color-snapshot", {"fg": 3}], ["*", {"fg": 2}], ["?", {"fg": 4}], [")", {"fg": 3}], [" % ", {}], ["ohai", {"fg": 1, "bold": true}], [" :)", {}], [" ", {"inverse": true}], [" ", {}], ["(2.0.0)", {"fg": 1}], [" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]], [[" ", {}]]]
|
||||
[
|
||||
[[" .g/COMMIT_EDITMSG+ ",{"fg":232,"bg":39}],["",{"fg":39,"bg":235}],[" ",{"fg":121,"bg":235}],["",{"fg":214,"bg":235}],[" buffers ",{"fg":232,"bg":214}]],
|
||||
[[" 1 ",{"fg":241,"bg":233}],["AUI-1325 ",{"fg":196,"bg":235,"bold":true}],["C",{"fg":196,"bg":235,"bold":true,"inverse":true}],["hange the diagram-builder icons to font-",{"fg":196,"bg":235,"bold":true}],["based and remove unused icons CSS ",{"fg":15,"bg":235}]],
|
||||
[[" 2 ",{"fg":241,"bg":233}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 3 ",{"fg":241,"bg":233}],["Signed-off-by: Henrique Vicente <henriquevicente@gmail.com> ",{"fg":15,"bg":233}]],
|
||||
[[" 4 ",{"fg":241,"bg":233}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 5 ",{"fg":241,"bg":233}],["# Please enter the commit message for your changes. Lines starting",{"fg":243,"bg":233}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 6 ",{"fg":241,"bg":233}],["# with '#' will be ignored, and an empty message aborts the commit.",{"fg":243,"bg":233}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 7 ",{"fg":241,"bg":233}],["# rebase in progress; onto 5ea3517",{"fg":243,"bg":233}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 8 ",{"fg":241,"bg":233}],["# You are currently editing a commit while rebasing branch 'AUI-1325' on '5ea3517'.",{"fg":243,"bg":233}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 9 ",{"fg":241,"bg":233}],["#",{"fg":243,"bg":233}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 10 ",{"fg":241,"bg":233}],["# ",{"fg":243,"bg":233}],["Changes to be committed:",{"fg":154,"bg":233}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 11 ",{"fg":241,"bg":233}],["# ",{"fg":243,"bg":233}],["modified",{"fg":211,"bg":233}],[": ",{"fg":243,"bg":233}],[" src/aui-diagram-builder/assets/aui-diagram-builder-impl-core.css",{"fg":137,"bg":233,"bold":true}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 12 ",{"fg":241,"bg":233}],["# ",{"fg":243,"bg":233}],["deleted",{"fg":211,"bg":233}],[": ",{"fg":243,"bg":233}],[" src/aui-diagram-builder/assets/skins/sam/anchor-default.png",{"fg":137,"bg":233,"bold":true}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 13 ",{"fg":241,"bg":233}],["# ",{"fg":243,"bg":233}],["deleted",{"fg":211,"bg":233}],[": ",{"fg":243,"bg":233}],[" src/aui-diagram-builder/assets/skins/sam/anchor-drop-active.png",{"fg":137,"bg":233,"bold":true}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 20 ",{"fg":241,"bg":233}],["# ",{"fg":243,"bg":233}],["deleted",{"fg":211,"bg":233}],[": ",{"fg":243,"bg":233}],[" src/aui-diagram-builder/assets/skins/sam/menu-end.png",{"fg":137,"bg":233,"bold":true}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 21 ",{"fg":241,"bg":233}],["# ",{"fg":243,"bg":233}],["deleted",{"fg":211,"bg":233}],[": ",{"fg":243,"bg":233}],[" src/aui-diagram-builder/assets/skins/sam/menu-fork.png",{"fg":137,"bg":233,"bold":true}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 22 ",{"fg":241,"bg":233}],["# ",{"fg":243,"bg":233}],["deleted",{"fg":211,"bg":233}],[": ",{"fg":243,"bg":233}],[" src/aui-diagram-builder/assets/skins/sam/menu-join.png",{"fg":137,"bg":233,"bold":true}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 23 ",{"fg":241,"bg":233}],["# ",{"fg":243,"bg":233}],["deleted",{"fg":211,"bg":233}],[": ",{"fg":243,"bg":233}],[" src/aui-diagram-builder/assets/skins/sam/menu-start.png",{"fg":137,"bg":233,"bold":true}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 24 ",{"fg":241,"bg":233}],["# ",{"fg":243,"bg":233}],["deleted",{"fg":211,"bg":233}],[": ",{"fg":243,"bg":233}],[" src/aui-diagram-builder/assets/skins/sam/menu-state.png",{"fg":137,"bg":233,"bold":true}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 25 ",{"fg":241,"bg":233}],["# ",{"fg":243,"bg":233}],["deleted",{"fg":211,"bg":233}],[": ",{"fg":243,"bg":233}],[" src/aui-diagram-builder/assets/skins/sam/menu-task.png",{"fg":137,"bg":233,"bold":true}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 26 ",{"fg":241,"bg":233}],["# ",{"fg":243,"bg":233}],["deleted",{"fg":211,"bg":233}],[": ",{"fg":243,"bg":233}],[" src/aui-diagram-builder/assets/skins/sam/start.png",{"fg":137,"bg":233,"bold":true}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 27 ",{"fg":241,"bg":233}],["# ",{"fg":243,"bg":233}],["deleted",{"fg":211,"bg":233}],[": ",{"fg":243,"bg":233}],[" src/aui-diagram-builder/assets/skins/sam/state.png",{"fg":137,"bg":233,"bold":true}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 28 ",{"fg":241,"bg":233}],["# ",{"fg":243,"bg":233}],["deleted",{"fg":211,"bg":233}],[": ",{"fg":243,"bg":233}],[" src/aui-diagram-builder/assets/skins/sam/task.png",{"fg":137,"bg":233,"bold":true}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" 29 ",{"fg":241,"bg":233}],["#",{"fg":243,"bg":233}],[" ",{"fg":15,"bg":233}]],
|
||||
[[" ",{"fg":232,"bg":39}],["INSERT",{"fg":232,"bg":39,"bold":true}],[" ",{"fg":232,"bg":39}],["",{"fg":39,"bg":27}],["",{"fg":27,"bg":238}],[" .git/COMMIT_EDITMSG[+] ",{"fg":214,"bg":238}],["",{"fg":235,"bg":238}],[" gitcommit ",{"fg":39,"bg":235}],["",{"fg":27,"bg":235}],[" utf-8[unix] ",{"fg":222,"bg":27}],["",{"fg":39,"bg":27}],[" 2% ",{"fg":232,"bg":39}],[" 1",{"fg":232,"bg":39,"bold":true}],[": 10 ",{"fg":232,"bg":39}]],
|
||||
[["-- INSERT --",{"fg":222,"bg":233,"bold":true}],[" ",{"fg":15,"bg":233}]]
|
||||
]
|
||||
|
Loading…
Reference in New Issue