How it works

If you use themes it copies the necessary files and directories for the basic look of your site (_tpl and _dist/public)

Compiling/Concatenating CSS

Compiling/Concatenating the JavaScript

Searching for Markdowns and converting them to a beautifully looking web pages

Copying all the folders that are non underscore prefixed to the destination directory (by default _dist).

If set the layout varialbe, Techy reads the file and replaces <% get('content') %> with your content. It also executes the expressions in the code. There are bunch
of features that you may use. Like for example importing partials or executing your own methods.

By default Techy doesn't provide any visual look of your markdown files. But if you want to have one use techy --theme default which will place the needed files in your _dist directory.
After that you have to set layout: _tpl/layout.html in your markdowns in order to get the default HTML markup applied.

Input and Output

There are several arguments that you can pass to Techy. Two of them are --src and --dest. By the default the source directory is the one which you run the techy command
from. The destination of the compiled files is by default set to _dist directory. All the folders that start with underscore are not processed and they are not copied to the _dist directory.
The others are duplicated there. Here is an short example. Let's say that we have the following file structure:

The function that is exported should return an object. The properties of that object are defined as global variables in your pages. If you don't want to use a file with name TechyFile.js you may pass
--config
parameter. Like for example

techy --config ./options.js

There are few properties which have special meaning.

css - it defines the used CSS preprocessor. Read more about this here.

js - it defines the JavaScript preferences. Read more about this here.

this keyword inside the function points to the page. So, all the methods which you normally use in the Markdown file are available.

Using Yaml Front Matter

If you ever used Jekyll you are probably familiar with Yaml Front Matter. It gives you the ability to define settings for the current page. All you have to do
is to put some Yaml in the beginning of the file wrapped in ---. For example:

__dirname + '/docs' is the directory which you want to be processed by Techy.

The second parameter is a function which is called once the module finishes its initial compilation. It's called with the context of the main's Techy class and there are few functions which you may use:

Process non-markdown files

The library could process not only Markdown, but any other file. However, you should describe these files in the TechyFile.js file. The rule is that Techy removes the extension
of your file and saves a new one with the new content. For example: