#!/usr/bin/ruby # #Copyright 2022 Yessiest (yessiest@memeware.net) # #Licensed under the Apache License, Version 2.0 (the "License"); #you may not use this file except in compliance with the License. #You may obtain a copy of the License at # #http://www.apache.org/licenses/LICENSE-2.0 # #Unless required by applicable law or agreed to in writing, software #distributed under the License is distributed on an "AS IS" BASIS, #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #See the License for the specific language governing permissions and #limitations under the License. # Ruby CGI module to produce a directory listing of filterable content # Variables ROOT_PATH="/www/" DIR_PATH="/www/blog" EXTENSIONS=[".md"] TEMPLATE_PRE="template.pre.html" TEMPLATE_POST="template.post.html" TEMPLATE_CSS="template.css" # Script require 'cgi' $cgi = CGI.new("html5") template_css = "" template_pre = "" template_post = "" if File::exists?( ROOT_PATH+TEMPLATE_CSS ) then template_css = "\n" end if File::exists?( ROOT_PATH+TEMPLATE_PRE) then template_pre_f = File.new( ROOT_PATH+TEMPLATE_PRE, "r") template_pre = template_pre_f.read template_pre_f.close end if File::exists?( ROOT_PATH+TEMPLATE_POST) then template_post_f = File.new( ROOT_PATH+TEMPLATE_POST, "r") template_post = template_post_f.read template_post_f.close end def listdir(path) $cgi.ul { list = "" Dir.foreach(path) do |fname| if (not ([".",".."].include? fname)) and File.directory?(path+"/"+fname) then list = list+"\n"+ "