dotcomboom AutoSite

AutoSite is a static site generator for the desktop. It takes pages written in HTML or Markdown and puts them into your own templates. Its GUI makes it easy to jump in and start building your site without fiddling with the command line.

Features:

  • A user interface that's adjustable to suit your workflow, with a code editor that runs on computers new and old
  • Start page with recently opened sites
  • Quickstart dialog helps get you started
  • Powerful attributes system with conditional support
    • The Attribute Map lets you see your attributes at a glance and drag them into your open files
    • Quick Insert right in the editor (Ctrl+Space) to add attributes and perform actions even faster
  • CommonMark Markdown support
  • Optional command line version, for console or IDE usage

    "AutoSite Core.exe" D:\Sync\Programming\Web\dcb

  • Many other great features!

Requirements:

  • Bare minimum: Pentium-class processor, 32MB RAM (Pentium III or later, 128MB recommended minimum)
  • .NET Framework 2.0
  • Windows 98 to Windows 10

AutoSite interface

The AutoSite interface, with editor in tow.

More screenshots:

AutoSite interface, with Editor and Preview hidden

AutoSite, with the Editor and Preview panels closed. Use any IDE or editor you fancy.

AutoSite Core, building from the command line

AutoSite Core lets you build from cmd, a batch file or your preferred IDE.

What's New?

1.0 RC4:
   + Brand new Quick Insert menu, press CTRL+Space or CTRL+J in the editor or click on the new icon in the toolbar
   + Editor's auto indent will no longer affect existing lines
   + Optimizations under the hood for the main program
   + Folder icon changed
   + Windows 98 compatibility has been greatly improved
   + 1px white border around the Build toolstrip has been fixed
   - Open panels are now saved correctly
   - System default font (typically Tahoma) is now used in the interface if Segoe UI is not available
   - Bug fixes pertaining to how the editor reacts to deleted/renamed files
   - Double-clicking a file in the Explorer while the Editor panel is closed will open it in its default program
   - Wording in the Sanitary Build message box and Insert Conditional window has been revised
   - Build buttons are disabled while a build is in progress
   - Dragging Markdown pages from the explorer into the editor will give the correct html extension now

Thanks for using AutoSite! If you have any feedback for upcoming releases, let me know, either by email or an issue on the GitHub repository.

Devlogs and posts

These are informal updates I put up on my blog occasionally while working on (or with) AutoSite.

RSS RSS Feed

Even earlier:

Specs Sheet

A site built with AutoSite is comprised of three folders:

  • A pages folder:
    • Pages make up the site's content. These can be HTML, Markdown, or PHP.
    • Markdown pages will be output as HTML.
  • A templates folder:
    • The Templates folder stores HTML-based templates for AutoSite to slot pages into.
    • Most sites only need default.html, but should you desire to, multiple templates is possible.
  • And an includes folder:
    • Site assets, such as css stylesheets, js scripts, images, sounds, etc. go here. These are not modified by AutoSite, and instead just copied over.
    • Both the includes folder and pages folder merge into the same file structure.

AutoSite allows you to use these two concepts to make your sitebuilding easier:

  • Attributes
    • In a page, you can define attributes with comment lines, like <!-- attrib title: AutoSite -->.
    • These can be referenced anywhere in templates or pages with the form [#title#].
    • There are multiple special attributes as well built-in.
      • [#content#], the page's content. Everything in this page is a part of it.
      • [#path#], the relative path of the page from root, or for example, software/autosite/index.md.
        • You may notice that for Markdown-based pages, the path is not of the outputted HTML page.
      • [#root#], the relative path to root, or for example, ../../. This is used to link stylesheets, images and files in templates and pages.
      • [#modified#], the date the file was last modified, in the computer's format. In this page's case, 8/24/2020.
      • [#template#], a definable attribute that determines the template being used by the page. For example, this page uses the template default.
  • Conditionals
    • Within templates and pages, conditionals can be used to compare an attribute to a specific value.
    • A conditional is written on a single-line, and is written like this:
      • [path=software/autosite/index.md]You are on the AutoSite page.[/path=]
      • [path!=software/autosite/index.md]You are not on the AutoSite page.[/path!=]
    • Having no value is equivalent to the attribute being empty or inexistent. This can be used for simple booleans.
      • [project!=]This page is a project page.[/project!=]
        • Where this would show, the page would have a line like <!-- attrib project: ... -->
        • It doesn't matter what ... is for this to work, just that there is something there. You can use true, yes, or in the case of this page AutoSite, as it is used in other conditionals as well.
      • [project=]This page is not a project page.[/project=]
        • Where this would show, the page would not have a line like <!-- attrib project: ... -->

This page was last modified 8/24/2020.

XXIIVV Webring