Code Monkey home page Code Monkey logo

enlighterjs's Introduction

Build Status

Quickstart | Documentation | Languages | Themes | Website

EnlighterJS3

EnlighterJS, an open source syntax highlighter written in pure javascript

Using it can be as simple as adding a single script and style to your website, choosing the elements you wish to highlight, and EnlighterJS takes care of the rest.

Appearance

Related

Features

KEY FEATURES

  • Designed to work in all modern browsers (not server-side)
  • Encapsulated, standalone library - zero dependencies (no MooTools, no jQuery!)
  • 40 supported languages/formats
  • 12 high quality themes
  • Inline Syntax highlighting
  • Codegroups to displays multiple code-blocks within a tab-pane
  • Point out special lines of code
  • Ultra small footprint: 45KB JS (all languages) + 10KB CSS (single theme; all themes 60KB)
  • Highlight all codeblocks on your page with a single command

TECHNICAL FEATURES

  • Ultrafast Tokenizer Engine based on priorized regular expressions
  • Second-Stage-Tokenizer for optimized performance
  • Full customizable themes written in less
  • Themes available as single css files to reduce footprint
  • Views based on JSX
  • Minimal, embedded DOM library
  • gulp based build system
  • ES6 code transpiled via babel and build with rollup.js

Languages

  • ABAP (abap)
  • Apache HTTPD (apache)
  • Assembly (assembly, asm)
  • AVR Assembly (avrassembly, avrasm)
  • Windows Batch/Bat (bat,batch,cmd)
  • C/C++ (c,cpp, c++)
  • C# (csharp)
  • CSS (css)
  • Cython (cython)
  • CordPro (cordpro)
  • diff (diff)
  • Dockerfile (docker, dockerfile)
  • Generic (generic, standard) - default highlighting scheme
  • Groovy (groovy)
  • Go (go, golang)
  • HTML (html)
  • Ini (ini, conf)
  • Java (java)
  • Javascript (js, javascript, jquery, mootools, ext.js)
  • JSON (json)
  • JSX (jsx)
  • Kotlin (kotlin)
  • LATEX (latex)
  • LESS (less)
  • lighttpd (lighttpd)
  • LUA (lua)
  • MariaDB (mariadb)
  • Markdown (gfm, md, markdown)
  • Matlab/Octave (octave, matlab)
  • MSSQL (mssql)
  • NGINX (nginx)
  • NSIS (nsis)
  • Oracle Database (oracledb)
  • PHP (php)
  • Powerhsell (powershell)
  • Prolog (prolog)
  • Python (py, python)
  • PureBasic (purebasic, pb)
  • QML (qml)
  • R (r)
  • RAW (raw) - raw code without highlighting with EnlighterJS container styles!
  • RouterOS/SwitchOS (routeros)
  • Ruby (ruby)
  • Rust (rust)
  • Scala (scala)
  • SCSS (scss, sass)
  • Shellscript (shell, bash)
  • Generic SQL (sql)
  • Squirrel (squirrel)
  • Swift (swift)
  • Typescript (typescript)
  • VHDL (vhdl)
  • VisualBasic (visualbasic, vb)
  • Verilog (verilog)
  • XML (xml, html)
  • YAML (yaml)

