Code Monkey home page Code Monkey logo

glow's Introduction

Glow

Render markdown on the CLI, with pizzazz!

Glow Logo Latest Release GoDoc Build Status Go ReportCard

Glow UI Demo

What is it?

Glow is a terminal based markdown reader designed from the ground up to bring out the beauty—and power—of the CLI.

Use it to discover markdown files, read documentation directly on the command line and stash markdown files to your own private collection, so you can read them anywhere. Glow will find local markdown files in subdirectories or a local Git repository.

By the way, all data stashed is encrypted end-to-end: only you can decrypt it. More on that below.

Installation

Package Manager

# macOS or Linux
brew install glow

# macOS (with MacPorts)
sudo port install glow

# Arch Linux (btw)
pacman -S glow

# Void Linux
xbps-install -S glow

# Nix
nix-env -iA nixpkgs.glow

# FreeBSD
pkg install glow

# Solus
eopkg install glow

# Windows (with Chocolatey, Scoop, or Winget)
choco install glow
scoop install glow
winget install charmbracelet.glow

# Android (with termux)
pkg install glow

# Debian/Ubuntu
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
sudo apt update && sudo apt install glow

# Fedora/RHEL
echo '[charm]
name=Charm
baseurl=https://repo.charm.sh/yum/
enabled=1
gpgcheck=1
gpgkey=https://repo.charm.sh/yum/gpg.key' | sudo tee /etc/yum.repos.d/charm.repo
sudo yum install glow

Or download a binary from the releases page. MacOS, Linux, Windows, FreeBSD and OpenBSD binaries are available, as well as Debian, RPM, and Alpine packages. ARM builds are also available for macOS, Linux, FreeBSD and OpenBSD.

Go

Or just install it with go:

go install github.com/charmbracelet/glow@latest

Build (requires Go 1.13+)

git clone https://github.com/charmbracelet/glow.git
cd glow
go build

The TUI

Simply run glow without arguments to start the textual user interface and browse local and stashed markdown. Glow will find local markdown files in the current directory and below or, if you’re in a Git repository, Glow will search the repo.

Markdown files can be read with Glow's high-performance pager. Most of the keystrokes you know from less are the same, but you can press ? to list the hotkeys.

Stashing

Glow works with the Charm Cloud to allow you to store any markdown files in your own private collection. You can stash a local document from the Glow TUI by pressing s.

Stashing is private, its contents will not be exposed publicly, and it's encrypted end-to-end. More on encryption below.

The CLI

In addition to a TUI, Glow has a CLI for working with Markdown. To format a document use a markdown source as the primary argument:

# Read from file
glow README.md

# Read from stdin
echo "[Glow](https://github.com/charmbracelet/glow)" | glow -

# Fetch README from GitHub / GitLab
glow github.com/charmbracelet/glow

# Fetch markdown from HTTP
glow https://host.tld/file.md

Stashing

You can also stash documents from the CLI:

glow stash README.md

Then, when you run glow without arguments will you can browse through your stashed documents. This is a great way to keep track of things that you need to reference often.

Word Wrapping

The -w flag lets you set a maximum width at which the output will be wrapped:

glow -w 60

Paging

CLI output can be displayed in your preferred pager with the -p flag. This defaults to the ANSI-aware less -r if $PAGER is not explicitly set.

Styles

You can choose a style with the -s flag. When no flag is provided glow tries to detect your terminal's current background color and automatically picks either the dark or the light style for you.

glow -s [dark|light]

Alternatively you can also supply a custom JSON stylesheet:

glow -s mystyle.json

For additional usage details see:

glow --help

Check out the Glamour Style Section to find more styles. Or make your own!

The Config File

If you find yourself supplying the same flags to glow all the time, it's probably a good idea to create a config file. Run glow config, which will open it in your favorite $EDITOR. Alternatively you can manually put a file named glow.yml in the default config path of you platform. If you're not sure where that is, please refer to glow --help.

Here's an example config:

