GithubHelp home page GithubHelp logo

patleeman / vsnotes Goto Github PK

View Code? Open in Web Editor NEW
173.0 13.0 33.0 593 KB

Simple VS Code extension for plain text note taking.

Home Page: https://marketplace.visualstudio.com/items?itemName=patricklee.vsnotes

License: MIT License

JavaScript 100.00%
vscode-extension notes note-taking vscode

vsnotes's Introduction

VS NOTES

!!! This project is no longer maintained (and hasn't been for a few years). !!!

VS Notes is a simple tool that takes care of the creation and management of plain text notes and harnesses the power of VS Code via the Command Palette.

Demo Video

Click to watch 1 min demo video.

Repository

VS Notes is MIT Licensed and available on Github

Features

  1. Access commands quickly from the VS Code command palette Ctrl/Cmd + Shift + p.
  2. Set a base folder for your notes and all notes created will be saved in that folder.
  3. Easily access latest notes with Open Note command.
  4. Retrieve notes via tags in YAML encoded frontmatter on your notes.
  5. Open your note folder in a new window.
  6. View your notes and tags in your filebar.
  7. Automatically insert a VS Code snippet upon creation of a new note.
  8. Commit and push to your upstream repository with a single command.
  9. New Create a note in a currently open workspace.

Quick Start

  • Install the extension from the VS Code Extension menu or click install on this page..
  • Open the command palette Ctrl/Cmd + Shift + p and type vsnotes. Select Run Setup.
  • Click start and then select a directory to save your notes to.

To modify other settings, open the VS Code settings Preferences > Settings or hit Ctrl/Cmd + , and type in vsnotes in the search bar. To override the setting, copy it over to your user settings file and modify.

  • Access VSNotes commands in the command pallette by pressing ctrl/cmd + shift + p and typing vsnotes.

Taking Notes

VSNotes is just a quick way to create files in a single location and retrieve them later. Harness the power of VSCode and the extension ecosystem to customize your note taking workflow. The default file type is markdown and features are built around taking markdown notes. However if you want to save your notes as other types of plain text files, you can change the settings to append a different file extension.

[New in 0.6.0] Create a note in one of the currently open workspaces with the new Create note in workspace command. If you have multiple workspaces open, you will be down a dropdown list to pick which workspace to create a note in.

Note Filename

When creating a new note, VS Notes will look at the vsnotes.defaultNoteTitle setting to grab the format for the file name. This string contains several tokens that is converted by VS Notes when a note is created. Tokens can be modified in the vsnotes.tokens setting, but shouldn't be modified unless necessary. When asked to input a title for your new note, VSNotes can detect file paths and will create subfolders as necessary.

Filename Tokens

Tokens are added to the defaultNoteTitle setting and will automatically insert desired data into the file name of the note. This gives us the ability to specify a simple title for a note and have additional metadata added to the file name.

  • datetime: Inserts the current date time in a format specified by the format key. Formatting options. Don't modify type or token keys unless you know what you're doing.

    {
        "type": "datetime",
        "token": "{dt}",
        "format": "YYYY-MM-DD_HH-mm",
        "description": "Insert current datetime"
    }
    
  • title: When you create a new note, VS Notes will ask you for a title for the note. After entering a title, it will replace this token with the input text. There shouldn't be any need to modify this setting.

    {
        "type": "title",
        "token": "{title}",
        "description": "Insert note title",
        "format": "Untitled"
    },
    
  • extension: The file extension for the file. Defaults to markdown but you can change it to whatever you want. For example, if you prefer plain text notes, change it to .txt.

    {
        "type": "extension",
        "token": "{ext}",
        "description": "Insert file extension",
        "format": "md"
    }
    

Additional Note Titles

[New in 0.7.1] Added a new option vsnotes.additionalNoteTitles which is an array that contains note title tokens. If there are any tokens in this array, a picker will be shown with the option to choose which note title format you'd like to use.

File Path Detection

VSNotes understands file paths and will create folders as necessary. When prompted for a note title, inputting a path will nest the new note under the folders designated in the path. All paths are generated from the main notes folder.

Input text delimited by your system's file path separator. Windows: \ Mac/Linux: /

VSCode generates necessary subfolders and places the new note inside

Default Template

[New in 0.2.0] VS Notes will automatically execute a snippet after creating a note to pre-populate the note with a handy form template. The default snippet is called vsnote_template_default and created for the markdown language. You can override it by adding this option to your settings.json file and pointing it to a custom snippet you've created.

  "vsnotes.defaultSnippet": {
    "langId": "markdown",
    "name": "vsnote_template_default"
  },
  • Set langId to the desired language and name to a snippet's name.
  • Set langId to a language and name to null and a menu will open with all available snippets for your chosen language.
  • Set both langId and name to null to disable automatic snippet insertion.

Custom Templates

[New in 0.7.0] VS Notes adds the ability to choose markdown snippets on new note creation. To use this new feature, you first must add markdown snippets with a vsnote_template_ prefix.

Navigate to Code > Preferences > User Snippets > Markdown and add additional snippets. For example:

  "vsnote_template_meeting": {
    "prefix": "vsnote_template_meeting",
    "body": [
      "---",
      "tags:",
      "\t- meeting",
      "---",
      "\n# Meeting: $1 - $CURRENT_DATE/$CURRENT_MONTH/$CURRENT_YEAR\n",
      "$2",
    ],
    "description": "Generic Meeting Template",
  },

Once you create your snippet in settings.json, add the vsnotes.templates to your settings and add the name of the template (without the vsnote_template_ prefix)

"vsnotes.templates": [
  "meeting",
],

Afterwards when you execute the Create a New Note command, you will be shown a prompt to select which template you'd like to use for your new note. To use the default template, hit escape.

Tags

[New in 0.2.0] VS Notes adds the ability to pull tags out of documents containing a YAML frontmatter block (a la jekyll's frontmatter). YAML frontmatter is a way to encode machine parsable data in a way that is friendly to read and write.

If a file in your note folder has YAML frontmatter with a tag array, VS Notes will extract the tags from the note and show you all notes with specific tags.

Example YAML frontmatter

// file.md
---
tags:
  - tag1
  - tag2
---

The rest of the document goes here
...

VS Notes ships with a default YAML encoded snippet that it will insert on creation of a new note.

Custom Activity Bar Section & Explorer View

[New in 0.5.1] VS Notes moves the treeview into it's own custom location in the activity bar.

Access your notes no matter what you're doing. This new treeview adds a quick way to access your tags or files at any time by placing a small window in your explorer (file bar) that displays your tags and the contents of your note folder. Now you don't have to navigate away from a project or open a new window to reference your notes. Quick and easy.

[New in 0.5.1] Show or hide the tags or files section of the treeview with the treeviewHideTags and treeviewHideFiles settings.

Commit and Push

[New in 0.4.0] The Commit and Push command is a simple way to add all changes, commit, and push your changes if a version control system like Git is set up in your notes folder. The default command is set up for *nix style systems and requires the git command be accessible.

To customize the command and the default command and commit message, update the settings: vsnotes.commitPushShellCommand and vsnotes.commitPushDefaultCommitMessage.

Pull

[New in 0.8.0] The Pull command is a companion to the Commit and Push command. It pulls from remote repo with git pull by default. To customize the command, update the settings vsnotes.pullShellCommand.

Settings

Available settings

// List of additional note title tokens to choose from. If supplied, a picker will be shown when creating a new note.
"vsnotes.additionalNoteTitles": [],

// The default commit message used if none is provided with the Commit and Push command.
"vsnotes.commitPushDefaultCommitMessage": "VS Notes Commit and Push",

// Shell command to execute in the note directory when the Commit and Push command is executed. The {msg} token will be replaced with the contents of an input box shown or, if empty, the default commit message.
"vsnotes.commitPushShellCommand": "git add -A && git commit -m \"{msg}\" && git push",

// Default title for new notes.
"vsnotes.defaultNoteName": "New_Note",

// Path to directory to save notes. Use ~/ to denote a relative path from home folder.
"vsnotes.defaultNotePath": "",

// Default note title. Utilizes tokens set in vsnotes.tokens.
"vsnotes.defaultNoteTitle": "{dt}_{title}.{ext}",

// Default vscode snippet to execute after creating a note. Set both langId and name to null to disable.
"vsnotes.defaultSnippet": {
    "langId": "markdown",
    "name": "vsnote_template_default"
},

// Regular expressions for file names to ignore when parsing documents in note folder.
"vsnotes.ignorePatterns": [
    "^\\."
],

// Number of recent files to show when running command `List Notes`.
"vsnotes.listRecentLimit": 15,

// Automatically convert blank spaces in title to character. To disable set to `null`.
"vsnotes.noteTitleConvertSpaces": "_",

// A list of markdown templates to choose from when creating a new note.
"vsnotes.templates": [],

// Tokens used to replace text in file name.
"vsnotes.tokens": [
    {
        "type": "datetime",
        "token": "{dt}",
        "format": "YYYY-MM-DD_HH-mm",
        "description": "Insert formatted datetime."
    },
    {
        "type": "title",
        "token": "{title}",
        "description": "Insert note title from input box.",
        "format": "Untitled"
    },
    {
        "type": "extension",
        "token": "{ext}",
        "description": "Insert file vsnotes.",
        "format": "md"
    }
],

// Hide the files section in the sidebar. Requires application restart.
"vsnotes.treeviewHideFiles": false,

// Hide the tags section in the sidebar. Requires application restart.
"vsnotes.treeviewHideTags": false,

Tips and tricks

Roadmap & Features

See Github Issues

Change log

See CHANGELOG.md

Contributing

See CONTRIBUTING.md

Contributors

These lovely people have helped make VS Notes a better tool for everybody! Thank you!

Reviews

Do you like VS Notes? Leave a review.

vsnotes's People

Contributors

cssinate avatar cstuder avatar dependabot[bot] avatar kama-meshi avatar kunkgg avatar michaelgenesini avatar nikukyugamer avatar patleeman avatar suer avatar wolfhoundjesse avatar xeor avatar zzhjerry 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

vsnotes's Issues

Feature request: Sub-Tags

Tags currently appear flat

  • Foo
  • Bar
  • Lemon
  • Pie

Would like to be able to make sub tags like so

  • Foo/Apple
  • Foo/Orange

And have these appear in the side panel as

  • Foo
    • Apple
    • Orange

Here is a little mock-up I did which relates to #11 too, though both #11 and #10 are independant requests.

vsc_002

Treeview improvements discussion

I'm opening up an issue here to start a discussion about the treeview. Since it was added in 0.3.0 it hasn't received much love and in its current state isn't really all that useful.

I want to completely refactor it and build in some new features.

Here are some ideas:

  1. Separate tags and notes into two sections.
  2. Add a new section with links to commonly used commands.
  3. Add a context menu with some commonly used features (click opens note, delete, duplicate)

Some feature requests:

Sections and links to commands in VSCode's Live Share extension
Screen Shot 2019-07-15 at 5 40 01 PM

Do you have a feature you'd like to see or inspiration from a different extension? Please comment below and post screen shots if applicable.

Feature request: Directory name as token

Would love to be able to use the directory name as a token option when saving notes.

Ideal file name utilizing tokens:

{directoryName}__{title}.}{ext}
{directoryName}{subDirectoryName}__{title}.}{ext}

