module Jamstack
module HTML
class << self
def scale=(mode)
mode = mode.to_sym if mode.is_a?(String)
raise ArgumentError, "scale must be :stretch or :native" unless [:stretch, :native].include?(mode)
Jamstack.eval_js("jamstackSetSize(\"#{mode}\")")
@scale = mode
end
def scale
@scale || :stretch
end
def render=(mode)
mode = mode.to_sym if mode.is_a?(String)
raise ArgumentError, "render must be :auto, :pixelated, or :crisp_edges" unless [:auto, :pixelated, :crisp_edges].include?(mode)
js_mode = mode == :crisp_edges ? "crisp-edges" : mode.to_s
Jamstack.eval_js("jamstackSetRendering(\"#{js_mode}\")")
@render = mode
end
def render
@render || :auto
end
def toggle_fullscreen
Jamstack.eval_js("if(document.fullscreenElement){document.exitFullscreen()}else{document.documentElement.requestFullscreen()}")
end
def title=(t)
Jamstack.eval_js("document.title=#{t.to_s.inspect}")
end
end
end
def self.fonttest
puts "=== Font Test ==="
puts ""
puts "--- ASCII ---"
puts "abcdefghijklmnopqrstuvwxyz"
puts "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
puts "0123456789 !@#$%^&*()_+-=[]{}|;:',.<>?/`~"
puts ""
puts "--- Box Drawing ---"
puts "+--+--+--+"
puts "| | | |"
puts "+--+--+--+"
puts ""
puts "--- Arrows ---"
puts "<- -> ^ v"
puts ""
puts "--- Nerd Font Icons ---"
puts "Powerline: \uE0B0 \uE0B2 \uE0B1 \uE0B3"
puts "Git: \uE0A0 \uE0A2 \uE0A3"
puts "Misc: \uF004 \uF005 \uF00C \uF00D \uF013 \uF017"
puts "OS: \uF179 \uF17C \uE70F"
puts "Devicons: \uE739 \uE74E \uE73C \uE7A8"
puts ""
puts "--- Standard Emoji ---"
puts "Faces: \U0001F602 \U0001F923 \U0001F604 \U0001F60D \U0001F622"
puts "Hands: \U0001F44D \U0001F44E \U0001F44C \U0001F450"
puts "Objects: \U0001F525 \U0001F4A5 \U0001F4A9 \U0001F389 \U0001F680"
puts "Animals: \U0001F431 \U0001F436 \U0001F98A \U0001F414"
puts ""
puts "--- Long line (wrapping test) ---"
puts "The quick brown fox jumps over the lazy dog. " * 4
puts ""
puts "--- Scroll test (30 lines) ---"
30.times do |i|
puts "Line #{i + 1}: The quick brown fox jumps over the lazy dog 1234567890"
end
puts ""
puts "=== End of Font Test ==="
"done"
end
end