• Executing plugin logs when there are no plugins removed.
  • Readme Improved


  • Plugins can now export beforeHTMLWrite function


  • Abell now looks for other ports when 5000 is taken
  • Tests for Dev Server 🎉

(Thanks to #64 by @pantharshit00)

0.4.0 (Includes BREAKING CHANGES)

Breaking Changes

  • In abell.config.js,
    • sourcePath changed to themePath
    • destinationPath changed to outputPath
  • Internally (and for plugins) programInfo.abellConfigs changed to programInfo.abellConfig
  • In folder structure, [$path] changed to [path]
  • All variables will now be inside Abell object.
    • globalMeta -> Abell.globalMeta
    • $contentArray -> Abell.contentArray
    • $root and $path -> Abell.$root and Abell.$path
  • A lot of things in programInfo variable of plugins changed
  • Dropped support for automatic prefixing of paths (it was super buggy)

Non-breaking Changes

  • Added createContent function for beforeBuild plugins that lets plugin developers create source plugin with ease.
  • Added support for HTML content in source plugins.
  • Abell Components 🌻
  • Abell Bundlerrrrr 🎉
  • Abell.$root value fix for Windows
  • Stack trace in errors
  • You can now .map to loop without .join in the end. Arrays will be turned into strings by default.
  • Other minor bug fixes

Changes in Abell Renderer

Along with v0.4.0, we also released v0.2.0 of Abell Renderer. The changes are mentioned in abell-renderer


  • Single port dev-server (#55)
  • typedefs added to export for plugins
  • Understandable message when markdown path does not exist (Thanks to @judicaelandria for #48)
  • Contributing steps in README update (by @smaranjitghose in #50)


  • Auto-linking removed. (The library used was too heavy (20kb). Need to find alternative)


  • Markdown anchors fix to match's markdown syntax.
  • Auto-linking of URLs added.


  • Support for async plugins (with the help of @anuraghazra)
  • Tests Refactor (Migration to Cheerio based tests)



  • Run bug fix when content is empty (by @Judionit)
  • Complete refactor and added e2e tests


  • We now support plugins 🎉 Example: (Issue #15)
  • Nested folders in content now maintain structure (Resolved Issue #19)
  • BREAKING CHANGE All assets should be inside content/<slug>/assets/ folder (#22)
  • Keeping dev-server alive when not defined errors occur (Patially fixes #16)
  • Keeping dev-server alive when new blog added/deleted (Fixed #23)
  • Refresh cache in dev-server to avoid display of old data (#26)
  • Crash on content/ change fix (Issue #21)
  • Removed ignoreInDist, will be auto-calculated depending on which files are required (Resolves #25)
  • Refactoring
  • Ability to change socket ports with abell serve --socket-port 3000 --port 5000
  • BREAKING CHANGE ./theme/[$slug]/index.abell changed to ./theme/[$path]/index.abell
  • Fix of nested .abell files in theme
  • Added $root to global variables in all .abell files.
  • Multiple templates (Resolved #31)


  • Way to overwrite $createdAt and $modifiedAt values from meta.json in content. Resolved #14

0.2.19 [Not Released on NPM]


  • BUG FIX Caching of files required from .abell files during dev-server fixed. Now Auto-refresh will work on required files as well.


  • Having content directory is no more neccessary. Ability to build a static site which is not dependent on markdown content.


  • Fix for dev-server not having right content-type of .mjs files.


  • Having [$slug]/index.abell is no more neccessary.


  • Prefetch now recognizes the links that are preloaded in the next page.


  • Forgot to add .vscode to npmignore in last update and my vscode configs went with the package 😭😭


  • Added as=<type> to prefetched links during build-time


  • Building all .abell files inside theme folder. (Thanks to @akash-joshi for PR #12)
  • BREAKING CHANGE Dropping option of templateExtension from abell.config.js
  • Tiny Refactor og ignoring files flow.


  • MAJOR UPDATE: Website Performance Improvements All links from content's template will be prefetched on the index page.


  • Secretly supporting ignoreInBuild option in abell configs to remove files from destination (can be used to ignore files that are only required in build time)


  • BREAKING CHANGE Paths in require are now relative to the respective .abell files.


  • BREAKING CHANGE Default sourcePath changed from src to theme
  • Documentation update


MAJOR UPDATE: Build Performance Improvements

  • browser-sync removed from dependency
  • New faster dev server written from complete scratch.


  • Migrated from markdown-it package to remarkable


  • Build adds id to Markdown to HTML rendered content.


  • BREAKING CHANGE $contentList changed to $contentArray
  • Refactoring of how variables are handled internally
  • $contentObj and $slug variables added
  • BREAKING CHANGE template/content.abell changed to [$slug]/index.abell


  • BREAKING CHANGE Syntax for importing content changed.
\{{ import_content '\{{meta.$slug}}/' }}


    $importContent(meta.$slug + '/');


  • BREAKING CHANGE Default folder to read content template changed from [content]/index.abell to template/content.abell.
  • Build time reduced. (Pre-calculating directories and contentList before execution)
  • More accurate Build times.
  • Error handling on Build Failures.
  • Documentation design updates.


Migration to abell-renderer v0.1.0

...Detailed ChangeLog at abell-renderer v0.1.x Changelog


Added build time to logs


  • Documentations Fixes #6 (Thank you @0xflotus)
  • Fixed #5 (dev-server content going blank issue 🎉💃)


Directory listing fix for node v8 (#3 by @Pika1998)


  • A little more stable API (still not final though)
  • Migration from Mustache to Abell Renderer
  • Ability to write JS in HTML inside \{{, }} tags

< v0.1.11

  • Experimented stuff..