Vsnotes refresh tags information for ever

Vsnotes has a tag-view function.
Anyway, if there is an error in the YAML frontmatter,
like tags:, miss the :, just tags
in this case, the Vsnotes will continue to refresh tag-view and keep busy.
It will be better to just ignore the wrong YAML frontmatter or show some kind of notice information.

Example YAML frontmatter

// file.md

tags:

  • tag1
  • tag2

The rest of the document goes here
...

Push and commit option is failing: Commit and push failed to execute

I already set the notes directory as a git one with git init. Then I set the remote repo and then I went to vscode to use the ctrl+p option VSNotes: Commit and push but it fails. Any idea why? I have the default configuration which seems to have the right command to perform the task, the "commit push shell command" is set like:

git add -A && git commit -m '{msg}' && git push

Any ideas?

Create notes without date in filename

Sometimes I would like to create notes that does not contain the creation date in the file name. This is notes that I continuously update and are not bound to a specific date.

I think it would be really useful with a command to allow creating this type of note. Something like VSNotes: Create new note without date

And if I name this Foo, the note would be called Foo.md instead of ${date}_Foo.md

Interested in helping VS Notes?

It seems like VS Notes has been growing pretty steadily and more and more people are using it. Unfortunately I haven't been giving it much time or using it much myself. If anyone is willing to join me in maintaining this extension please let me know!