# style name or JSON path (default "auto")
style: "light"
# show local files only; no network (TUI-mode only)
local: true
# mouse support (TUI-mode only)
mouse: true
# use pager to display markdown
pager: true
# word-wrap at width
width: 80

🔒 Encryption: How It Works

Encryption works by issuing symmetric keys (basically a generated password) and encrypting it with the local SSH public key generated by the open-source charm library. That encrypted key is then sent up to our server. We can’t read it since we don’t have your private key. When you want to decrypt something or view your stash, that key is downloaded from our server and decrypted locally using the SSH private key. When you link accounts, the symmetric key is encrypted for each new public key. This happens on your machine and not our server, so we never see any unencrypted data.

Feedback

We’d love to hear your thoughts on this project. Feel free to drop us a note!

License

MIT


Part of Charm.

The Charm logo

Charm热爱开源 • Charm loves open source

glow's People

Contributors

appgurueu avatar aymanbagabas avatar bashbunni avatar batkiz avatar brunoarueira avatar bubersson avatar caarlos0 avatar cristiand391 avatar dawidd6 avatar dependabot[bot] avatar herbygillot avatar jessemillar avatar jmmoser avatar jonaustin avatar kbdharun avatar kianmeng avatar lestrrat avatar maaslalani avatar meowgorithm avatar muesli avatar nilsvu avatar pacificpaudel avatar penguwin avatar shitchell avatar siilwyn avatar splode avatar tisba avatar tklauser avatar toby avatar wieerd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

glow's Issues

`glow-bin` on arch linux

Would it be possible to get a glow-bin AUR package? It's annoying installing go every time I want to build a go package from the AUR, especially since go is quite large.

Headers 2 - 6 not rendered correctly, just raw text

Glow is only renders header 1, for example # Header1, correctly. The rest of headers 2 through 6 render as raw text.

README.md example

# Heading 1
This is text below heading 1

## Heading 2
This is text below heading 2

### Heading 3
This is text below heading 3

#### Heading 4
This is text below heading 4

##### Heading 5
This is text below heading 5

###### Heading 6
This is text below heading 6

Output
image

Rerender-Mode

To make it usable as preview option for markdown written in eg vim, it would be nice to have a special mode where the markdown file gets reloaded on every change. I tried running glow in watch, which didn't worked. Maybe there is already another option? If not, thats a feature request, this would be pretty neat in i3 :)

Version flag

It would be nice to run gold --version to know how up-to-date your version of the fast-moving gold binary is.

Requires go 1.13

Installing on Ubuntu 18.04, which provides go 1.10.4 gives the error:

package crypto/ed25519: unrecognized import path "crypto/ed25519" (import path does not begin with hostname)

which after some quick searching means that you need to have go 1.13 for that particular line to work.

markdown dialect?

Hi there,

Awesome project so far, but I can only use it in prod if it supports commonmark.
I can't find anything about the supported markdown specs. Does it also support commonmark?

glow doesn't use WithAutoPrefix

The change made in charmbracelet/glamour#64 introduced the WithAutoStyle() method, but that isn't used here. As a result, if you don't pass an explicit style name it will use auto, which isn't a default style and throws an error. With a fresh install via go get:

> glow README.md
Error: auto: style not found
Usage:
  glow SOURCE [flags]

Flags:
  -h, --help           help for glow
  -p, --pager          display with pager
  -s, --style string   style name or JSON path (default "auto")
  -v, --version        version for glow
  -w, --width uint     word-wrap at width (default 100)

Detect terminal's width and limit default word-wrap setting to it

I am subjected to a scrolling problem.

Immediately after :

glow -p mydoc.md

the head (first lines/pages) of the document is missing.

I can't scroll up to the head.

But if I scroll down, then up, I can get to the head, with missing characters at the start of the lines

See screenshot in attachment (glow left, bat right)

glow_vs_bat

go get fails with go1.15.3

It seems like the Installation with go get fails at the moment on Arch Linux with go version go1.15.3 linux/amd64

