Coder Social home page Coder Social logo

docpad-plugin-highlightjs's Introduction

DocPad. Streamlined web development.

Travis CI Build Status NPM version NPM downloads Dependency Status Dev Dependency Status
GitHub Sponsors donate button Patreon donate button Flattr donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button Wishlist browse button

Hi! I'm DocPad, I streamline the web development process and help close the gap between experts and beginners. I've been used in production by big and small companies for over a year and a half now to create plenty of amazing and powerful web sites and applications quicker than ever before. What makes me different is instead of being a box to cram yourself into and hold you back, I'm a freeway to what you want to accomplish, just getting out of your way and allowing you to create stuff quicker than ever before without limits. Leave the redundant stuff up to me, so you can focus on the awesome stuff.

Discover my features below, or skip ahead to the installation instructions to get started with a fully functional pre-made website in a few minutes from reading this.

Watch the Screencast!

Features

Out of the box

  • Completely file based, meaning there are no pesky databases that need to be installed, and for version control you get to use systems like Git and SVN, which you're already used to (You can still hook in remote data sources if you want, DocPad doesn't impose any limits on you, ever)
  • Choose from plenty of community maintained pre-made websites to use for your next project instead of starting from scratch every time
  • Write your documents in any language, markup, templating engine, or pre-processor you wish (we're truly agnostic thanks to your plugin system). You can even mix and match them when needed by combining their extensions in a rails-like fashion (e.g. coffee-with-some-eco.js.coffee.eco)
  • Changes to your website are automatically recompiled through our built-in watch system
  • Add metadata to the top of your files to be used by templating engines to display non-standard information such as titles and descriptions for your documents
  • Display custom listings of content with our powerful Query Engine available to your templating engines
  • Abstract out generic headers and footers into layouts using our nested layout system
  • For simple static websites easily deploy your generated website to any web server like apache or github pages. For dynamic projects deploy them to servers like heroku to take advantage of custom routing with express.js. Deploy guide here
  • Built-in server to save you from having to startup your own, for dynamic deployments this even supports things like clean urls, custom routes and server-side logic
  • Robust architecture and powerful plugin system means that you are never boxed in. Unlike traditional CMS systems, you can always extend DocPad to do whatever you need it to do, and you can even write to bundle common custom functionality and distribute them through the amazing node package manager npm
  • Built-in support for dynamic documents (e.g. search pages, signup forms, etc), so you can code pages that change on each request by just adding dynamic: true to your document's meta data (exposes the express.js req and res objects to your templating engine)
  • You can use it standalone, or even easily include it within your existing systems with our API

With our amazing community maintained plugins

  • Use the Live Reload plugin to automatically refresh your web browser whenever a change is made, this is amazing
  • Pull in remote RSS/Atom/JSON feeds into your templating engines allowing you to display your latest twitter updates or github projects easily and effortlessly using the Feedr Plugin
  • Support for every templating engine and pre-processor under the sun, including (but not limited to) CoffeeScript, CoffeeKup, ECO, HAML, Handlebars, Jade, Less, Markdown, PHP, Ruby, SASS and Stylus - the full listing is here
  • Use the Partials Plugin to abstract common pieces of code into their own individual file that can be included as much as you want
  • Syntax highlight code blocks automatically with either our Highlight.js Plugin or Pygments Plugin
  • Get SEO friendly clean URLs with our Clean URLs Plugin (dynamic deployments only)
  • Lint your code automatically with our Ling Plugins: jshint and coffeelint
  • Concatenate and minify your JavaScript and CSS assets making page loads faster for your users with our Minify Plugins: htmlmin and grunt
  • Install common javascript libraries like jQuery, Backbone and Underscore directly from the command line - (under construction, coming soon)
  • Automatically translate your entire website into other languages with our Translation Plugin - under construction, coming soon
  • Add an admin interface to your website allowing you to edit, save and preview your changes on live websites then push them back to your source repository with the Admin Plugins
  • Pretty much if DocPad doesn't already do something, it is trivial to write a plugin to do it. DocPad can accomplish anything; it never holds you back, and there are no limits.
  • Many other plugins not listed here that are still definitely worth checking out! :)