Themes

  • Enlighter (enlighter, standard) - Enlighter`s default Theme
  • Classic (classic) - SyntaxHighlighter inspired
  • Bootstrap (bootstrap4) - Bootstrap 4 inpired themes, high contrast
  • Beyond (beyond) - BeyondTechnology Theme
  • Godzilla (godzilla) - A MDN inspired Theme
  • Eclipse (eclipse) - Eclipse inspired
  • MooTwo (mootwo) - Inspired by the MooTools Website
  • Droide (droide) - Modern, minimalistic
  • Minimal (minimal) - Bright, High contrast
  • Atomic (atomic) - Dark, Colorful
  • Dracula (dracula) - Dark, using official draculatheme colorscheme
  • Rowhammer (rowhammer) - Light, Transparent, divided rows

Quickstart

  1. Download latest EnlighterJS release
  2. Copy the files from the dist/ directory to your public html location
  3. Include the CSS+JS files
  4. Tag the codeblocks on your page (e.g. pre tags with data-enlighter-language attribute)
  5. Initialize highlighting

Minimal Example

This is a minimalistic example how to highlight sourcecode with EnlighterJS. The working example (valid js+css paths) is available within the example directory.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>EnlighterJS Test</title>

    <!-- EnlighterJS Resources !-->
    <link rel="stylesheet" href="enlighterjs.min.css" />
</head>
<body>

    <main>
        <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore 
            et dolore <code>window.addEvent('domready', async (a,b) => {});</code> magna aliquyam erat.
        </p>

        <!-- Code to hghlight !-->
        <pre data-enlighter-language="less">
// buttons used in codegroups + toolbar
.enlighter-btn{
    display: inline-block;
    margin: 0px 5px 0px 5px;
    padding: 3px 5px 3px 5px;
    border: solid 1px #333333;
    background-color: #f0f0f0;
    cursor: pointer;
}

// buttons
.enlighter-btn-raw{
    background-image: data-uri('icons/enlighter_code.svg');
}

.enlighter-btn-window{
    background-image: data-uri('icons/enlighter_rawcode.svg');
}

.enlighter-btn-website{
    background-image: data-uri('icons/enlighter_icon_white.svg');
}
        </pre>

    </main>

    <script type="text/javascript" src="enlighterjs.min.js"></script>
    <script type="text/javascript">
        // INIT CODE - simple page-wide initialization based on css selectors
        // - highlight all pre + code tags (CSS3 selectors)
        // - use javascript as default language
        // - use theme "enlighter" as default theme
        // - replace tabs with 2 spaces
        EnlighterJS.init('pre', 'code', {
                language : 'javascript',
                theme: 'enlighter',
                indent : 2
        });
    </script>
</body>
</html>

Contribution

EnlighterJS is OpenSource and managed on GitHub - if you like, you're welcome to contribute! To simplify the release and quality control process, please follow these remarks:

  1. One Enhancement ==> One Commit (don't merge a bunch of changes in a single commit!)
  2. Only commit changes to the src/ or examples/ directory. Otherwise your request will be rejected
  3. Discuss larger project changes with the Maintainer before implementing
  4. Use GitHub for question, bugreports and discussions

License

EnlighterJS is OpenSource and licensed under the Terms of Mozilla Public License 2.0. You're welcome to contribute

enlighterjs's People

Contributors

andidittrich avatar aphelionz avatar audioscavenger avatar devyncjohnson avatar gphilippot avatar hpwxf avatar kevcodez avatar krusen avatar mabako avatar nmoinvaz avatar przemyslawklys avatar sayandeveloper avatar whiplashoo 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

enlighterjs's Issues

Language Support Request: CiscoIOS Config+Terminal Output

Thanks for creating such an awesome and customizable plugin. I have a particular use-case where I would like to highlight a specific word or value for a language that is not currently supported. Specifically, Cisco IOS configuration output or configuration snippets. I would like to highlight specific words and such, is that currently possible, or can it be added to the plugin?

I can provide screenshots if needed.

Thanks

Suggestion: Add support for general assembly

I noticed that EnlighterJS supports AVR-Assembly. I would like to suggest that assembly for the 8051 or general assembly syntax be added to EnlighterJS (unless the "avrasm" shortcode in the WordPress plugin already covers that).

By the way, I know JavaScript. How could I contribute by adding support for various programming languages?

Kotlin support

I added Kotlin support with this commit.

I have seen that you want to rewrite the languages for v3. Is there a branch or repo? I would help you add it to the new format, I just don't know where it is. Is this repo even being maintained anymore?

Regards,
Kevin

Change attribute "data-enlighter-language" to something else via settings?

I realize this would have some pretty big consequences to performance as right now it's just a matter of checking for <pre> elements posts for enlighter-language in the data attribute but for years I used another syntax highlighting WP plugin that worked like <pre language="my language"> code here </pre> and wanted to see if there was a way to support that format?

It's not doom and gloom stuff for me as I can just make a script to walk through my posts looking for pre tags with the "language" attribute but I also wanted to try and make my posts "Future Safer" (TM) by doing something like <pre data-language="my lang"> versus enlighter-language.

Too many blank lines being added

The plug in on my Wordpress web site is messing up the styling. There are too many blank lines being added. This is the same for all EnlighterJS themes.

Screen Shot 2019-03-23 at 3 52 01 PM

Any ideas how to fix this?

Scripts are always added to header

To improve the loading time of a blog it would be good to be able to control if scripts should be added to the "head" or the "footer" part of a wordpress theme. There is an option in the admin panel for controlling where the initalization script should be placed (jsType), but it does not affect other scripts.

Two ways to solve this would be to either add an additional option in the admin panel or to let jsType control the location of all the scripts.

Suggestion: Further CSS Optimization

I was looking at https://raw.githubusercontent.com/AndiDittrich/EnlighterJS/master/Build/EnlighterJS.min.css and I ran the code through http://csscompressor.com/ . Then, I saw that you already compressed and optimized the code as much as it can be optimized. However, I do see one possible improvement that you may want to consider.

Is there an easy way (or would it be a good idea) to allow WordPress users to select which themes to enable/disable and then only use the needed CSS code? In other words, if a user disabled the "Twilight" theme, then the "Twilight" classes would not be in the CSS file that is loaded by WordPress.

Background Info

./Build/EnlighterJS.min.css contains CSS classes for each of the themes supported by EnlighterJS. Obviously, the WordPress plugin (which I use on DCJTech.info) allows a user/poster to select a theme. However, on my website, I reduced the size of the plugin's files by deleting the themes I did not want users/posters to use. Thus, I could remove the CSS classes for themes my website does not use.

One reason why I offer this as a mere suggestion is because I do not know how you feel about "nit-picky" optimizations. On my website, I use many micro-optimizations. True, one micro-optimization may not contribute much performance improvement, but many micro-optimizations on a website that is visited by hundreds of people per day adds up quickly and yields significant results.

Source code direction

Hi there,
I'm using this plugin instead of crayon syntax highlighter, It's very good and easy to use,
But since I'm using it for Persian language blog, which the direction is rtl , on that time alos all of the codes are showing in the rtl mode,
I've fixed my problem with a little CSS to force the container to be always in ltr direction.
please consider this in to the next updates and if you think it's hard to test and taking care, I can handle this and give you a pull request.

R language support - first steps

Dear Andi,

I just created R.js with this commit. Besides adding keywords and built-in functions, I do not really know what in detail you need to get things going (although I read your instructions) and how I should implement them. For example, R uses "@" and "$" to address subobjects/columns in S3/S4 class types. Both are frequently used and hence should be recognized correctly.

Also, comparing the list of functions to other languages, I assume the list is way to large?

Sorry for bothering you with such "tutorial" like questions - if this takes too much time to explain in detail I´ll just wait until you find the time to implement R support - however I would really like to help!

Wild Suggestion: Open-Source Biology Highlighting

This idea may be off-topic or very different from EnlighterJS's main purpose of high-lighting computer code. As you may have seen in the news, scientists have discovered how to make boolean logic gates using biochemicals (i.e. DNA, RNA, proteins, etc.). For instance, Boolean Integrase Logic (BIL) gates are DNA and RNA transistors (DNA and RNA transistors = transcriptors), and DNA and RNA are coded using four nucleic acids ("A", "C", "G", and "T"). What if EnlighterJS gained supported for "biochemical computer code"?

On my website, there is a page that could benefit from such a feature - http://dcjtech.info/topic/open-source-biology-logic-gates/

WARNING: My website has ads. Some people feel that the ads are annoying and some people get more upset if I do not give them a note of warning, so I want to warn you now. (^u^)

Perhaps, the background for each of the four DNA-letter-codes ("A", "C", "G", and "T") could be different rather than coloring the letter itself. Such a color scheme is commonly seen in bioinformatics software. For example, this highlighting scheme can be seen in this image from Wikimedia/Wikipedia - https://upload.wikimedia.org/wikipedia/commons/a/a7/WPP_domain_alignment.PNG

If such a feature is added, I would be happy to help or add the code myself. I have a one-year college degree in biology, so I am familiar with these biochemistry topics. Also, if highlighting support is added for nucleic acids (DNA and RNA), then it would be wise to add support for amino acid highlighting (for protein-based computer component source-code). In addition, this Wikipedia article ( https://en.wikipedia.org/wiki/FASTA_format ) may assist us in adding such a feature.

Selecting tab in all codegroups

Is there a way to make EJS select the same tab (either by its name or index, both would work for me) in all code groups when one of them is selected?

Imagine I have several snippets, each in a code group, and a tab represent code in a given language, e.g. either JavaScript or C#. Whenever a user selects C# tab, it means they want to see the C# code in all of the code groups, so I would like to automatically switch to the C# tab in all of them.

Example (using WordPress notation):

[codegroup]
   [js tab="Javascript"]// javascript code, part 1[/js]
   [csharp tab="C#"]// C# code, part 1[/csharp]
[/codegroup]

[codegroup]
   [js tab="Javascript"]// javascript code, part 2[/js]
   [csharp tab="C#"]// C# code, part 2[/csharp]
[/codegroup]

I suppose there is no such built-in feature, so I would be very grateful for a code snippet (I'm not at all familiar with Moo).

Rust Single Line Comments Incorrectly Highlight Blocks

Given the following code in rust,

// Get the fib term
let mut fib_number = get_fib_term_dynamic(term);
println!("Dynamic Term number {} is {}",term, fib_number);
fib_number = get_fib_term_recursive(term);
println!("Recursive term number {} is {}", term, fib_number);

EnglighterJS Highlights the entire block, not just the comment line.

Enlighter doesn't appear in reader mode

When viewing a page in Reader mode (Safari or Firefox), the Enlighter-highlighted text does not appear. The pre.EnlighterJSRAW has display: none and the ul doesn't seem to want to display either.

Is this a known issue? Thanks.

Question: LanguageDevelopment.phtml

I am looking over some of EnlighterJS's code and I noticed the ./LanguageDevelopment.phtml file ( https://github.com/AndiDittrich/EnlighterJS/blob/master/LanguageDevelopment.phtml ). Unless I am mistaken, ./LanguageDevelopment.phtml does not contain any PHP code, so why is the file using the extension ".phtml"? Such a file extension is used for HTML files that contain PHP code ( http://stackoverflow.com/questions/11859015/what-is-phtml-and-when-should-i-use-a-phtml-extension-rather-than-php ). Should ./LanguageDevelopment.phtml use the ".html" file-extension, or did I over-look soemthing?

By the way, if you would rather me offer these suggestions and question via email, please feel free to let me know. Using GitHub's "Issues" or email are equally convenient for me. I can use which ever would be the best for you.

Kotlin triple quotes

When using triple quotes in Kotlin it often includes code beyond the closing quotes. Example:
val filePath = """c:\dir\somedir"""
will not close whereas
val nurseryRhyme = """Humpty Dumpty sat on a wall
|Humpty Dumpty had a great fall
|All the king's horses and all the king's men
|Couldn't put Humpty together again""".trimMargin()
closes properly. Seems to be the | that makes the difference

Kotlin: String templates

In Kotlin we can use String templates, is it possible to format them instead of the string shows its text in only one color?

Quick Review

Hi

A couple of things I have found in the drafty draft post I am currently working on using Gutenburg.

Generic and PowerShell colour schemes look very similar - can this be changed ( be similar to VSCode MonoKai) ) ;-)

No line numbers options does seem show a character on the left

Could start of the code be more offset from top Enlighter menu- I think it is bit confusing for readers

https://westerdale.blog/?p=627&shareadraft=baba627_5babe7bf5d189

[Question] Why MooTools?

Hey @AndiDittrich

This is just a pure curiosity question (mainly because I'm trying to get into Javascript and trying to learn bits and pieces every day!):

Why did you choose MooTools as the framework to build Enlighter on? Why not vanilla JavaScript (or - at a push, jQuery as it's already included in WP Core)?

MooTools doesn't seem to have been updated in years and there's even talks about deprecation/not using it for new projects (mootools/mootools-core#2798) as well as support seems fairly limited?

It's definitely an interesting framework, just curious as to why that was your framework of choice? :)

Can't hide the line numbers

Hi

I have got around to writing a post with Enlighter since the must anticipated MonKai is in play.
Whilst in Gutenberg pasted in the same snippet using

  • Preformatted ( just as a comparison)
    -Enlighter Beta 2

Enlighter Plugin Monokai PowerShell

I still can't seem to loose the line number or offset although neither are set. Also, I wonder for small sections of code, a gist theme might be less "in your face" than MonoKai - is there a theme in existence or will this need to be added 😉

Support for Cmder's MonoKai

Hi

Is it possible to set up the above in EnligherJS V3 . My thoughts this could be the default theme for any code I wish to emphasises in a post?

It si possible to fold/unfold code?

Dear colleagues:
congratulations for such a great tool. I'm using it through the wordpress plugin.
I wonder if it is possible to have a "button" to fold/unfold the code in a webpage with several source code examples. Something like this (suppose the '+' symbol means unfold)

While loops
example 1 +
example 2 +

For loops
example 1 +
example 2 +

Thank you very much in advance

David

Add copy button

It would be great if, on hover, it displays some little button to copy the code.

Actually it's impossible to copy the code except going line by line.

PHP Functions

Found that code that contains PHP's fopen() and fwrite() functions cause an internal 500 error when saving WP page.

The following code between [java] tags breaks from wordpress.

When I try to use [java] tags from wordpress editor, the following code breaks the plugin:

------------------------- BEGIN

public ObjectArrayDump loadObjectArrayDump(InputStream is)
throws IOException {

ObjectArrayDump objectArrayDump = new ObjectArrayDump();
HProfId id = loadId(is);
byte[] uIntBytes = new byte[Long.SIZE];

// Bad
// is.read(uIntBytes, 4, SIZE_U4);

// Better
// is.read(uIntBytes, Long.SIZE - SIZE_U4, SIZE_U4);

// Best
is.read(uIntBytes, uIntBytes.length - SIZE_U4, SIZE_U4);

long stackTraceSerialNo = ByteBuffer.wrap(uIntBytes).asLongBuffer().get();

is.read(uIntBytes, uIntBytes.length - SIZE_U4, SIZE_U4);
long numArrayEntries = ByteBuffer.wrap(uIntBytes).asLongBuffer().get();

objectArrayDump.setId(id);
objectArrayDump.setNumArrayEntries(numArrayEntries);

HProfId[] objectIds = new HProfId[(int)numArrayEntries];

// Bad
// for (int i = 0; i < numArrayEntries; i++) {

// Good
for (int i = 0; i < objectIds.length; i++) {
    objectIds[i] = loadId(is);
}

return objectArrayDump;

}

-------------------------------- END

Making long rows not to break?

Hi! I was curious how can I force long lines to stay the same without wrapping words?

I see that if I set a width to the inner ul element long lines will remain as they are without break. Read through the Docs and couldn't find an official solution for this. help?

Instead of this:
screen shot 2017-12-31 at 7 04 52 pm

I want it to look like this:
screen shot 2017-12-31 at 7 05 51 pm

So the user can just scroll horizontally if the lines are longer than the container.

toolbar support when editing in Gutenburg

Hi

At the moment I am switching to Classic Editor -> Text view to apply any markup to code snippets. Will there be future support for editing using Gutenburg / WP 5.0 ?

Can't make multiline comments working for Python

Hi,
First thanks a lot for this plugin, it is amazing and helps me a lot.

I just encounter a problem with multiline comments in Python and tried a lot of different indentations with no success..
Here is a screenshot of my issue: The syntax highlighting is highlighting inside the comment for some reason.. Is there any workaround?
capture d ecran 2017-06-28 a 21 33 19

capture d ecran 2017-06-28 a 21 36 05

Wrong Python Highlighting in Gutenberg

Hey there,

I found a strange behaviour when writing two forward slashes in one line of Python code. Enlighter appears to think that now it's a java comment or something because it marks the area between these two forward slashes green and even ignores a python comment sign (#) in between them.

Picture

As you can see in the Image, the first line demonstrates the bug, the second and third work properly (there is only one forward slash in them).

WordPress Version 4.9.8 (Using the Gutenberg plugin)
Enlighter Version 3.8.1

Regards

JSON blocks are incorrectly formatted in Chrome (v58, macOS)

JSON blocks in Chrome v58.0.3029.110 (64-bit) for macOS seem to render a little differently depending on whether a property value is a string containing letters or a string containing numbers.

Given this HTML:

<pre data-enlighter-language="json">
  {
    "o": {
      "x": "a",
      "y": "b"
    }
  }
</pre>

…the "y" is not formatted as a property.

However, in this HTML:

<pre data-enlighter-language="json">
  {
    "o": {
      "x": "1",
      "y": "2"
    }
  }
</pre>

…the "y" is formatted as a property.

I tried both examples in Safari too, and they both work perfectly. So, I guess it's either a very minor incompatibility with Chrome, or Chrome is just broken. If it's Chrome's fault, you can close this with no hard feelings. 😁

Here's a gist of the HTML I used to test it: https://gist.github.com/cariadeccleston/334c02fbc972f1271ded748a9ac4793e

Here's a screenshot of that HTML file open in Chrome (left) and Safari (right):

screenshot 2017-05-28 20 04 01

Thank you! 😁

Double "</script>" output in JS language

Hi,

with v2.7.0, when attempting to highlight JS code that is also enclosed in the "<script type="text/javascript">" and "</script>" lines, Enlighter is outputting the "</script>" part twice at the end. While those two lines are of course not technically JS code (but usually included), v2.6.0 of Enlighter could render it just fine. This would be a sample code that causes the issue:

<script type="text/javascript">
    window.addEvent('domready', function() {
        // highlight all pre tags
        $('pre').light({
            altLines : 'hover',
            indent : 2,
            editable: false
        });
    });
</script>

Kalydon

style advice

hi

In the attachment I am trying to show commands and the output response. However, I am not sure whether to use Enllighter to format the output response and if so, what you suggest. Alternatively I could use one of the Gutenberg block formats.
enlighter formatting issue

Any update on the top Enlighter menu changes btw?

Plugin could not be activated because it triggered a fatal error.

Hi,

After upgrading to Wordpress 3.8, updating the plugin to 1.6 triggers this:
""
Plugin could not be activated because it triggered a fatal error.
Parse error: syntax error, unexpected T_STRING in /homez.51/yayimorp/www/WordPress3/wp-content/plugins/enlighter/class/Enlighter.php on line 137

Thanks,
Raffi

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.