charmbracelet / glamour

Stylesheet-based markdown rendering for your CLI apps šŸ’‡šŸ»ā€ā™€ļø
MIT License
2.23k stars 169 forks source link

would be great if there would be gruvbox colorscheme #168

Open alexzanderr opened 2 years ago

alexzanderr commented 2 years ago

hey. very beautiful app, i love it. this changed my workflow.

but there is no gruvbox theme.

im calling a feature request for this so you guys can make it happen.

thank in advance.

Jarmos-san commented 2 years ago

I created a stylesheet which kinda looks like Gruvbox (at least not yet). Feel free to take a look at it here, take inspiration & customize your own stylesheet for Glow.

Do note, I left most of the default customization of this stylesheet as is & changed the colours for now.

Adding screenshot of what it looks like right now.

image

EDIT: Added an updated screenshot showcasing a style theme which looks pretty close to what the OG Gruvbox theme looks like in the wild.

alexzanderr commented 2 years ago

thanks for the idea man.

Jarmos-san commented 2 years ago

thanks for the idea man.

Cheers! Glad to be of some help to you.

If it helped in any way you might want to close this thread. glow depends on glamour for the colours. The later of which tries to be as minimalist as possible which means Gruvbox on Glow might never be officially supported.

muesli commented 2 years ago

@Jarmos-san Happy to include this in glamour. We've designed the style system to be flexible and were hoping people would come up with their own styles!

Jarmos-san commented 2 years ago

Happy to include this in glamour

@muesli glad to hear that! I've tinkered around with the stylesheet a bit more & made it look a lot closer to what Gruvbox themes look like in the wild. I've added an updated screenshot above (see this comment) for reference. Would you like to receive a PR with the stylesheet? I don't mind sharing it for glamour tbh.

muesli commented 2 years ago

Would you like to receive a PR with the stylesheet? I don't mind sharing it for glamour tbh.

Yes, please šŸ˜Š

ret2src commented 1 month ago

I just came across this issue and it doesn't seem as if a gruvbox colorscheme has ever been merged. Since most of my CLI tools are configured to use gruvbox, I created a gruvbox-dark.json that was fine-tuned to resemble the colors used by other tools as closely as possible (I used bat and Neovim's syntax highlighting as my main inspirations). This is what I came up with:

gruvbox-dark.json

If interested in making this colorscheme official, I can open a PR (or you simply steal the JSON from below and add it to the repository, I don't care):

{
  "document": {
    "block_prefix": "\n",
    "block_suffix": "\n",
    "color": "223",
    "margin": 2
  },
  "block_quote": {
    "indent": 1,
    "indent_token": "ā”‚ "
  },
  "paragraph": {},
  "list": {
    "level_indent": 2
  },
  "heading": {
    "block_suffix": "\n",
    "color": "106",
    "bold": true
  },
  "h1": {
    "prefix": " ",
    "suffix": " ",
    "color": "223",
    "background_color": "66",
    "bold": true
  },
  "h2": {
    "prefix": "## "
  },
  "h3": {
    "prefix": "### "
  },
  "h4": {
    "prefix": "#### "
  },
  "h5": {
    "prefix": "##### "
  },
  "h6": {
    "prefix": "###### ",
    "color": "108",
    "bold": false
  },
  "text": {},
  "strikethrough": {
    "crossed_out": true
  },
  "emph": {
    "italic": true
  },
  "strong": {
    "bold": true
  },
  "hr": {
    "color": "241",
    "format": "\n--------\n"
  },
  "item": {
    "block_prefix": "ā€¢ "
  },
  "enumeration": {
    "block_prefix": ". "
  },
  "task": {
    "ticked": "[āœ“] ",
    "unticked": "[ ] "
  },
  "link": {
    "color": "66",
    "underline": true
  },
  "link_text": {
    "color": "109",
    "bold": true
  },
  "image": {
    "color": "132",
    "underline": true
  },
  "image_text": {
    "color": "245",
    "format": "Image: {{.text}} ā†’"
  },
  "code": {
    "prefix": " ",
    "suffix": " ",
    "color": "142",
    "background_color": "237"
  },
  "code_block": {
    "color": "244",
    "margin": 2,
    "chroma": {
      "text": {
        "color": "#ebdbb2"
      },
      "error": {
        "color": "#fbf1c7",
        "background_color": "#fb4934"
      },
      "comment": {
        "color": "#928374"
      },
      "comment_preproc": {
        "color": "#8ec07c"
      },
      "keyword": {
        "color": "#cc241d"
      },
      "keyword_reserved": {
        "color": "#8ec07c"
      },
      "keyword_namespace": {
        "color": "#8ec07c"
      },
      "keyword_type": {
        "color": "#fabd2f"
      },
      "operator": {
        "color": "#fe8019"
      },
      "punctuation": {
        "color": "#fe8019"
      },
      "name": {
        "color": "#ebdbb2"
      },
      "name_builtin": {
        "color": "#d65d0e"
      },
      "name_tag": {
        "color": "#8ec07c"
      },
      "name_attribute": {
        "color": "#fabd2f"
      },
      "name_class": {
        "color": "#fabd2f",
        "underline": true,
        "bold": true
      },
      "name_constant": {},
      "name_decorator": {
        "color": "#b16286"
      },
      "name_exception": {},
      "name_function": {
        "color": "#b8bb26"
      },
      "name_other": {},
      "literal": {},
      "literal_number": {
        "color": "#b16286"
      },
      "literal_date": {},
      "literal_string": {
        "color": "#b8bb26"
      },
      "literal_string_escape": {
        "color": "#fe8019"
      },
      "generic_deleted": {
        "color": "#fb4934"
      },
      "generic_emph": {
        "italic": true
      },
      "generic_inserted": {
        "color": "#b8bb26"
      },
      "generic_strong": {
        "bold": true
      },
      "generic_subheading": {
        "color": "#83a598"
      },
      "background": {
        "background_color": "#3c3836"
      }
    }
  },
  "table": {
    "center_separator": "ā”¼",
    "column_separator": "ā”‚",
    "row_separator": "ā”€"
  },
  "definition_list": {},
  "definition_term": {},
  "definition_description": {
    "block_prefix": "\nšŸ ¶ "
  },
  "html_block": {},
  "html_span": {}
}

(by the way, I didn't change anything except the colors)