From 754938ca32ec2dfabf789af3a8d12e5a98868912 Mon Sep 17 00:00:00 2001 From: ville rantanen Date: Sat, 2 Oct 2021 12:04:23 +0300 Subject: [PATCH] simplewebage: include README.md --- web/SimpleWebPage.py | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/web/SimpleWebPage.py b/web/SimpleWebPage.py index a6ce4e3..d8946f2 100755 --- a/web/SimpleWebPage.py +++ b/web/SimpleWebPage.py @@ -14,11 +14,11 @@ import base64 import random from pprint import pprint -VERSION = "20210815" +VERSION = "20211002" IMAGE_EXTENSIONS = ["png", "gif", "jpg", "jpeg", "tif", "tiff"] AUDIO_EXTENSIONS = ["wav", "mp3", "ogg"] VIDEO_EXTENSIONS = ["mp4", "ogg", "webm"] -SAFE_OPTS = ("hidden","title","parent","recursive","images","media","includes") +SAFE_OPTS = ("hidden","title","parent","recursive","images","media","includes","no_readme") def setup(): """ Setup the command line options """ @@ -41,6 +41,13 @@ def setup(): default=False, help="Show hidden files", ) + parser.add_argument( + "--no-readme", + action="store_true", + dest="no_readme", + default=False, + help="Do not show README.md on the page", + ) parser.add_argument( "-t", type=str, @@ -90,7 +97,6 @@ def setup(): default=False, help="Make media playable", ) - parser.add_argument( "--include", "-i", @@ -207,6 +213,7 @@ def generate_index(opts): dirs.sort() files.sort() files.sort(key=lambda x: x.find("/") > 0) + readme = get_readme(path, opts.no_readme) with open(os.path.join(path, opts.filename), "wt") as f: f.write(get_header(opts)) if opts.parent: @@ -215,7 +222,7 @@ def generate_index(opts): f.write(get_pathlink(path, di)) for fi in files: f.write(get_filelink(path, fi, opts.images, opts.media)) - f.write(get_footer()) + f.write(get_footer(readme)) f.write(get_download_lines(files, recursive = opts.recursive)) f.close() return @@ -435,6 +442,14 @@ iframe { .replace("SECRET", secret, 1) ) +def get_readme(path, no_read): + + if no_read: + return "" + if not os.path.exists("README.md"): + return "" + with open("README.md", 'rt') as fp: + return "

README.md

{}
".format(fp.read().strip()) def get_header(opts): opts_str = setup2JSON(opts) @@ -782,6 +797,10 @@ function alternate(table) { margin: 0 0 0 70px; font-family: sans-serif; } + h2 { + padding: 10px 0 8px 0; + margin: 0 0 0 30px; + } .container { margin: 20px; box-shadow: 0 5px 10px -5px rgba(0,0,0,0.5); @@ -852,6 +871,9 @@ function alternate(table) { width: 320; height: 240; } + .container pre { + margin: 10px 10px 10px 10px; + } ''' header = ( @@ -884,9 +906,11 @@ function alternate(table) { return header -def get_footer(): - return """ -""" +def get_footer(readme): + return """{README} +""".format( + README = readme + ) def is_imagefile(fname):