GithubHelp home page GithubHelp logo

avivace / iosevka-docker Goto Github PK

View Code? Open in Web Editor NEW
29.0 6.0 12.0 51 KB

Docker containers to build custom (or upstream) versions of the Iosevka typeface and package them for Debian

Home Page: https://hub.docker.com/r/avivace/iosevka-build

License: Creative Commons Zero v1.0 Universal

Dockerfile 40.73% Shell 59.27%
font fonts font-build docker dockerfile docker-image debian-packages debian debian-packaging debian-package

iosevka-docker's People

Contributors

avivace avatar azmcode avatar dehghani-mehdi avatar onkeltem 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

iosevka-docker's Issues

ELIFECYCLE with Nix NPM when creating TTF

Hey there, thanks for maintaining this.

I've been trying to use my custom build plans whenever I build the font, but when I use version 15.6.0, I get this error after creating the unhinted ttf:

Building process terminated.npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `node utility/ensure-verda-exists && verda -f verdafile.js "ttf::josevka-book-sans"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-07-19T16_22_57_793Z-debug.log

Here's the debug log - I found it odd that docker was using Node 14, when the version of node I've installed with nix is v16.15.0.

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/usr/bin/node',
1 verbose cli   '/usr/bin/npm',
1 verbose cli   'run',
1 verbose cli   'build',
1 verbose cli   '--',
1 verbose cli   'ttf::josevka-book-sans'
1 verbose cli ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle [email protected]~prebuild: [email protected]
6 info lifecycle [email protected]~build: [email protected]
7 verbose lifecycle [email protected]~build: unsafe-perm in lifecycle true
8 verbose lifecycle [email protected]~build: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/tmp/build/Iosevka-15.6.0/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
9 verbose lifecycle [email protected]~build: CWD: /tmp/build/Iosevka-15.6.0
10 silly lifecycle [email protected]~build: Args: [
10 silly lifecycle   '-c',
10 silly lifecycle   'node utility/ensure-verda-exists && verda -f verdafile.js "ttf::josevka-book-sans"'
10 silly lifecycle ]
11 silly lifecycle [email protected]~build: Returned: code: 1  signal: null
12 info lifecycle [email protected]~build: Failed to exec build script
13 verbose stack Error: [email protected] build: `node utility/ensure-verda-exists && verda -f verdafile.js "ttf::josevka-book-sans"`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:315:20)
13 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:315:20)
13 verbose stack     at maybeClose (internal/child_process.js:1048:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
14 verbose pkgid [email protected]
15 verbose cwd /tmp/build/Iosevka-15.6.0
16 verbose Linux 5.10.16.3-microsoft-standard-WSL2
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "run" "build" "--" "ttf::josevka-book-sans"
18 verbose node v14.15.1
19 verbose npm  v6.14.8
20 error code ELIFECYCLE
21 error errno 1
22 error [email protected] build: `node utility/ensure-verda-exists && verda -f verdafile.js "ttf::josevka-book-sans"`
22 error Exit status 1
23 error Failed at the [email protected] build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

I'm currently using WSL2 with Ubuntu as my distribution - do you have any suggestions for how to fix this? I tried with v15.6.0 and v15.5.2, but I still am not sure. I'm also using Nix with NPM, if that might have anything to do with it.

Typo in README.md

Found a potential typo in README.md at line 45, I believe it should be

docker run -it -v $(pwd):/build avivace/iosevka-build ttf::iosevka-custom

Instead of

docker run -it -v $(pwd):/build iosevka_build ttf::iosevka-custom

Thanks.

Error when building font on Github Action

Hello, I have trying to automatically build the font with Github Action recently and I come up this this setting:

name: CI

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - name: Remove old build
        run: rm -rf dist

      - name: Build fonts
        run: docker run -it -v $(pwd):/build avivace/iosevka-build

File's link

But when run it show this error:

image

So I try to fix it:

        - name: Build fonts
-         run: docker run -it -v $(pwd):/build avivace/iosevka-build
+         run: docker run -i -v $(pwd):/build avivace/iosevka-build

Now it run for a bit but still exit without building:

image

I'm still learning Docker so I'm not sure if this is a bug or I'm missing something, could you take a look please?

Update docker hub with new version

Hello, looks like last image on Docker Hub is 2 years old and is not working any more. New version with fixes would probably fix that.

Thank you for creating this tool, now I need to add patching with nerd fonts to my Iosevka build script.

Silently aborts without FONT_VERSION

Running docker container w/o FONT_VERSION now leads to command abortion.
See: be5invis/Iosevka#1340 (comment)

The problem is that this code from https://github.com/avivace/iosevka-docker/blob/master/run.sh:

if [ ! -n "$FONT_VERSION" ]; then
    FONT_VERSION=$(curl -s https://github.com/be5invis/Iosevka/releases/latest \
        | grep -Po '(?<=tag/v)[0-9.]*')
fi

isn't doing what it's expected to.

First, https://github.com/be5invis/Iosevka/releases/latest returns HTTP 302 (redirect) and hence the output of
curl -s https://github.com/be5invis/Iosevka/releases/latest is an empty string.
With this empty string as version it then tries to download the release here

    curl -sSLO --proto '=https' --tlsv1.2 https://github.com/be5invis/Iosevka/archive/v${FONT_VERSION}.tar.gz

Adding -L flag to the curl invocation would lead us to a page like https://github.com/be5invis/Iosevka/releases/tag/v15.2.0. Applying the regexp to which gives:

$ curl -s -L https://github.com/be5invis/Iosevka/releases/latest | grep -Po '(?<=tag/v)[0-9.]*'
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0
15.2.0

as FONT_VERSION variable.

The most simple workaround would be to use FONT_VERSION set to "dev", e.g.:

$ docker run -e FONT_VERSION="dev" -it -v $(pwd):/build avivace/iosevka-build ttf::iosevka-custom

Feedback from davidino

Some feedback from @dcasella

  • ! -n -> -z
    if [ ! -n "$FONT_VERSION" ]; then
    can be
    if [ -z "$FONT_VERSION" ]; then
    so you can remove the !

  • decide to use [ or test for every if statemant

if ! test -f "/build/private-build-plans.toml"; then -> if [ ! -f '/build/private-build-plans.toml' ]; then

  • recheck the parsing of the curl output

Error: Error: Composite {user} cannot be resolved: v,curly.

Looks essentially similar to #7

× Error Unhandled exception when building "Builtin::File::dist/iosevka-custom/ttf-unhinted/iosevka-custom-extendedmedium.ttf":
 Error: Error: Composite {user} cannot be resolved: v,curly.
    at Composite.decompose (file:///tmp/build/Iosevka-27.2.1/font-src/support/variant-data.mjs:234:19)
    at Composite.resolve (file:///tmp/build/Iosevka-27.2.1/font-src/support/variant-data.mjs:249:39)
    at Module.apply (file:///tmp/build/Iosevka-27.2.1/font-src/support/variant-data.mjs:19:17)
    at createParaImpl (file:///tmp/build/Iosevka-27.2.1/font-src/index.mjs:62:15)
    at reinit (file:///tmp/build/Iosevka-27.2.1/font-src/index.mjs:74:16)
    at main (file:///tmp/build/Iosevka-27.2.1/font-src/index.mjs:24:15)
    at ChildProcess.<anonymous> (/tmp/build/Iosevka-27.2.1/node_modules/verda/lib/actions/nodejs/command.js:53:31)
    at ChildProcess.emit (events.js:400:28)
    at emit (internal/child_process.js:935:14)
    at processTicksAndRejections (internal/process/task_queues.js:83:21)

Error: Composite {user} cannot be resolved: capital-a,straight-top-serifed

Hi, first off thanks for the gorgeous font!

I'm getting the following error when building a custom font with Docker:

Building process terminated.
Error: Error: Composite {user} cannot be resolved: capital-a,straight-top-serifed.
    at Composite.decompose (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:157:19)

When I delete the capital-a = "straight-top-serifed" line from my toml file, the build succeeds. I've included more detailed error logs below. I'm using WSL Ubuntu 14.

Here is the command I ran:

docker run -it -v $(pwd):/build avivace/iosevka-build contents::iosevka-custom

My private-build-plans.toml:

[buildPlans.iosevka-custom]
family = "Iosevka Custom"
spacing = "normal"
serifs = "sans"
no-cv-ss = true

  [buildPlans.iosevka-custom.variants]
  inherits = "ss10"

    [buildPlans.iosevka-custom.variants.design]
    capital-a = "straight-top-serifed"
    a = "double-storey"
    zero = "dotted"
    two = "curly-neck"

  [buildPlans.iosevka-custom.ligations]
  inherits = "fsharp"

[buildPlans.iosevka-custom.weights.light]
shape = 300
menu = 300
css = 300

[buildPlans.iosevka-custom.weights.regular]
shape = 400
menu = 400
css = 400

[buildPlans.iosevka-custom.weights.medium]
shape = 500
menu = 500
css = 500

[buildPlans.iosevka-custom.weights.semibold]
shape = 600
menu = 600
css = 600

[buildPlans.iosevka-custom.weights.bold]
shape = 700
menu = 700
css = 700

[buildPlans.iosevka-custom.widths.normal]
shape = 600
menu = 5
css = "normal"

  [buildPlans.iosevka-custom.slopes]
  upright = "normal"
  italic = "italic"

Terminal output:

...
♦ Create TTF iosevka-custom-bolditalic -> dist/iosevka-custom/ttf-unhinted/iosevka-custom-bolditalic.ttf
♦ Create TTF iosevka-custom-light -> dist/iosevka-custom/ttf-unhinted/iosevka-custom-light.ttf
♦ Create TTF iosevka-custom-lightitalic -> dist/iosevka-custom/ttf-unhinted/iosevka-custom-lightitalic.ttf
× Error Unhandled exception when building "Builtin::File::dist/iosevka-custom/ttf-unhinted/iosevka-custom-italic.ttf":
 Error: Error: Composite {user} cannot be resolved: capital-a,straight-top-serifed.
    at Composite.decompose (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:157:19)
    at Composite.resolve (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:169:39)
    at Object.applyVariantData [as apply] (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:21:17)
    at reinit (/tmp/build/Iosevka-5.2.1/font-src/index.js:44:15)
    at main (/tmp/build/Iosevka-5.2.1/font-src/index.js:18:41)
    at ChildProcess.<anonymous> (/tmp/build/Iosevka-5.2.1/node_modules/verda/lib/actions/nodejs/command.js:53:31)
    at ChildProcess.emit (events.js:315:20)
    at emit (internal/child_process.js:903:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
× Error Unhandled exception when building "Builtin::File::dist/iosevka-custom/ttf-unhinted/iosevka-custom-semibold.ttf":
 Error: Error: Composite {user} cannot be resolved: capital-a,straight-top-serifed.
    at Composite.decompose (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:157:19)
    at Composite.resolve (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:169:39)
    at Object.applyVariantData [as apply] (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:21:17)
    at reinit (/tmp/build/Iosevka-5.2.1/font-src/index.js:44:15)
    at main (/tmp/build/Iosevka-5.2.1/font-src/index.js:18:41)
    at ChildProcess.<anonymous> (/tmp/build/Iosevka-5.2.1/node_modules/verda/lib/actions/nodejs/command.js:53:31)
    at ChildProcess.emit (events.js:315:20)
    at emit (internal/child_process.js:903:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
× Error Unhandled exception when building "Builtin::File::dist/iosevka-custom/ttf-unhinted/iosevka-custom-regular.ttf":
 Error: Error: Composite {user} cannot be resolved: capital-a,straight-top-serifed.
    at Composite.decompose (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:157:19)
    at Composite.resolve (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:169:39)
    at Object.applyVariantData [as apply] (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:21:17)
    at reinit (/tmp/build/Iosevka-5.2.1/font-src/index.js:44:15)
    at main (/tmp/build/Iosevka-5.2.1/font-src/index.js:18:41)
    at ChildProcess.<anonymous> (/tmp/build/Iosevka-5.2.1/node_modules/verda/lib/actions/nodejs/command.js:53:31)
    at ChildProcess.emit (events.js:315:20)
    at emit (internal/child_process.js:903:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
× Error Unhandled exception when building "Builtin::File::dist/iosevka-custom/ttf-unhinted/iosevka-custom-mediumitalic.ttf":
 Error: Error: Composite {user} cannot be resolved: capital-a,straight-top-serifed.
    at Composite.decompose (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:157:19)
    at Composite.resolve (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:169:39)
    at Object.applyVariantData [as apply] (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:21:17)
    at reinit (/tmp/build/Iosevka-5.2.1/font-src/index.js:44:15)
    at main (/tmp/build/Iosevka-5.2.1/font-src/index.js:18:41)
    at ChildProcess.<anonymous> (/tmp/build/Iosevka-5.2.1/node_modules/verda/lib/actions/nodejs/command.js:53:31)
    at ChildProcess.emit (events.js:315:20)
    at emit (internal/child_process.js:903:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
× Error Unhandled exception when building "Builtin::File::dist/iosevka-custom/ttf-unhinted/iosevka-custom-medium.ttf":
 Error: Error: Composite {user} cannot be resolved: capital-a,straight-top-serifed.
    at Composite.decompose (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:157:19)
    at Composite.resolve (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:169:39)
    at Object.applyVariantData [as apply] (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:21:17)
    at reinit (/tmp/build/Iosevka-5.2.1/font-src/index.js:44:15)
    at main (/tmp/build/Iosevka-5.2.1/font-src/index.js:18:41)
    at ChildProcess.<anonymous> (/tmp/build/Iosevka-5.2.1/node_modules/verda/lib/actions/nodejs/command.js:53:31)
    at ChildProcess.emit (events.js:315:20)
    at emit (internal/child_process.js:903:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
× Error Unhandled exception when building "Builtin::File::dist/iosevka-custom/ttf-unhinted/iosevka-custom-semibolditalic.ttf":
 Error: Error: Composite {user} cannot be resolved: capital-a,straight-top-serifed.
    at Composite.decompose (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:157:19)
    at Composite.resolve (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:169:39)
    at Object.applyVariantData [as apply] (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:21:17)
    at reinit (/tmp/build/Iosevka-5.2.1/font-src/index.js:44:15)
    at main (/tmp/build/Iosevka-5.2.1/font-src/index.js:18:41)
    at ChildProcess.<anonymous> (/tmp/build/Iosevka-5.2.1/node_modules/verda/lib/actions/nodejs/command.js:53:31)
    at ChildProcess.emit (events.js:315:20)
    at emit (internal/child_process.js:903:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
× Error Unhandled exception when building "Builtin::File::dist/iosevka-custom/ttf-unhinted/iosevka-custom-bold.ttf":
 Error: Error: Composite {user} cannot be resolved: capital-a,straight-top-serifed.
    at Composite.decompose (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:157:19)
    at Composite.resolve (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:169:39)
    at Object.applyVariantData [as apply] (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:21:17)
    at reinit (/tmp/build/Iosevka-5.2.1/font-src/index.js:44:15)
    at main (/tmp/build/Iosevka-5.2.1/font-src/index.js:18:41)
    at ChildProcess.<anonymous> (/tmp/build/Iosevka-5.2.1/node_modules/verda/lib/actions/nodejs/command.js:53:31)
    at ChildProcess.emit (events.js:315:20)
    at emit (internal/child_process.js:903:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
× Error Unhandled exception when building "Builtin::File::dist/iosevka-custom/ttf-unhinted/iosevka-custom-light.ttf":
 Error: Error: Composite {user} cannot be resolved: capital-a,straight-top-serifed.
    at Composite.decompose (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:157:19)
    at Composite.resolve (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:169:39)
    at Object.applyVariantData [as apply] (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:21:17)
    at reinit (/tmp/build/Iosevka-5.2.1/font-src/index.js:44:15)
    at main (/tmp/build/Iosevka-5.2.1/font-src/index.js:18:41)
    at ChildProcess.<anonymous> (/tmp/build/Iosevka-5.2.1/node_modules/verda/lib/actions/nodejs/command.js:53:31)
    at ChildProcess.emit (events.js:315:20)
    at emit (internal/child_process.js:903:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
× Error Unhandled exception when building "Builtin::File::dist/iosevka-custom/ttf-unhinted/iosevka-custom-bolditalic.ttf":
 Error: Error: Composite {user} cannot be resolved: capital-a,straight-top-serifed.
    at Composite.decompose (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:157:19)
    at Composite.resolve (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:169:39)
    at Object.applyVariantData [as apply] (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:21:17)
    at reinit (/tmp/build/Iosevka-5.2.1/font-src/index.js:44:15)
    at main (/tmp/build/Iosevka-5.2.1/font-src/index.js:18:41)
    at ChildProcess.<anonymous> (/tmp/build/Iosevka-5.2.1/node_modules/verda/lib/actions/nodejs/command.js:53:31)
    at ChildProcess.emit (events.js:315:20)
    at emit (internal/child_process.js:903:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
× Error Unhandled exception when building "Builtin::File::dist/iosevka-custom/ttf-unhinted/iosevka-custom-lightitalic.ttf":
 Error: Error: Composite {user} cannot be resolved: capital-a,straight-top-serifed.
    at Composite.decompose (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:157:19)
    at Composite.resolve (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:169:39)
    at Object.applyVariantData [as apply] (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:21:17)
    at reinit (/tmp/build/Iosevka-5.2.1/font-src/index.js:44:15)
    at main (/tmp/build/Iosevka-5.2.1/font-src/index.js:18:41)
    at ChildProcess.<anonymous> (/tmp/build/Iosevka-5.2.1/node_modules/verda/lib/actions/nodejs/command.js:53:31)
    at ChildProcess.emit (events.js:315:20)
    at emit (internal/child_process.js:903:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
Building process terminated.
Error: Error: Composite {user} cannot be resolved: capital-a,straight-top-serifed.
    at Composite.decompose (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:157:19)
    at Composite.resolve (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:169:39)
    at Object.applyVariantData [as apply] (/tmp/build/Iosevka-5.2.1/font-src/support/variant-data.js:21:17)
    at reinit (/tmp/build/Iosevka-5.2.1/font-src/index.js:44:15)
    at main (/tmp/build/Iosevka-5.2.1/font-src/index.js:18:41)
    at ChildProcess.<anonymous> (/tmp/build/Iosevka-5.2.1/node_modules/verda/lib/actions/nodejs/command.js:53:31)
    at ChildProcess.emit (events.js:315:20)
    at emit (internal/child_process.js:903:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `node utility/ensure-verda-exists && verda -f verdafile.js "contents::iosevka-custom"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2021-04-20T06_21_12_683Z-debug.log

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.