Skip to content
/ ssi Public

A script to interpolate server-side includes of HTML files — forked from https://github.com/mentalblock/ssi

License

Notifications You must be signed in to change notification settings

duckdalbe/ssi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Server Side Includes Script

This script will read HTML files and interpolate the server-side include statements. This was created so that web sites that are almost completely static can have their includes processed before being uploaded to a static site service like Amazon's S3.

Information about server-side includes can be found at the httpd or nginx website. The only SSI command supported at this time is include.

The processing is recursive so please avoid circular includes.

The work was inspired by the rbssi script.

Installation

  • gem install ssi

Usage

See the help message for the options:

# /usr/bin/ssi --help

If the inplace option is not specified, the resultant content will be printed to standard out as a preview. No files are altered in this mode.

We will usually modify the files inplace. This will be done like so:

# /usr/bin/ssi -i 'orig' file1 file2

This will modify file1 and file2 after making a backup of each file with the .orig extension. Use the empty string '' if you do not want to make backups. CAUTION: The inplace option will overwrite the backup if run consecutively!

When processing the server-side includes for a many files under the current directory, I use a combination of find and xargs:

# find . -type f -name "*html" -print0 | xargs -0 /usr/bin/ssi -i ''

To Do

  • Tests

Bugs

  • This gem was not thoroughly tested. More testing is in progress.

Found a bug?

Contact

  • Mail

    bwong114 [at] gmail.com

About

A script to interpolate server-side includes of HTML files — forked from https://github.com/mentalblock/ssi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages