Giter Site home page Giter Site logo

jovial's Introduction

Jovial

Platform macOS Platform WSL Platform Debian Platform Ubuntu Platform CentOS Platform Arch Linux

A lovely zsh theme with responsive-design, it's pretty fast, keep simple but useful

Glance

jovial

That's for people who don't want make trouble out of nothing in zsh, and just look for a handy theme.

So we make everything easy to use, even if you're new to zsh.

First, quick install is convenient with only a simple one-line command:

curl -sSL https://github.com/zthxxx/jovial/raw/master/installer.sh | sudo -E bash -s ${USER:=`whoami`}

for more install details see the Install section; (manually install or without oh-my-zsh is okay)

custom colors/symbols is easy, see Customization section;


TOC

 ·  Features  /  Plugins  /  Install  /  Customization  /  Benchmark  /  Migration  · 


Features & Preview

whole ability

As mentioned above, jovial theme has many useful abilities, its full display likes:

jovial-full-prompts

The description of each parts:

jovial-description

responsive design

Each parts of prompt is "responsive" with terminal windows width, so you can safely use it in narrow terminal.

jovial-responsive-desigin.mp4

git actions state

In addition to the basic git state (branch / tag / hash, dirty or clean),

there are also some prompts to hint that you are in merge / rebase / cherry-pick now with conflict or not.

Note that all git state will be update in asynchronous, so that this theme is pretty fast even in a huge git repo.

jovial-git-actions

development env detecting

It will detect to show your development programming language and version in current working directory, such as:

jovial-develop-env-detect

show execute elapsed

jovial-exec-elapsed

Plugins Integration

These integrated plugins below will be auto setup by the install script, you can see the install.zsh-plugins function in installer.sh


Install

Just run the simple one-line install command:

curl -sSL https://github.com/zthxxx/jovial/raw/master/installer.sh | sudo -E bash -s ${USER:=`whoami`}

Note: The install script is designed to be "Idempotent", so you can safely execute it multiple times.

Tips: you may want to use some http proxy, just export proxy variables before run install command,

  like: export all_proxy=http://127.0.0.1:1086

  (it's equal to export http_proxy=http://127.0.0.1:1086 http_proxys=http://127.0.0.1:1086)

Here are what the install command and script do:

  • Explain the command:

    • sudo: make sure script run with access for install packages and change default login shell
    • -E: passthrough env variables while use sudo, for receive like http_proxy
    • -s $USER: pass the params to script, which is the real target user for install
  • The script do these steps:

    • if zsh or oh-my-zsh not found, will install them
    • change default login shell to zsh
    • download the jovial theme/plugin files in oh-my-zsh custom folder
    • install integrated plugins via local package manager
    • auto rewrite ZSH_THEME and plugins variables in user's .zshrc

install with Fig

Fig adds apps, shortcuts, and autocomplete to your existing terminal.

Install jovial theme in just one click.

manually install without oh-my-zsh

First, you need download the jovial.zsh-theme file manually. For example, use curl will like:

curl -sSL "https://github.com/zthxxx/jovial/raw/master/jovial.zsh-theme" -o ~/.config/jovial.zsh-theme

Then, add these zsh setting code in your ~/.zshrc and load theme file:

# ~/.zshrc

source ~/.config/jovial.zsh-theme

Finally, don't forget to change the default login shell to zsh, maybe you can use chsh command:

sudo chsh -s `command -v zsh` $USER

use with antigen

# ~/.zshrc

antigen theme zthxxx/jovial
antigen bundle zthxxx/jovial
antigen bundle zthxxx/zsh-history-enquirer

antigen apply

# also manually install other plugins, like:
## sudo apt install -y autojump terminal-notifier source-highlight

upgrade

use antigen

With used antigen, it's simple for update jovial theme by use antigen update:

antigen update zthxxx/jovial

But note that it's ONLY update the jovial theme, without any other plugins,

to update other plugins, you need to use antigen update command on other plugin name again.

use install script

Due to the install script is designed to be "Idempotent", if you want to upgrade the jovial theme, run the install command again.

If you want to upgrade manually without the install command, just download and override jovial.zsh-theme file again.

Changelogs you can see in CHANGELOG.md, and current version you used can be see by run echo ${JOVIAL_VERSION}.

NOTE: pay attention to the tips of Migration / BreakingChange


Customization

All the elements / symbols / colors can be easily customized by override theme variables in ~/.zshrc

Thses variables designed for customization:

You can find them default values in jovial.zsh-theme (~/.oh-my-zsh/custom/themes/jovial.zsh-theme)

symbols

All the default symbols defined list that:

JOVIAL_SYMBOL=(
    corner.top    '╭─'
    corner.bottom '╰─'

    git.dirty '✘✘✘'
    git.clean ''

    arrow '─➤'
    arrow.git-clean '(๑˃̵ᴗ˂̵)و'
    arrow.git-dirty '(ノ˚Д˚)ノ'
)

You can override symbols by assign the variable with key in JOVIAL_SYMBOL, such as arrows:

# ~/.zshrc

JOVIAL_SYMBOL[arrow]='->'
JOVIAL_SYMBOL[arrow.git-clean]='->'
JOVIAL_SYMBOL[arrow.git-dirty]='->'

colors

Override keys in JOVIAL_PALETTE like JOVIAL_SYMBOL above,

All the default symbols defined list that:

# jovial theme colors mapping
# use `sheet:color` plugin function to see color table
# https://zsh.sourceforge.io/Doc/Release/Prompt-Expansion.html#Visual-effects
JOVIAL_PALETTE=(
    # hostname
    host '%F{157}'

    # common user name
    user '%F{253}'

    # only root user
    root '%B%F{203}'

    # current work dir path
    path '%B%F{228}%}'

    # git status info (dirty or clean / rebase / merge / cherry-pick)
    git '%F{159}'

    # virtual env activate prompt for python
    venv '%F{159}'

    # current time when prompt render, pin at end-of-line
    time '%F{254}'

    # elapsed time of last command executed
    elapsed '%F{222}'

    # exit code of last command
    exit.mark '%F{246}'
    exit.code '%B%F{203}'

    # 'conj.': short for 'conjunction', like as, at, in, on, using
    conj. '%F{102}'

    # shell typing area pointer
    typing '%F{252}'

    # for other common case text color
    normal '%F{252}'

    success '%F{040}'
    error '%F{203}'
)

🧐 Feeling mess with those variables and numbers?

Well, %B is set font to bold style,

and %F{xxx} / %K{xxx} is color sheet of font / background.

Such as %F{015} is set font color to "white", and %F{123} is set font color close to "cyan"

Quickref:

%F{xxx}    => foreground color (text color)
%K{xxx}    => background color (color-block)
%B         => **bold**
%U         => underline

🤓 So, where is the color sheet?

You can run sheet:color function which in jovial.plugin.zsh to display color sheet in your terminal,

it will looks like:

color sheet

order of parts

Prompt parts dispaly order can be config with JOVIAL_PROMPT_ORDER, items means from left to right of jovial theme at the first line.

Defaults are:

JOVIAL_PROMPT_ORDER=( host user path dev-env git-info )

priority of parts

In the responsive design, prompt parts can be set priority list with JOVIAL_PROMPT_PRIORITY,

items means priority from high to low, for decide whether to still keep dispaly while terminal width is no enough;

Defaults are:

JOVIAL_PROMPT_PRIORITY=(
    path
    git-info
    user
    host
    dev-env
)

The highest priority element will always keep dispaly;

current-time will always auto detect rest spaces, it's lowest priority

You can change order of them to obtain different effects of responsive design.

If you want to disable some part, just remove it from the priority list.

affixes

Prefixes and suffixes of jovial prompt part, override them same as above.

Defaults are:

JOVIAL_AFFIXES=(
    host.prefix            '${JOVIAL_PALETTE[normal]}['
    # hostname/username use `Prompt-Expansion` syntax in default
    # but you can override it with simple constant string
    hostname               '${(%):-%m}'
    host.suffix            '${JOVIAL_PALETTE[normal]}] ${JOVIAL_PALETTE[conj.]}as'

    user.prefix            ' '
    username               '${(%):-%n}'
    user.suffix            ' ${JOVIAL_PALETTE[conj.]}in'

    path.prefix            ' '
    current-dir            '%~'
    path.suffix            ''

    dev-env.prefix         ' '
    dev-env.suffix         ''

    git-info.prefix        ' ${JOVIAL_PALETTE[conj.]}on ${JOVIAL_PALETTE[normal]}('
    git-info.suffix        '${JOVIAL_PALETTE[normal]})'

    venv.prefix            '${JOVIAL_PALETTE[normal]}('
    venv.suffix            '${JOVIAL_PALETTE[normal]}) '

    exec-elapsed.prefix    ' ${JOVIAL_PALETTE[elapsed]}~'
    exec-elapsed.suffix    ' '

    exit-code.prefix       ' ${JOVIAL_PALETTE[exit.mark]}exit:'
    exit-code.suffix       ' '

    current-time.prefix    ' '
    current-time.suffix    ' '
)

Note that all JOVIAL_AFFIXES variable values wrapped in ${...} will be subject to shell Prompt-Expansion once at first load as zsh prompt,

so keep Single Quotes which you want override value in your .zshrc file,

# ~/.zshrc
JOVIAL_AFFIXES[user.suffix]=' ${JOVIAL_PALETTE[conj.]}in'

and you can use Double Quotes in your terminal to see effect immediately for adjust theme.

# in terminal
$ JOVIAL_AFFIXES[user.suffix]=" ${JOVIAL_PALETTE[conj.]}in"

execute elapsed

Default is:

JOVIAL_EXEC_THRESHOLD_SECONDS=4

This threshold is seconds for last command execute elapsed time, will pin the info if the threshold is reached,

set to -1 if you want to disable display time.

jovial-exec-elapsed

detect development env

Each item in JOVIAL_DEV_ENV_DETECT_FUNCS is name of function to detect development env,

you can append some custom functions for other programming language (such as Erlang), like this:

# ~/.zshrc

JOVIAL_DEV_ENV_DETECT_FUNCS+=( your-function-name )

Or disable it by set empty list:

# ~/.zshrc

JOVIAL_DEV_ENV_DETECT_FUNCS=()

Font Recommended

(no need to install any specify fonts, these usually come with the OS)

  • Monaco in iTerm2
  • Menlo in VSCode
  • JetBrains Mono in JetBrains IDEs

Just the most common monospaced fonts, no need any special font.

NOTE: also remember to set font line-height to 1.0


Benchmark

By asynchronous update git status, it's so fast in render and interaction.

Average: jovial theme only takes 4ms per render.

Run jovial theme 10 times in benchmark.zsh, you can get like this:

$ zsh -il dev/benchmark.zsh

( for i in {1..10}; do; theme.render; done; )  0.01s user 0.02s system 95% cpu 0.039 total

Changelog

see in CHANGELOG.md


Migration

run echo ${JOVIAL_VERSION} in terminal to see what version you used now.

from v1 to v2

There are some breaking changes for customization,

some customized variables and functions renamed:

  • variable JOVIAL_ARROW => JOVIAL_SYMBOL[arrow]
  • function _jov_type_tip_pointer => @jov.typing-pointer,
  • and now, arrows could replace with variables JOVIAL_SYMBOL[arrow.git-clean] and JOVIAL_SYMBOL[arrow.git-dirty]
  • some keys in JOVIAL_PROMPT_PRIORITY renamed, git_info => git-info, dev_env => dev-env

Author

jovial © zthxxx, Released under the MIT License.

Blog @zthxxx · GitHub @zthxxx

jovial's People

Contributors

brendanfalk avatar emotality avatar esquith avatar luisdogo avatar smac89 avatar veegishx avatar zthxxx 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

jovial's Issues

Inconsistency in bold text

Hi,

I was trying out your zsh theme and I noticed some inconsistency in the bold text. Some of my commands had bold text and some did not. It's difficult to reproduce the bug but it's definitely there after you've used the theme for some time.

I believe I managed to track the source of the issue to the lack of %b in https://github.com/zthxxx/jovial/blob/master/jovial.zsh-theme#L139 Making this change helped solved the inconsistency in the bold text. I suspect that exit-code.suffix may also require this change.

How can I reduce the size of the path?

Hi! Thanks for the amazing work, I'm loving jovial. One thing that I wish I could customize is the size of the path.

right now I have the full path ~/code/manegarrincha/portfolio/app/assets/stylesheets

I wish I could have just ~/stylesheets .

Or perhaps choose the number of folders displaying. i.e folders{2} -> ~/assets/stylesheets

I've tried to look into but wasn't successful =/

Conda(Python) integration

Hi! I was trying to add conda integration for the theme. To show the conda venv name I need to look not only ant $VIRTUAL_ENV (used by default python) but also at $CONDA_DEFALUT_ENV variable.

So I started simply duplicating the @jov.venv-info-prompt() inside jovial.zsh-theme file:

@jov.conda-info-prompt() {
    [[ -z ${CONDA_DEFAULT_ENV} ]] && return 0
    echo "${JOVIAL_PALETTE[normal]}(${JOVIAL_PALETTE[venv]}$(basename $CONDA_DEFAULT_ENV)${JOVIAL_PALETTE[normal]}) "
}

I've added the reference also here:

echo "${SGR_RESET}${corner_bottom}$(@jov.typing-pointer) $(@jov.venv-info-prompt) $(@jov.conda-info-prompt) ${SGR_RESET}"

And it worked very well.

Now I want to try something more since, once installed Anaconda, conda environment is always settled on base I want the prompt to show me the $CONDA_DEFAULT_ENV only when it's not equal to base value.

I've tried, without success, this:

@jov.conda-info-prompt() {
    if [["${CONDA_DEFAULT_ENV}" != "base"]]; then
        echo "${JOVIAL_PALETTE[normal]}(${JOVIAL_PALETTE[venv]}$(basename $CONDA_DEFAULT_ENV)${JOVIAL_PALETTE[normal]}) " 
    fi
}

but I recieve this error when I start a new terminal window:

@jov.conda-info-prompt:2: no matches found: [[base!=base]]

Suggestion to fix that and maybe finalize these changes? If possible I want to make also a commit with this. Conda it's very used by python developers and could be a nice add to the theme :)

Intellij terminal format break problem

First of all, thank you for a very nice project. 👍

I am using M1 Mac Air.

The terminal uses iTerm, and the font is applied with Monaco.

There is no problem with iTerm, but there is a problem with the Intellij terminal.

Intellij font is Jetbrains Mono, and the font spacing is 1.0.

As you can see in the image, the branch name is displayed below the time, and the last character goes to the next line.

This problem only occurs in Intellij terminals.

Since the branch name is already displayed on the top line, I think it is redundant to display it again under the time.

What do you think about removing the branch name displayed under the time?

iTerm

image

Intellij Terminal

image

home diertory detected as node.js project

I have a "node_modules" directory in my home directory because of globally-installed node.js packages.

Suggested fix: Do not detect the home directory as a project

@jovial-prompt:1: bad floating point constant after source zshrc file

OS: MacOS 12.0.1
Shell: zsh 5.8 (x86_64-apple-darwin21.0)
Terminal: iTerm2 Build 3.4.12

And here is my little zshrc file to reproduce this problem:

ZPLUGINDIR=$HOME/.zsh/plugins

function load-file () {
    local url="$1"
    local file_name=${${url##*/}%}
    local dir_name="${ZPLUGINDIR:-$HOME/.zsh/plugins}/$file_name"

    if [[ ! -d $dir_name ]]; then
        mkdir -p $dir_name
    fi
    if [[ ! -f $dir_name/$file_name ]]; then
                echo "Downloading $url..."
        curl -sSL $url -o $dir_name/$file_name
    fi

    source $dir_name/$file_name
    fpath+=$dir_name
}

setopt prompt_subst

autoload -U colors && colors

typeset -AHg FG BG

for color in {000..255}; do
  FG[$color]="%{\e[38;5;${color}m%}"
  BG[$color]="%{\e[48;5;${color}m%}"
done

files=(
  https://github.com/zthxxx/jovial/raw/master/jovial.zsh-theme
)

for file in $files; do
    load-file ${file}
done
unset file

But it worked if I source theme the theme file ~/.zsh/plugins/jovial.zsh-theme/jovial.zsh-theme interactively.

I have no idea whats going on 🥵

[solved] 'zsh/pcre' error after installation

after installation, I have those errors :

update_terminal_cwd:12: failed to load module `zsh/pcre': dlopen(/usr/lib/zsh/5.7.1/zsh/pcre.so, 9): image not found                                                                                                
update_terminal_cwd:12: -pcre-match not available for regex
regexp-replace:28: failed to load module `zsh/pcre': dlopen(/usr/lib/zsh/5.7.1/zsh/pcre.so, 9): image not found
regexp-replace:28: -pcre-match not available for regex
regexp-replace:28: failed to load module `zsh/pcre': dlopen(/usr/lib/zsh/5.7.1/zsh/pcre.so, 9): image not found
regexp-replace:28: -pcre-match not available for regex
regexp-replace:28: failed to load module `zsh/pcre': dlopen(/usr/lib/zsh/5.7.1/zsh/pcre.so, 9): image not found
regexp-replace:28: -pcre-match not available for regex
regexp-replace:28: failed to load module `zsh/pcre': dlopen(/usr/lib/zsh/5.7.1/zsh/pcre.so, 9): image not found
regexp-replace:28: -pcre-match not available for regex

do you have ant idea why ?

failed to load module `zsh/pcre'

Hi I'm trying to install this theme with oh-my-zsh on Mac OS Catalina 10.15.7.
I get this error when I open a new terminal window after installing Jovial theme:

update_terminal_cwd:12: failed to load module `zsh/pcre': dlopen(/usr/lib/zsh/5.7.1/zsh/pcre.so, 9): image not found                                                                                        
update_terminal_cwd:12: -pcre-match not available for regex
regexp-replace:28: failed to load module `zsh/pcre': dlopen(/usr/lib/zsh/5.7.1/zsh/pcre.so, 9): image not found
regexp-replace:28: -pcre-match not available for regex
regexp-replace:28: failed to load module `zsh/pcre': dlopen(/usr/lib/zsh/5.7.1/zsh/pcre.so, 9): image not found
regexp-replace:28: -pcre-match not available for regex
regexp-replace:28: failed to load module `zsh/pcre': dlopen(/usr/lib/zsh/5.7.1/zsh/pcre.so, 9): image not found
regexp-replace:28: -pcre-match not available for regex
regexp-replace:28: failed to load module `zsh/pcre': dlopen(/usr/lib/zsh/5.7.1/zsh/pcre.so, 9): image not found
regexp-replace:28: -pcre-match not available for regex

I don't have pcre.so file in /usr/lib/zsh/5.7.1/zsh/, do you know how I would install it?

Installing leaves trailing characters in plugin section

Hello,
When I installed your theme, the plugins section of my .zshrc was left in an unusable state.
There appears to have been a trailing n after every plugin name, IE git became gitn, autojump became autojumpn, etc, etc....

I thought I should bring this to your attention.

Otherwise, delightful work, I really like the theme you made ^_^

Bug when Git changes are detect

Hi @zthxxx ,

First congratulations for this beautiful work!

I'm having this bug when use the Git and the repository contains changes.

1° When I open an empty Terminal and navigate to the repository folder:

captura de tela de 2018-12-23 14-19-46

2º When I open the terminal directly on repository folder on Nautilus:

captura de tela de 2018-12-23 14-20-30

What can be this error?

Override theme variables not working

Hey everyone!
I'm trying to override the theme variables such as: JOVIAL_SYMBOL and JOVIAL_PALETTE but unfortunately no success yet.

First I did what you recommended on symbols section, but then I got the following error assignment to invalid subscript range. After doing some researches I could fix this error by adding typeset -gA JOVIAL_SYMBOL before any assignments of JOVIAL_SYMBOL to reset the type (same thing for JOVIAL_PALETTE).
I'm currently not getting any error but the customization is not working, it's always getting jovial default values.

Here's my ~/.zshrc setting for it:

export ZSH="$HOME/.oh-my-zsh"

ZSH_THEME="jovial"

typeset -gA JOVIAL_SYMBOL
JOVIAL_SYMBOL[git.dirty]='✘'
JOVIAL_SYMBOL[arrow]='->'
JOVIAL_SYMBOL[arrow.git-clean]='->'
JOVIAL_SYMBOL[arrow.git-dirty]='->'

typeset -gA JOVIAL_PALETTE
JOVIAL_PALETTE[host]='%F{218}'
JOVIAL_PALETTE[user]='F{224}'
JOVIAL_PALETTE[root]='%B%F{204}'
JOVIAL_PALETTE[path]='%B%F{162}%}'
JOVIAL_PALETTE[git]='%F{198}'
JOVIAL_PALETTE[venv]='%F{212}'
JOVIAL_PALETTE[time]='%F{225}'

I don't really know what could it be, could you help me pls?
Thanks 🎀

sed: 1: "/Users/mac/.zshrc": invalid command code m

While installing and after typing the command given in the readme file i get this error :

chsh: no changes made
sed: 1: "/Users/mac/.zshrc": invalid command code m
sed: 1: "/Users/mac/.zshrc": invalid command code m
Warning: git 2.20.1 is already installed and up-to-date
To reinstall 2.20.1, run brew reinstall git
sed: 1: "/Users/mac/.zshrc": invalid command code m

hashtag color issue

Hi,

When using hashtags with the jovial theme the color of the hashtag and the text after the hashtag becomes black and hard to see with a dark terminal background. Is there a way to change the color?

Regards

How can i delete the upper line break?

###i want delete the first empty line

(this line im talking about)
╭─[xxxxxxxx] as xxxxxxx in ~ 20:54:19
╰──>

i don't know work with shell, sorry :s

Don't override TERM

Exporting TERM here is unexpected and causes issues when there's a mismatch between the capabilities of xterm-256color and your actual terminal. e.g. I expected $terminfo[fsl] and $terminfo[tsl] to be available for iTerm/Alacritty, but it's not available because my environment thinks TERM=xterm-256color

export TERM=xterm-256color

Plugin `zsh-history-enquierer` not found (npm permission denied)

Hi, I run the script as instructed
And upon launching the terminal I see this before the shell:

[oh-my-zsh] plugin 'zsh-history-enquirer' not found

I have tried installing that individually as well, but to no avail
Using both the npm command and the curl one

某些情况下终端的输出会带有不消失的光标

首先非常感谢作者大大的主题,非常漂亮。我是刚刚学习linux使用的学生,我在安装您的主题后在使用时发现在终端的输出末尾有时会带有一个不消失的光标,请问这个可以去掉吗?
image
我正在使用的系统是ubuntu 22.04,非常感谢!

command not found: add-zsh-hook

When opening Terminal on macOS, I get the following errors:

/Users/emotality/.oh-my-zsh/themes/jovial.zsh-theme:13: command not found: add-zsh-hook
/Users/emotality/.oh-my-zsh/themes/jovial.zsh-theme:218: command not found: add-zsh-hook

History Show

First how can i delete and remove all of your installation from mac?
and look at this problem :
Screenshot 1402-12-15 at 11 54 39 PM

Tabbing collapses previous lines

When tab is hit while using this theme, it moves the command line up, removing the lines above it. If this is intentional, how is it disabled?
tab-collaps

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.