The icon is terrible

I couldn't design a beautiful icon to save my life.

If somebody would like to jump in and create a nice icon to replace the shitty icon added in v.0.3.1, I would be eternally grateful.

Current Icon

token expansion before filepath detection

What I'm doing

Creating a new note via the "VSNotes: Create a new Note" option with the following name:
meeting/test meeting

Expected behaviour

As documented I expect that the folder "meeting" is created and inside will be the note with expanded tokens (i.e. a timestamp):
meeting/2019-01-25_11-00_test_meeting

Actual behaviour

Token expansion seem to be happening bevore file path detection, the folder and note that will be created are:
2019-01-25_11-00_meeting/test_meeting

Additional info

VS Code:

Version: 1.30.2 (system setup)
Commit: 61122f88f0bf01e2ac16bdb9e1bc4571755f5bd8
Date: 2019-01-07T22:54:13.295Z
Electron: 2.0.12
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
OS: Windows_NT x64 10.0.16299

VS Notes Version: 0.6.0

Feature: choose a snippet on newNote

What do you think about a question after 'newNote' prompt that ask you which snippet to execute?

I'd like to create some custom snippet in VSCode to use as template for my notes for example:

  "note_standup": {
    "prefix": "vsnote_standup",
    "body": [
      "---",
      "tags:",
      "\t- standup",
      "---",
      "\n#Standup: $CURRENT_DATE/$CURRENT_MONTH/$CURRENT_YEAR",
    ],
    "description": "Stand Up Meeting Template Note"
  }

What do you think guys?

Thanks ๐Ÿค โค๏ธ

Feature Request: Auto sync (commit and push)

It would be nice if VSNotes could automatically sync any changes to git with a default commit message when VSCode is closed, or maybe on save but that might be too much, even with a timeout it would be a lot of commits.

"List recent notes" is actually listing from the oldest notes

Thanks for reading this and please excuse my poor English.

I've used VSNotes a few times. Today I found the "List recent notes" function can't show my recent note files. With further comparison of the file in the note folder, I found this function actually listing from the oldest notes and the length of the list just exceed the limit of the list item.

Here is a picture which may explain the issue better:
image

"Files" and "Tags" should start expanded

The default state for these two main directories is collapsed. If a user is choosing to look at the extension tree view, it's most likely because they want to view one of their notes. This means that the majority of the time, it requires one extra click to get what the user is after. As a matter of efficiency, these two parent-level items should be expanded as default.

Clicking on sub-folder doesn't expand folder

If you create a folder under the files folder and then click on it, it has this strange effect of quickly opening and then closing a file. The default behavior for clicking on a folder in Explorer expands the folder so this would be a much more intuitive implementation.

New Note Tab Completion

I generally have 3 sets of notes, which exist as sub folders of the notes directory.

  • Work Specific - work specific notes I dont want to sync outside of the domain
  • Personal - personal notes that live only on my personal machine
  • Generic - Git repo for syncing all my generic tech notes

Any note I create will exist in one of those 3 sub folders, so new notes will usually take the form Generic/Mynote.md or Work/SomeProject.md