go get github.com/charmbracelet/glow
# github.com/charmbracelet/glow/ui
go/src/github.com/charmbracelet/glow/ui/ui.go:57:23: too many arguments in call to tea.NewProgram
        have (func() (tea.Model, tea.Cmd), func(tea.Msg, tea.Model) (tea.Model, tea.Cmd), func(tea.Model) string)
        want (tea.Model)
go/src/github.com/charmbracelet/glow/ui/ui.go:211:3: cannot use m (type model) as type tea.Model in return argument:
        model does not implement tea.Model (missing Init method)
go/src/github.com/charmbracelet/glow/ui/ui.go:218:14: impossible type assertion:
        model does not implement tea.Model (missing Init method)
go/src/github.com/charmbracelet/glow/ui/ui.go:220:15: cannot use model literal (type model) as type tea.Model in return argument:
        model does not implement tea.Model (missing Init method)
go/src/github.com/charmbracelet/glow/ui/ui.go:414:14: impossible type assertion:
        model does not implement tea.Model (missing Init method)

Installing with go get fails with `undefined: aurora.Reset` in glamour

I'm trying to install glow through go get:

$ go get github.com/charmbracelet/glow
# github.com/charmbracelet/glamour/ansi
/data/go/src/github.com/charmbracelet/glamour/ansi/baseelement.go:99:9: undefined: aurora.Reset

My go version:

$ go version
go version go1.12.12 linux/amd64

Unable to build glow on macOS

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.15.3
BuildVersion:	19D76
$ go version
go version go1.13.7 darwin/amd64

I'm getting this error when I build glow on macOS:

$ go get -u -ldflags "-s -w" github.com/charmbracelet/glow
# github.com/charmbracelet/glamour/ansi
go/src/github.com/charmbracelet/glamour/ansi/codeblock.go:110:3: unknown field 'Forward' in struct literal of type indent.Writer
go/src/github.com/charmbracelet/glamour/ansi/heading.go:70:3: unknown field 'Forward' in struct literal of type indent.Writer
go/src/github.com/charmbracelet/glamour/ansi/margin.go:37:3: unknown field 'Forward' in struct literal of type padding.Writer
go/src/github.com/charmbracelet/glamour/ansi/margin.go:51:3: unknown field 'Forward' in struct literal of type indent.Writer
go/src/github.com/charmbracelet/glamour/ansi/table.go:51:3: unknown field 'Forward' in struct literal of type indent.Writer

exit status 1 when used with `most` PAGER

  1. brew install most
  2. PAGER='most' glow README.md -p
Error: exit status 1
Usage:
  glow SOURCE [flags]

Flags:
  -h, --help           help for glow
  -p, --pager          display with pager
  -s, --style string   style name or JSON path (default "dark")
      --version        version for glow
  -w, --width uint     word-wrap at width (default 100)

It's not clear to me why this doesn't work. I've been using most as my pager for years.

Thanks!

Extraneous spaces?

When using glow to render markdowns, it seems like there are a lot of useless spaces at the end of lines. You can see in this screenshot (run with glow github.com/charmbracelet/glow | bat -A, where the blue dots are spaces):

maim-2019-12-23--14-35-38

Coloring should be disabled if output is not a TTY

It's sort of opposite the point of this library, but with things like the auto-fetch-from-github functionality users could find themselves doing something like the following:

gold -s dark.json https://github.com/muesli/beehive | less

…which of course would appear littered with ASCII escape codes.

Open in editor

When viewing a file with less, one can press v to open the file in the editor. Adding this feature to glow would be great.

Why showing # in headers ?

Hi,

For H1 we don't see #:) But for H2, H3 we can see # :(
Why is that? Any option to see a normal formatting instead?

Screenshot

Screen Shot 2020-02-08 at 6 38 37 PM

Thanks :)

Ignore Yaml Frontmatter

I have md and rmd files that have frontmatter written in yaml:

---
title: something
author: someone
#commented-out:
#	option: value
---

# heading

text

glow treats frontmatter as regular markdown and renders commented out entries as headings (sometimes).

I don't think that frontmatter is in the markdown spec, but it is well used. Can you ignore, or perhaps, sprinkle some of that "pizzazz" onto it?

