build(screenshot): add automatic screenshot script

This commit is contained in:
D. Bohdan 2021-03-26 15:34:20 +00:00
parent 7ceca78426
commit 98b0d328a6
2 changed files with 41 additions and 2 deletions

View File

@ -5,8 +5,7 @@
<title>Lorem ipsum dolor sit amet</title>
<!-- <link rel="stylesheet" href="https://unpkg.com/normalize.css@8.0.1/normalize.css" type="text/css"> -->
<link rel="stylesheet" href="normalize.css" />
<link rel="stylesheet" href="sakura-dark-solarized.css" />
<link rel="stylesheet" href="%CSS_HERE%" />
</head>
<body>

40
screenshot.tcl Normal file
View File

@ -0,0 +1,40 @@
#! /usr/bin/env tclsh
package require fileutil
proc screenshot {name css github demo} {
set src screenshot-page.html
set dest temp.html
set filename [slugify $name].png
fileutil::writeFile $dest [regsub %CSS_HERE% [fileutil::cat $src] $css]
run wkhtmltoimage $dest screenshot/$filename
run convert \
-resize 25% \
-adaptive-sharpen 10 \
screenshot/$filename \
thumbnail/$filename
run optipng -o5 -strip all screenshot/$filename thumbnail/$filename
puts ------\n[markup $name $github $demo $filename]
}
proc slugify text {
string trim [regsub -all {[^[:alnum:]]+} [string tolower $text] -] -
}
proc run args {
exec {*}$args >@ stdout 2>@ stderr
}
proc markup {name github demo filename} {
subst -nocommands {### $name
* [Repository](https://github.com/$github) ![GitHub stars](https://img.shields.io/github/stars/$github?style=flat-square) ![GitHub contributors](https://img.shields.io/github/contributors-anon/$github?style=flat-square) ![Last commit](https://img.shields.io/github/last-commit/$github?style=flat-square) ![GitHub open issues](https://img.shields.io/github/issues-raw/$github?style=flat-square) ![GitHub closed issues](https://img.shields.io/github/issues-closed-raw/$github?style=flat-square)
* [Demo]($demo)
[![$filename](thumbnail/$filename)](screenshot/$filename)}
}
screenshot {*}$argv