People love DocPad

All sorts of people love DocPad, from first time web developers to even industry leaders and experts. In fact, people even migrate to DocPad from other systems as they love it so much. Here are some our favourite tweets of what people are saying about DocPad :)

Some favourite tweets about DocPad

Install

Click here for our latest Install Instructions.

Quick Start

Click here to skip ahead to our latest Quick Start Guide.

What next?

Here are some quick links to help you get started:

History

Discover the release history by heading on over to the HISTORY.md file.

Contribute

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

Backers

Maintainers

These amazing people are maintaining this project:

Sponsors

These amazing people have contributed finances to this project:

Become a sponsor!

GitHub Sponsors donate button Patreon donate button Flattr donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button Wishlist browse button

Contributors

These amazing people have contributed code to this project:

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

Participants

Also thanks to all the countless others who have continued to raise DocPad even higher by submitting plugins, issues reports, discussion topics, IRC chat messages, and praise on twitter. We love you.

License

Unless stated otherwise all works are:

and licensed under:

docpad-plugin-highlightjs's People

Contributors

balupton avatar chase avatar delapouite avatar iammerrick avatar mathiasbynens avatar robloach avatar troykershaw avatar vsopvsop avatar

Stargazers

 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

docpad-plugin-highlightjs's Issues

Strict dependency to highlight.js

Is there a good reason that the plugin has such a strict dependency on highlight.js (~8.0.0.)? I would like to use version 8.3.0 because it adds support for PowerShell syntax, but I can't without the plugin being updated.

According to semantic versioning there should be no breaking changes in highlight.js even if the plugin required ^8.0.0.

It would be great if a new version of the plugin would be released soon which required either ~8.3.0 or ^8.0.0. Is this a possibility or will I have to find a workround (create a custom version of the plugin or use npm shrinkwrap)?

Plugin overrides own classes for pre

It appears to me that the plugin overrides other classes of the pre tag when generating.

Especially when using the bootstrap class .pre-scrollable it is a little annoying that all original classes are stripped off the <pre> tag.
Im not sure if this also applies to classes of the original <code> tag.

Example:

<pre class="pre-scrollable">
    <code class="lang-json">
{
    "foo": 1
}
    </code>
</pre>

Should generate into:

<pre class="pre-scrollable highlight">
    <code class="json">
{
    "<span class="attribute">foo</span>": <span class="value"><span class="number">1</span></span>
}
    </code>
</pre>

But instead generates into:

<pre class="highlight">
    <code class="json">
{
    "<span class="attribute">foo</span>": <span class="value"><span class="number">1</span></span>
}
    </code>
</pre>

If this is the intended behavior i apologize for bothering you, but if not it may be important for more people than me.

Update to new Highlight version.

Would be great if the version of Highlight.js was updated to the latest (8.6) as it fixes several bugs with Java & Javascript rendering.

First 4 spaces not recognized

When I write my code in markdown, and I indent it 4 spaces, the highlight code does not show the indent. If I indent my code 6 spaces, it shows the code indented 2 spaces. If I indent my code 8 spaces, it shows the code indented 4 spaces. It seems like the first 4 spaces are ignored. Is this done on purpose? My guess is that because the code is wrapped in a code block, the examples shown don't indent out 4 spaces like you would do in markdown...which is why the 4 spaces are ignored?

Use .hljs rather than pre code

It looks like in a recent commit of hilightjs they have moved from using <pre><code> to a class .hljs. All of the stylesheets have already been moved over but in the plugin I'm still getting the <pre><code> syntax so it's not working as intended for me.

Support transforms after the highlight

I like the transforms hook this plugin exposes, but I need something after the code generation. My use case is that I want to add line numbers to the generated code–a feature that Highlight.js doesn't have.

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.