From babcd724ec287444204a6b256c40a1ff3fefc25d Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Sat, 6 Jul 2019 17:23:14 -0400 Subject: Add CSS output to scheme --- bin/man1/scheme.1 | 10 ++++++++-- bin/scheme.c | 17 +++++++++++++++-- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/bin/man1/scheme.1 b/bin/man1/scheme.1 index 738d9cd7..9aa4f054 100644 --- a/bin/man1/scheme.1 +++ b/bin/man1/scheme.1 @@ -1,4 +1,4 @@ -.Dd February 12, 2019 +.Dd July 6, 2019 .Dt SCHEME 1 .Os . @@ -8,7 +8,7 @@ . .Sh SYNOPSIS .Nm -.Op Fl acghilmtx +.Op Fl acghilmstx .Op Fl p Ar n . .Sh DESCRIPTION @@ -41,6 +41,12 @@ Use with .It Fl p Ar n Generate only the color .Ar n . +.It Fl s +Output CSS +for classes named +.Sy fg Ns Ar n +and +.Sy bg Ns Ar n . .It Fl t Generate the 16 ANSI colors as well as background, foreground, bold, selection and cursor colors. diff --git a/bin/scheme.c b/bin/scheme.c index b71308da..acbcebb7 100644 --- a/bin/scheme.c +++ b/bin/scheme.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2018 June McEnroe +/* Copyright (C) 2018, 2019 June McEnroe * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by @@ -174,6 +174,18 @@ static void outputMintty(const struct HSV *hsv, uint len) { } } +static void outputCSS(const struct HSV *hsv, uint len) { + for (uint i = 0; i < len; ++i) { + struct RGB rgb = convert(hsv[i]); + printf( + ".fg%u { color: #" FORMAT_RGB "; }\n" + ".bg%u { background-color: #" FORMAT_RGB "; }\n", + i, rgb.r, rgb.g, rgb.b, + i, rgb.r, rgb.g, rgb.b + ); + } +} + enum { SwatchWidth = 64, SwatchHeight = 64, @@ -214,7 +226,7 @@ int main(int argc, char *argv[]) { uint len = 16; int opt; - while (0 < (opt = getopt(argc, argv, "acghilmp:tx"))) { + while (0 < (opt = getopt(argc, argv, "acghilmp:stx"))) { switch (opt) { break; case 'a': len = 16; break; case 'c': output = outputEnum; @@ -229,6 +241,7 @@ int main(int argc, char *argv[]) { hsv = &scheme[p]; len = 1; } + break; case 's': output = outputCSS; break; case 't': len = SchemeLen; break; case 'x': output = outputRGB; break; default: return EX_USAGE; -- cgit 1.4.1 &showmsg=1&follow=1'>file2c (unfollow)
Commit message (Collapse)Author
2019-02-20Move /opt/pkg after /usr in PATHJune McEnroe
Installing mandoc from pkgsrc also installs a man executable which is horribly broken. Keep using the system man.
2019-02-20Set man_hard_wrap in nvimJune McEnroe
Vendoring man.vim until <https://github.com/neovim/neovim/pull/9633> is merged and appears in a release.
2019-02-18Use hi -o anchor in upJune McEnroe
2019-02-18Don't match nested parentheses in Tag for CJune McEnroe
Fixes mistaken highlight of: pngWrite(file, (uint8_t []) { 0, 0, 0 }, 3);
2019-02-18Match whitespace between * [] {}June McEnroe
2019-02-18Fix function-like #define regexJune McEnroe
A define like #define FOO (1) is not function-like.
2019-02-18Match Tag in RustJune McEnroe
2019-02-18Match sh functions as TagJune McEnroe
2019-02-18Match Sh and Ss as Tag in mdocJune McEnroe
2019-02-18Match statics and typedefs as TagJune McEnroe
2019-02-18Clean up htmlHeaderJune McEnroe
2019-02-18Remove hi line numberingJune McEnroe
Tags are much better for referring to specific parts of a file and line numbering is better done by a post-processing tool such as cat -n or producing a two-column HTML <table>.
2019-02-18Add Tag class to hiJune McEnroe
2019-02-17Generate HTML with hi -n -f html -o anchorJune McEnroe
Running hi twice to insert stuff between the head and the content is a bit of a hack but oh well.
2019-02-17Add hi -f html -o anchor for line number linksJune McEnroe
2019-02-17Simplify temp trap in upJune McEnroe
2019-02-17Add line numbers to hiJune McEnroe
Renames previous -n option to -m to stay consistent with cat -n. Prefixing lines with line numbers affects where the first tab indent ends up relative to the text above it. Not sure if it's worth fixing somehow.
2019-02-17Always split spans after newlinesJune McEnroe
Simplifies ANSI and IRC output code, and prepares for line numbered output.
2019-02-15Color format specifiers light cyan in vimJune McEnroe
2019-02-15Highlight Interp as yellowJune McEnroe
2019-02-15Highlight strings in sh command substitutionsJune McEnroe
2019-02-15Add nmap gpJune McEnroe
2019-02-14Avoid newline when copying URL to pasteboardJune McEnroe
2019-02-13Add forgotten "sixth" book of H2G2June McEnroe