Coder Social home page Coder Social logo

enlighterjs / documentation Goto Github PK

View Code? Open in Web Editor NEW
14.0 3.0 8.0 2.13 MB

:pencil: EnlighterJS3 Documentation including all plugins

Home Page: https://enlighterjs.org

License: Other

HTML 100.00%
documentation enlighterjs docs tweaks markdown enlighterjs-documentation enlighterjs3-documentation wordpress-plugin tinymce-plugin

documentation'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

documentation's People

Contributors

andidittrich avatar geoffreygarrett avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

documentation's Issues

Escape problem for a shell command

The shell command:

latestVer=$(curl -s 'http://nginx.org/en/download.html' | sed 's/\'$'\n''</g' | sed -n '/Stableversion$/,$ p' | egrep -m1 -o '/download/nginx-.+\.tar\.gz')

was translated to:

latestVer=$(curl -s 'http://nginx.org/en/download.html' | sed 's/<!--\'$'\n''</g' | sed -n '/-->Stableversion$/,$ p' | egrep -m1 -o '/download/nginx-.+\.tar\.gz')

Any workaround?

Thanks.

Not displaying <!doctype html>, <html>, and <head>

When trying to place code with these tags, they are excluded. Also, when is used, it will overwrite previous links. For example, I have stylesheets linked. But when linking stylesheets between the pre tags, these stylesheets will overwrite the others if they have the same class names.

How to add an external DIV class?

Hello, I am using this plugin on Wordpress now, but the code format generated by the plugin is:
.
.
.
&#60;div class="enlighter-default ...">...&#60;/div>
&#60;pre class=''EnlighterJSRAW enlighter-origin'>...&#60;/pre>
.
.
.
, for better layout, I want to add a div outside, like this:
.
.
.
&#60;figure class="...">
&#60;div class="enlighter-default ...">...&#60;/div>
&#60;pre class=''EnlighterJSRAW enlighter-origin'>...&#60;/pre>
&#60;/figure>
.
.
.
May I ask what should be done?

您好,我现在是在Wordpress上使用该插件,但插件生成的代码格式是:
.
.
.
&#60;div class="enlighter-default ...">...&#60;/div>
&#60;pre class=''EnlighterJSRAW enlighter-origin'>...&#60;/pre>
.
.
.
,为了更好的排版,我想在外部加一个div,类似这样:
.
.
.
&#60;figure class="...">
&#60;div class="enlighter-default ...">...&#60;/div>
&#60;pre class=''EnlighterJSRAW enlighter-origin'>...&#60;/pre>
&#60;/figure>
.
.
.
可以问下应该怎么做吗?

Issues with enlighter-wp-plugin-integration.md

Hi

I am fairly technical ( as I work in IT) but this baffled me a bit as these instructions seem difficult to follow.

Experimental EnlighterJS3 Integration into Enlighter WordPress Plugin v3
Targeted to advanced users only! I think you mean PHD students!!!

Enlighter Plugin Settings
WordPress Backend -> Enlighter -> Options -> Resources and CDN

Include Enlighter-CSS : DISABLE
Include Enlighter-Javascript : DISABLE
Include External Themes : DISABLE
MooTools Framework Source: "NOT INCLUDE"
Enlighter Config: "NOT INCLUDE"

Q: In my world, I don't see any wordpress backend so just /public_html and beyond . So none of the above seem obvious in either the Enlighter Options page or when I browse the plugin with FileZilla

Add EnlighterJS3 Resources to your Theme

Q: If you are referring to enlighterjs.min.css and enlighterjs.min.js , then surely you mean I replace the relevant files in the /resources folder

Upload the enlighterjs resources to your theme and include them.

Q: again why would I want be hacking my theme. I would have thought there is away for the existing Enlighter Plugin to include the files it needs as part of Enlighter3 JS RC1

Header Code

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

Footer Code

<!-- EnlighterJS -->
<script type="text/javascript" src="enlighterjs.min.js"></script>

<!-- Init Code -->
<script type="text/javascript">
    // special Enlighter Plugin Init Code
    EnlighterJS.init('pre.EnlighterJSRAW', 'code.EnlighterJSRAW');
</script>

Modify Enlighter Plugin Language+Theme Lists
You have to override the Language + Theme Lists with the current available ones!

_Q: are you referring to the current version of the Enlighter Plugin? If so a better approach would be to see dir/file and locate lines xxxx and replace with yyyyy _

Themes Languages

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.