digital content lasts forever. — or five years, whichever comes first.
~Jeff Rothenberg, 1999
folderHorizon is a standalone program that reads the files contained in your folders and generates a publication in static HTML format. The result can be read either offline or online as a website and being static it is independent of databases or server-side scripting languages. This is a sustainable approach to preserve and easily distribute your content.
folderHorizon is designed for non-programmers and for anyone who needs to
consolidate their digital content into a readable and durable format.
No-Code! The programming is just to organize folders and files
and anyone with a computer is familiar with this primary archiving approach.
folderHorizon does all the rest of the work.
Uzip and run folderHorizon executable in its folder (double-click on Win and Mac [1]), it creates the folderHorizonWorks directory for your archives.
[1] Mac users info
[2] The tutorial archive is set at first run when no other archive is available.
Being editable, you can modify, waste or delete it.
If you want to recover it, just create a new archive named Tutorial.
Contacts folderhorizon@proton.me
The main interface are your folders where you organize the content.
The folderHorizon terminal shows simple menus that allows to select
actions, options etc. by typing a character or number then press Enter.
The terminal reads your folders and monitors your work and your default
browser displays the result in real time.
Main commands
When archive content is modified, press 'Enter' to update and view changes on page.
Other commands and options
An example with a working one and many archives
=========================================== folderHorizon Working on 'My Siberia' (456 MB) ======================================== v : view in browser r : release the final archive ==================================== c : enable empty caption files 3 other archives to build ======================================== 1 : Hugo Brain Website (3 MB) 2 : Wordpress Headache (701 MB) 3 : Wrong Photos (68 MB) ======================================== n : create a new archive q : quit the program ======================================== Type a command and press Enter :v
While editing HTML/Text in browser after build
=========================================== * Open 'My Siberia' folder to set your content * When done, type: * * r : to release the final archive * * q : to quit the program * =========================================== ...and press Enter :r
On archive folders/files changes...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Archive has been modified! Press Enter to updare changes. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There are two levels of folder in the archive directory: sections/ contain
projects/ that contains files and captions.
Unicode characters are supported in folder and file names.
Some characters or patterns like '@', 'number #' and '#priv'
are reserved for special functions (explained in this document).
* image jpg|jpeg|jpe|png|tif|tiff|bmp|pict|webp|gif|svg * video mp4|avi|mpg|mpeg|mkv|m2v|vob|oggvideo|mov|3gp|webm|wmv|flv * audio mp3|flac|wav|aif|aiff|ogg|m4a|aac * document any downloadable except for ones above and .txt files reserved for captions
The name of 'sections' and 'projects' folders it is used by the program to build menus with links to the content. You can make as many sections and projects as you want.
The files are read only at second level of project folders, files in section folder will be ignored by the program.
folderHorizon reads your archive tree in alphabetical order. You can change the order of folders and files by adding a prefix to their name. The prefix is a number followed by an hash symbol, example:
1 # Your file or folder name
2 # Another file or folder name
| it forces 'Another...' after 'Your...'
Leading zero numbers, 01, 001, 02 etc. and whitespaces before/after the
hash symbol are allowed.
The program trims the prefix keeping your sorting.
Some projects could have the same name/title with different versions or series.
Use the @ character as separator in the projects folder name so the page menu
can show them as a group.
Folders name:
My Project Title @ October Series My Project Title @ December Series
Menu:
My Project Title - October Series - December Series
Note: project folder name can contain only one @ character.
Any file can have a text caption with title and description.
When the "empty caption files" option is enabled, folderHorizon
creates an empty .txt file for each file in the same folder.
When disabled, you have to create manually your caption files.
The caption file has the same name (extension included) as the file it describes.
Example:
MyImageFile.jpg (your file) MyImageFile.jpg.txt (caption of file)
Open the .txt file with a simple text/code editor:
The first line is the title The other lines are the description of file content...
This option also supports a pre-formatted text template. A file named [CaptionsTemplate].txt placed in the archive folder will replace the 'empty' captions text.
folderHorizon automatically tries to extract the preview image from
your video files.
If it doesn't succeed, or if you do not like the result, you can set your .jpg image
in the same folder of video using a strategy similar to the captions:
name the image with the same name of your video (extension included) adding the suffix
-videoposter.jpg
MyVideoFile.avi (your video) MyVideoFile.avi-videoposter.jpg (video poster/preview) MyVideoFile.avi.txt (caption...)
The Search finds the text occurrences the HTML/Text pages, in the file captions and in the
[tags].txt files.
You can create a file named [tags].txt and write your tags/keywords in any context/folder.
example:
#wild#badgers#foxes#wolves
The search input accepts multiple words using the pipe character | a separator,
example: motorcycle|helicopter
folderHorizon creates the program and the archives configuration files with default values that can be modified. Configuration .json files contain "Key": "Value" data and they are editable with a simple text/code program. Just be careful not to break the double quotes and commas.
The configuration file created in each archive folder contains your archive preferences that you can customize.
Example with | notes { "ArchiveName": "Archive Name", "ArchiveDescription": "The description of this archive", "ArchiveKeywords": "A list of keywords about content", "ArchiveAuthor": "Your Name?", | All self-explaining HTML page metadata "ImageResizeHeight": "1200", | If needed, gallery images are resized by pixel height | To avoid the resize, just set a huge number "ThumbnailHeight": "400", | Thumbnail images resize, 300 to 500 should be ok "JPGQuality": "2", | Quality of resized Jpeg images, high to low: 2 to 5 "MP4Quality": "19", | Mp4 video quality, high to low: 18 to 24 "MP4Bitrate": "192", | Mp4 video/audio quality, high to low: 320|256|192|128 "MP3Bitrate": "192", | Mp3 audio quality, high to low: 320|256|192|128 "AudioWaveFormColor": "#333333", | The color of the audio waveform generated image | See class '.audio' in 'main.css' file "AssetDirectory": "asset-default" | The 'asset' directory name (see doc [asset-default].html) "EnableEmptyCaptions": false | Empty caption option enabled/disabled by terminal menu }
The program configuration file is created in the program directory at first run.
The program also create the directory for your works defined in "WorksPath".
If you want to move/rename the 'folderHorizonWorks' folder, you have to modify also the
"WorksPath" value.
Of course, you can use an external Disk Drive.
Important. Do not use whitespaces in "WorksPath" and do not rename its internal
folders: 'Archives' and 'Releases'.
Example { "WorksPath": "/Users/*yourname*/folderHorizonWorks", "ServicePort": "8080" }
The "ServicePort" 8080 should be ok by default. In case of error,
you can set 8000/9000/9090 etc.
The service allows to write the HTML/Text of the pages in browser and save it in
files named [text].html
The service also monitors the archive changes allowing to update and view in real time.
folderHorizon uses a static version (7.0.1) of FFmpeg
for media conversions.
It also creates video poster/preview and waveform pictures of audio files.
The ffmpeg static binary file is downloaded/extracted in resources/ffmpeg/
from:
We sincerely wish these three people and urls a long long life.
* Mac users need to force folderHorizon (and maybe ffmpeg)
because detected as "from an unidentified developer".
Just convince your Mac that as the owner, you decide.
Open System Settings. Click Privacy & Security, scroll down, and click the Open Anyway
button...
The warning prompt reappears and... you can click Open.
* Any report of malfunction is welcome and will be evaluated as soon as possible.
If you think you have a malfunction while updating changes in the archive, there is
an easy way to reset the building/updating:
* Do not open the archive links in "new browser tab" during the developement.
It affects the status/changes script.
The 'Search' page has no status/changes script so it opens result links in "new browser tab".
Is suggested to close the multiple tabs result when you modify the archive folders/files.
The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. in no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.