diff --git a/screenshot-page.html b/screenshot-page.html index 795936a..bbef362 100644 --- a/screenshot-page.html +++ b/screenshot-page.html @@ -5,8 +5,7 @@ Lorem ipsum dolor sit amet - - + diff --git a/screenshot.tcl b/screenshot.tcl new file mode 100644 index 0000000..ae8222a --- /dev/null +++ b/screenshot.tcl @@ -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