It would be great if tab completion could be used to complete the folder names. E.g. W<tab>MyNote.md would produce Work/MyNote.md

Is this possible at all?

Updates for 1.2x+?

I think it would be good idea to update the readme to cover improvements to VS Code.

Examples:

  • Global Snippets were released in January. Using the code-snippet would probably be more reliable or easy to manage.
  • Does this create a workspace, how it interacts with workspaces? Does a person need to add the default Note Path to the workspace?

Feature request: Sort tags alphabetically

At present it seems to load the tags in order that the notes are loaded. Notes appear to be loaded alphabetically. But tags are separate from notes so don't follow the same flow.

This will make tags much easier to find by users, especially if lots of tags are used.

I personally like structured tags, so have the following as an example

  • Personal/Misc/Lists
  • Work/Products/XYZ
  • Work/Technology/Public Clouds
  • Personal/Projects/Server
  • Work/Products/AB
  • Personal/Projects
  • Personal/Projects/ZXC

It's quite hard to narrow down to what I actually want, this is also a small subset of the tags I use. What would be ideal (in addition to #10, or simply in mean time) is alphabetical order of tags.

  • Personal/Misc/Lists
  • Personal/Projects
  • Personal/Projects/Server
  • Personal/Projects/ZXC
  • Work/Products/AB
  • Work/Products/XYZ
  • Work/Technology/Public Clouds

I presume that the array that holds the list of tags (tagIndex ?) can be sorted before being displayed in the sidebar, but I don't know js (not a developer by trade) and don't see where this happens.

Feature suggestion

  • Please add option where we can (change naming convection) name notes by project i.e. project 1 notes, general notes etc.
  • And an option to highlight specific keywords (like pending TODOs, or highlight credentials etc) will be the best.

Add search command

A search command that opens the search bar, populates the path for the note path and adds the ignore regex to files to exclude.

Date navigation in sidebar

Hi,

thanks for the great extension! It would be very convenient to have the possibility to navigate by date in addition to "Files" and "Tags" in the sidebar. Do you think this would be possible?

Kind regards,
Daniel

Path settings for D drive recognized as C:\D:\$path

When running setup and selecting a folder in my D drive, it does not seem to be recognized. Viewing the path in the explorer pane for VS NOTES show an Error ENOENT: no such file or director, lstat 'C:\D:\vsnotes'

VSNotes folder error

Hi,
I've started using VSNotes and really enjoy using it. I am running into a weird error while trying to bring up the notes folder via Cmd+Shift+P. I click on VSNotes: Open Notes Folder and I get the following dialog box

screen shot 2018-11-26 at 10 42 17 am

My notes directory is set to ~/Dropbox/Notes

I know @patleeman wants to no longer maintain it but I don't know Typescript so I am not sure where to look to fix the error and send a PR.

If it is an easy fix, any pointers on where to look would be appreciated.

Thanks

list tags is not working

Hi,

I am using
VSCode
Version: 1.37.1
Commit: f06011ac164ae4dc8e753a3fe7f9549844d15e35
Date: 2019-08-15T16:16:34.800Z
Electron: 4.2.7
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Darwin x64 18.2.0
macos: 10.14.3

VSNotes: 0.71

cmd+shift+p plus

  • VSNotes: list tags is not working.
  • VSNotes: focus on vsnote view is not working.

I have few documents created using VSNotes with tags at the beginning of the document
example:

---
tags:
  - bookmarks
  - links
--

VSNotes: Search Notes / create note / open notes folder / open note / run setup are all working.

Let me know if you need more information.

Thanks!

Quick and easy single command new note

I would like to be able to have some key shortcut which instantly creates a new note, with current date and time as file name, and take me straight to the editing of the body of that note.

So after 1 command I can start typing my note.

I might have a look into the code to se if I can add a PR with this.

Rename list recent notes command

I suggest renaming the List recent notes command to just Open note. The functionality should be the same, a stack of recently used notes (sorted chronologically), and a search box to filter/jump to a specific note.

Unable to create keyboard shortcuts for commands

I am unable to define keyboard shortcuts for any of the commands VSNotes offers. They are unlisted in the Keyboard Shortcuts dialog.

I suspect the issue stems from the commands called extension.something instead of vsnotes.something in the package.json and extension.js:

https://github.com/patleeman/VSNotes/blob/master/package.json#L168

https://github.com/patleeman/VSNotes/blob/master/extension.js#L20

Running VSCode 1.27.1 and VSNotes 0.5.1, on MacOS 10.13.6.

Feature request: Hide files from side panel

Currently the side panel shows folder/files as well as tags. VSC also shows a files section, which is not hidable within the UI. These two areas can be switched around, and resized by the user. My preferred storing method is dated archive folders, with hierarcical tags for organisation. So tags is where I will be spending most of my time, vs folders.

vsc_001

Where I'd like to end up is something like this

vsc_002

Tags discussion

Tags as YAML front matter was an idea I had when VS Notes was originally a markdown note taking extension, but I'm not really in touch with how users are using VSNotes now.

It would be helpful for me if the community could help me understand how the tags feature is used.

  1. Do you use the tags feature?
  2. What do you think about the YAML frontmatter?
  3. Do you use a template to populate it or do you write it manually?
  4. What are your frustrations with how its set up?

Additionally I'd love to hear ideas and suggestions on ways we could improve tags.

Redefinition of defaultNoteTitle is not working

I have redefined the following settings in my user space:

"vsnotes.tokens": [
    {
        "type": "datetime",
        "token": "{dt}",
        "format": "YYYYMMDD",
        "description": "Insert formatted datetime."
    },
    {
        "type": "title",
        "token": "{title}",
        "description": "Insert note title from input box.",
        "format": "Untitled"
    },
    {
        "type": "extension",
        "token": "{ext}",
        "description": "Insert file extension.",
        "format": "md"
    }
],
"vsnotes.noteTitleConvertSpaces": "",
"vsnotes.defaultNoteTitle": "{dt} - {title}.{ext}"

Then the filename assigned to a new note is:

20180822-20180822-New_Note.md.md

If you change the default name at note creation time, the filename template is working as expected.

Support ${workspaceFolder} in defaultNotePath

It'd be great to use vsnotes for notes for a specific project. It looks like vsnotes.defaultNotePath needs to be an absolute path; can you support injecting ${workspaceFolder} similar to other extensions?

I looked briefly at the code to do this but it seems like the config value is read in a lot of different places.

let defaultNotePath = /*...*/;
defaultNotePath = configValue.replace('${workspaceFolder}', workspace.rootPath);

Thanks!

Allow either / or \ as path separators regardless of platform

When creating new notes, it seems needlessly restrictive to require path separators to match the default used by the OS. See also #39.

  1. Plenty of tools, including core VSCode functionality (e.g. the explorer.newFile command), as well as 3rd party ones like PowerShell, allow the use of either slash interchangeably. I mostly use Windows, but English keyboard layouts tend to a) keep / in the same place, with less variation in position across US/UK layouts than \, and b) make / easier to reach. Along with not having to escape things as often, these mean it's really handy being able to use / when it's supported.
  2. Using the "wrong" separator currently results in creation of new directories anyway (nobody really wants to include either slash in a filename, right?) but with the tokens incorrectly expanded in the directory name rather than the note filename.

VSNotes 0.7.1, VSCode 1.38.0, Win10

Can't start setup uppon installation

I tried to install the extension.

I'm running the latest VSCode on Ubuntu 18.04.1

Uppon installing and reloading VSCode when trying to start the setup with:
"Open the command palette Ctrl/Cmd + Shift + p and type vsnotes. Select Run Setup."

the setup doesn't even start and the following error is shown: command 'extension.setupNotes' not found

No tag when creating a new note

When I created a tag, I had the possibility to add tags in a front matter, but it seems that by default, there is no more front matter anymore, is it a bug ?

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.