[enhancement] add file monitor support

I like using glow to see an output preview of my markdown files, however it would be nice to have a flag that will detect changes to the open file and reload the file into glow while it is opened in a pager.

Config file

Hi, thanks for making this cool CLI app. The current dark theme doesn't suit with my terminal color scheme. Adding a feature to support customized color scheme would be nice. Maybe with parameter like fzf, or config file like alacritty, or .sublime-syntax file like bat.

Related: #114

Add Line Numbers

Bat has this feature and it's really useful. Would it be possible to add line numbers with the output similar to bat?

Not working with style argument

These don't work:

gold -s dark.json test.md
gold --style dark.json github.com/muesli/beehive

(Gold says: Error: invalid character '"' after object key:value pair)

But these work:

gold test.md
gold github.com/muesli/beehive

Only prints escape code on win 10

I typed > .\glow.exe in powershell. Instead of the README.md text, it output the following sequence:

?[1;38;5;228;48;5;63m?[0m?[1;38;5;228;48;5;63m?[0m  ?[1;38;5;228;48;5;63m ?[0m?[1;38;5;228;48;5;63mGlow?[0m?[1;38;5;228;48;5;63m ?[0m?[38;5;252m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[38;5;252m ?[0m?[0m
[... and a lot more of this]

To make sure it's not an issue with powershell, I tried again in cmd.exe and produced the same result.
Looks like ANSI escape code is broken on win 10? Or is it just my machine.

Handle relative URLs

When fetching markdown from HTTP sources, complete relative URL references with the base-URL.

Pager live preview

A good additional feature would be a pager mode with a live preview, allowing to modify the file and preview its changes in real time (even better would be to have some sort of analogue of the synctex, but probably that's out of the scope of this tool)

Href Link issue

Not sure if this is Glow or Hyper term misbehaving.

Highlighting and styling works correctly.

The dot is included in the link when clicking it. making the URL incorrect.

Skärmavbild 2020-10-16 kl  13 37 28

as you can see, the link is correctly highlighted, the dot there is white and not part of the highlighted section.
but the actual link content incorrectly includes the dot

making the URL incorrect when clicking it

Docker version (PR idea)

I made a docker image out of it. It could be optimized but it's good enough at the moment :) It's only 11MB

Let me know if you want a PR

Docker hub

https://hub.docker.com/r/devmtl/glow/tags

Run

input_2=CHANGELOG.md

docker run --rm -it \
  -v $(pwd):/sandbox \
  -w /sandbox \
  devmtl/glow:0.2.0 glow ${input_2}

See output: #139 (comment)

Dockerfile

ARG VERSION="0.2.0"
ARG APP_NAME="glow"
ARG GIT_PROJECT_NAME="glow"
ARG GIT_REPO_SOURCE="https://github.com/charmbracelet/glow"

# ----------------------------------------------
# REQUIRED BY OUR GITHUB ACTION CI
# ----------------------------------------------
ARG ALPINE_VERSION="3.11"

# ----------------------------------------------
# STAGE: BASE IMAGE VERSIONNING LAYER
# ----------------------------------------------
FROM alpine:${ALPINE_VERSION} AS myalpine
FROM golang:alpine${ALPINE_VERSION} AS mygolang
# Credit to Tõnis Tiigi / https://bit.ly/2RoCmvG

# ----------------------------------------------
# STAGE: ALPINEBASE LAYER
# ----------------------------------------------
FROM myalpine AS alpinebase

ARG APP_NAME
ARG VERSION

ARG ALPINE_VERSION
ARG GIT_REPO_DOCKERFILE
ARG GIT_REPO_SOURCE

ENV APP_NAME="${APP_NAME}"
ENV VERSION="${VERSION}"
ENV GIT_REPO_SOURCE="${GIT_REPO_SOURCE}"
ENV ALPINE_VERSION="${ALPINE_VERSION}"

ENV LANG=en_US.utf8 \
    TERM=xterm-256color

# Install basics
RUN set -eux && apk --update --no-cache add \
    tini

COPY hello.md /usr/local/bin/hello.md
WORKDIR /usr/local/bin
ENTRYPOINT [ "/sbin/tini", "--" ]
CMD [ "glow", "/usr/local/bin/hello.md" ]

# ----------------------------------------------
# STAGE: BUILDER LAYER
# ----------------------------------------------
FROM mygolang AS gobuilder

ARG APP_NAME
ARG VERSION
ARG GIT_REPO_SOURCE

ENV APP_NAME="${APP_NAME}"
ENV VERSION="${VERSION}"
ENV GIT_REPO_SOURCE="${GIT_REPO_SOURCE}"

# Install common utilities
RUN set -eux && apk --update --no-cache add \
    bash wget curl git nano openssl ca-certificates upx

# Compile Go app
RUN set -eux && \
    git clone "${GIT_REPO_SOURCE}" --depth 1 && \
    cd "${APP_NAME}" && \
    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /usr/local/bin/"${APP_NAME}"

# Compress binary
RUN set -eux && \
    upx /usr/local/bin/"${APP_NAME}" && \
    upx -t /usr/local/bin/"${APP_NAME}" 

# ----------------------------------------------
# STAGE: FINAL
# ----------------------------------------------
FROM alpinebase AS final
COPY --from=gobuilder /usr/local/bin/"${APP_NAME}" /usr/local/bin/"${APP_NAME}"

Problem with GLIBC_2.32 on Ubuntu 19.10

Hi,

I tried installing the file glow_1.0.0_linux_amd64.deb, but:

$ sudo dpkg -i glow_1.0.0_linux_amd64.deb 
Selecting previously unselected package glow.
(Reading database ... 297288 files and directories currently installed.)
Preparing to unpack glow_1.0.0_linux_amd64.deb ...
Unpacking glow (1.0.0) ...
Setting up glow (1.0.0) ...

$ glow --version
glow: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by glow)

As of today latest version on Ubuntu 19.10 is 2.30-0ubuntu2.2

(glow v0.2.0 worked fine)

go get github.com/charmbracelet/glow complains about termenv_unix.go

On debian testing:

$ go get github.com/charmbracelet/glow
# github.com/muesli/termenv
go/src/github.com/muesli/termenv/termenv_unix.go:79:9: readfds.Set undefined (type unix.FdSet has no field or method Set)
go/src/github.com/muesli/termenv/termenv_unix.go:96:13: readfds.IsSet undefined (type unix.FdSet has no field or method IsSet)

pager

As implemented, glow lacks an inbuilt pager, and piping to an external pager like less or bat removes highlighting.

glow has issues opening file on command line with colon

All,

This is an odd one and perhaps is my fault (my shell could be set up incorrectly, for example). Still, I have a wiki on GitHub that has pages with colons in their name. So when I look at a checkout:

$ ls -1
Home.md
Workflow:-Feature-Development.md
Workflow:-Science-Development.md

But when I try to use glow on one of the workflow files:

$ glow Workflow:-Feature-Development.md
Error: workflow is not a supported protocol
Usage:
  glow SOURCE [flags]
  glow [command]

Available Commands:
  help        Help about any command
  stash       Stash a markdown

Flags:
  -a, --all            show system files and directories (TUI-mode only)
  -h, --help           help for glow
  -p, --pager          display with pager
  -s, --style string   style name or JSON path (default "auto")
  -v, --version        version for glow
  -w, --width uint     word-wrap at width

Use "glow [command] --help" for more information about a command.

Is there a way to open this file and not trigger the protocol check? I've tried various quoting, but I haven't gotten anything to work for me.

Note, I can just run glow in this directory and use the "startup page", I just wondered if I was doing something else wrong.

TUI doesn't respect `-w` flag

I'm running glow from brew: glow: stable 1.0.1

steps to reproduce:

  1. run: > glow -w 40 to pull up the TUI
  2. select a file to open
  3. page displays at max width, not the value provided to -w

Is it possible to open links?

Is it possible to somehow follow links? I have a lot of notes that are linked to each other (Zettelkasten style) and was wondering if I could use this viewer to render them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.