Published 2020-10-03.
Last modified 2023-05-18.
Time to read: 1 minutes.
This page is part of the
jekyll_plugins
collection.
This Jekyll tag plugin ists the names and contents of each file in a tar
file.
Installation
-
Install
libmagic
.
Ubuntu & WSL$ yes | sudo apt install libmagic-dev
macOS$ brew install libmagic
-
Add the following to
Gemfile
:
Gemfilegroup :jekyll_plugins do gem 'jekyll_archive_display' end
-
Add the following to
_config.yml
:
_config.ymlplugins: - archive_display
-
From your Jekyll site's top-level directory, type:
Shell$ bundle
- Restart Jekyll.
Syntax
HTML or markdown syntax
{% archive_display /relative/or/absolute/path/to/filename.tar %}
Output
For each text file within the tar file, the following HTML is generated:
Generated HTML
<div class='codeLabel'>{entry.full_name}{entry.mime_type}</div> <pre data-lt-active='false'>{tar_entry.file_contents}</pre>
Sample CSS
.codeLabel { color: white; background-color: #666; margin-bottom: 0; padding-bottom: 0; padding-left: 1em; } .codeLabel+pre { margin-top: 0; } .codeLabel, pre { font-family: Monaco,"Bitstream Vera Sans Mono","Lucida Console",Terminal,monospace; font-stretch: semi-condensed; } pre { background: #78B4DB21; border: solid 1px #cecece; overflow: auto; padding: 4px; text-indent: initial; text-shadow: none; } pre { font-size: 11pt; margin-bottom: 30px; margin-left: 0; margin-right: 0; }
Using the above CSS, text files within a tar file are displayed like this:
my_script.sh (text/x-shellscript; charset=us-ascii)
#!/bin/sh echo "Hello, world"
Binary files are displayed like this:
usr/bin/ruby2.7 (application/x-sharedlib; charset=binary)
Binary file