htmlc 1.0.52

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global htmlc --version 1.0.52
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local htmlc --version 1.0.52
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=htmlc&version=1.0.52
nuke :add-package htmlc --version 1.0.52

html-compiler-tool

html-compiler-tool

.NET Version License Build Downloads NuGet

Lines of Code Vulnerabilities

buy me a coffe

This is the HTML Compiler Tool for your cli. htmlc is a small tool with which very easily static HTML files from various HTML components, including layout files and reusable HTML blocks (such as header, footer, etc.) from separate HTML files. The result is written to a complete and finished HTML file. Sass/SCSS compilation is also supported (the path to generated CSS file is then written into the HTML file). In the end you don't have to touch the generated html files.

installation and update

first: install the .NET Runtime

you need to install the .NET Runtime (its free and available for macos, linux and windows)

then: install the tool

then you can install the html-tool very simple via this command:

dotnet tool install --global htmlc

update the tool

dotnet tool update --global htmlc

usage

The compile process searches in the folder for all HTML files. All files that do NOT start with an underscore are compiled. Files with an underscore (for example _layout.html or _footer.html) are used as reusable components.

html files

different html types

entry html

The compiler searches for all HTML files which do NOT start with an underscore (index.html, a-page.html, etc.). files like _layout.html, footer.html, etc. are ignored.

for example:

/src/index.html<br /> /src/pages.html<br /> /src/components/buttons.html<br />

layout

The layout file must start with an underscore. The rest of the naming is up to you. the content consists of reusable layout in HTML (styles and scripts, header, navigation, etc.).

for example:

/src/_layout.html<br />

reusable components

In addition, you can use other recyclable components. The file name must start with an underscore. The rest of the naming is up to you.

for example:

/src/_navigation.html<br /> /src/_header.html<br /> /src/_footer.html<br />

supported tags and its functionality

@Layout

The @Layout tag is used in an HTML entry file to specify which layout file is to use.

@Body

The @Body tag determines in a layout file where the content from the actual HTML entry file is written.

@File

You can include another file with the @File tag in any HTML file (whether layout file. reusable file or entry file).

@StylePath

htmlc can also compile style files (scss or sass). the path of the compiled CSS file can be inserted using this @StylePath tag. The following usage makes sense:<br /> <link rel="stylesheet" href="@StylePath"><br />

getting started with your own project

  1. create a directory with two subdirectories /src and /dist. All project files must be stored under /src. The compiler writes the results under /dist.
  2. create an initial entry file index.html.
  3. create a layout file _layout.html.
  4. write the following basic HTML structure in the _layout.html file.<br /> <html><br /> <head><br /> </head><br /> <body><br /> @Body<br /> </body><br /> </html><br />
  5. write the following example in index.html.<br /> @Layout=_layout.html<br /> <section><br /> <div>Hello again</div><br /> </section><br />
  6. open the console of your choice and change to the project directory. (/src and /dist must be in it).
  7. type the following command:<br /> htmlc compile<br />
  8. under /dist should now appear a file index.html with the following content:<br /> <html><br /> <head><br /> </head><br /> <body><br /> <section><br /> <div>Hello again</div><br /> </section><br /> </body><br /> </html><br />

commands

config

With this command, the user configuration, which is located in the user directory as a .htmlc file (e.g. /Users/lk-code/.htmlc), can be edited. The file is hidden per default. all (!) html-files a always blocked, the compiler copies the result to the output-directory.

build-blacklist

With this command, a file type (e.g. *.png) can be blocked for the compilation process so that no files of this type are copied into the output directory during the asset copying process.

htmlc config build-blacklist <add|remove> {fileextensions}

examples:

htmlc config build-blacklist add .png this command adds a block for all .png-files

htmlc config build-blacklist remove .png this command removes the entry for .png-files so all png files are copied.

compile

This command compiles all HTML files from the /src (rekusriv) folder and writes the results to /dist.

htmlc compile <project-directory>

If only one path is specified, htmlc searches for /src and /dist in this directory. If these do not exist, then they are created. Then htmlc searches for files in /src and writes the results to the /dist directory. If no path is specified, then htmlc searches for /src and /dist in the current folder.

project-directory (optional): the path to the project directory. for example: /path/to/project

htmlc compile <source-directory> <output-directory>

If two folders are specified, then htmlc uses the first value as the source path and the second value as the output paths.

source-directory (optional): The path to the source directory (equivalent to /src). for example: /path/to/project/src

output-directory (optional): The path to the output directory (equivalent to /dist). for example: /path/to/another/directory/output

htmlc compile [...] [-s --style {path/to/main.scss}]

Optionally, a relative path to the style entry file can be specified with -s or -style. the path to the style file must be specified relative to the /src directory. the relative path to the final css-file is written to the @StylePath-tags.

watch

This command compiles all HTML files from the /src (rekusriv) folder and writes the results to /dist. then /src is observed for changes and recompiled whenever a change is made.

htmlc watch <project-directory>

The watch command is identical to the compile command. The only difference is that the watch command observes the directory after the first compile and restarts the compile process every time a change is made.

project-directory (optional): the path to the project directory. for example: /path/to/project

htmlc watch <source-directory> <output-directory>

If two folders are specified, then htmlc uses the first value as the source path and the second value as the output paths.

source-directory (optional): The path to the source directory (equivalent to /src). for example: /path/to/project/src

output-directory (optional): The path to the output directory (equivalent to /dist). for example: /path/to/another/directory/output

htmlc watch [...] [-s --style {/path/to/main.scss}]

Optionally, a relative path to the style entry file can be specified with -s or -style. the path to the style file must be specified relative to the /src directory. the relative path to the final css-file is written to the @StylePath-tags.

notices

this tool uses:

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
1.0.156 554 12/3/2023
1.0.155 202 11/8/2023
1.0.154 317 11/6/2023
1.0.153 252 11/6/2023
1.0.149 221 10/10/2023
1.0.148 182 10/9/2023
1.0.147 149 10/6/2023
1.0.146 148 10/6/2023
1.0.145 175 10/4/2023
1.0.144 233 9/28/2023
1.0.143 183 9/28/2023
1.0.142 181 9/27/2023
1.0.141 265 9/27/2023
1.0.140 166 9/27/2023
1.0.139 190 9/24/2023
1.0.137 179 9/23/2023
1.0.136 226 9/19/2023
1.0.135 160 9/19/2023
1.0.133 201 9/19/2023
1.0.132 253 9/19/2023
1.0.131 154 9/19/2023
1.0.128 227 9/17/2023
1.0.124 161 9/7/2023
1.0.121 229 9/6/2023
1.0.117 193 8/27/2023
1.0.115 616 8/11/2023
1.0.114 564 8/2/2023
1.0.112 424 7/29/2023
1.0.109 454 7/26/2023
1.0.107 404 7/26/2023
1.0.106 419 7/24/2023
1.0.72 744 2/17/2023
1.0.70 579 2/17/2023
1.0.69 723 2/17/2023
1.0.68 661 2/17/2023
1.0.66 671 2/17/2023
1.0.64 627 2/10/2023
1.0.63 721 1/23/2023
1.0.62 821 1/23/2023
1.0.61 805 1/23/2023
1.0.60 830 1/23/2023
1.0.59 678 1/23/2023
1.0.58 686 1/21/2023
1.0.57 719 1/21/2023
1.0.56 779 1/21/2023
1.0.55 635 1/21/2023
1.0.54 723 1/21/2023
1.0.53 622 1/21/2023
1.0.52 693 1/21/2023
1.0.51 779 1/6/2023
1.0.50 667 1/6/2023
1.0.49 812 1/5/2023
1.0.48 759 1/5/2023
1.0.47 800 1/5/2023
1.0.46 849 1/5/2023
1.0.45 809 1/5/2023
1.0.44 879 1/5/2023
1.0.43 890 1/4/2023
1.0.42 785 1/4/2023
1.0.41 876 1/4/2023
1.0.40 809 1/4/2023
1.0.39 830 1/4/2023
1.0.38 858 1/4/2023
1.0.37 791 1/4/2023
1.0.36 780 1/4/2023
1.0.35 773 1/3/2023
1.0.34 843 1/3/2023
1.0.33 876 1/3/2023
1.0.32 846 1/3/2023
1.0.31 745 1/2/2023
1.0.30 742 1/2/2023
1.0.29 740 1/2/2023
1.0.28 801 1/2/2023
1.0.27 850 1/1/2023
1.0.26 811 1/1/2023
1.0.25 764 1/1/2023
1.0.24 767 1/1/2023
1.0.23 702 1/1/2023
1.0.22 757 1/1/2023
1.0.21 703 1/1/2023
1.0.20 720 1/1/2023
1.0.19 320 12/31/2022
1.0.18 303 12/31/2022
1.0.17 322 12/31/2022
1.0.16 319 12/31/2022
1.0.15 295 12/29/2022
1.0.14 291 12/28/2022
1.0.13 312 12/28/2022
1.0.12 320 12/20/2022
1.0.11 394 11/4/2022
1.0.10 388 11/1/2022
1.0.9 371 11/1/2022
1.0.8 403 10/31/2022
1.0.6 389 8/21/2022
1.0.4 385 8/18/2022
1.0.3 394 8/17/2022
1.0.2 394 8/17/2022
1.0.0 390 8/17/2022