diff --git a/qsgen2 b/qsgen2 index d89b8bf..55e1de2 100755 --- a/qsgen2 +++ b/qsgen2 @@ -58,8 +58,6 @@ if ! $found; then echo "Language file '${language}' not found in fpath." # Fallback or error handling fi -#echo "Language loaded: ${language}" -#echo "Localization array contents: ${(@kv)qsgenlang}" if (${globaldebug}); then qsconfig=$( cat $(pwd)/config | grep -v \# | awk '{print substr($0, index($0, " ") + 1)}' ) @@ -166,9 +164,10 @@ function _run_engine() { if [[ ${generator} == "native" ]]; then ${engine} ${1} elif [[ ${generator} == "markdown" ]]; then - echo ${1} | ${engine} ${engine_opts} + echo "${1} | ${engine} ${engine_opts}" else - echo "Usage: _run_engine " + _msg debug "ERROR running engine: ${engine}!" + _msg info "Usage: _run_engine " exit fi } @@ -185,7 +184,11 @@ export blogdate=$(strftime "%a-%Y-%b-%d") function _list_pages() { - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi # Initialize or clear the array to ensure it's empty before adding files pages_file_array=() @@ -213,7 +216,11 @@ function _list_pages() { function _list_blogs() { - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi # Initialize or clear the blogs array to ensure it's empty before adding files blogs_file_array=() @@ -244,7 +251,11 @@ function _list_blogs() { # BLOG CACHE function _blog_cache() { - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi _list_blogs @@ -295,7 +306,11 @@ function _blog_cache() { # Returns the array pages_array() function _pages_cache() { - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi # Create an associative array for the pages cache typeset -A pages_cache @@ -345,7 +360,11 @@ function _pages_cache() { function _last_updated() { # This function updates #updated and #version tags in the provided string for buffers - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi local upd_msg="Last updated ${today} by ${QSGEN} ${VERSION}" @@ -366,7 +385,11 @@ function _last_updated() { function _f_last_updated() { # Updates #updated and #version tags in the provided file using Zsh - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi # local file_path="${1}" local upd_msg="Last updated ${today} by ${QSGEN} ${VERSION}" @@ -408,7 +431,11 @@ function _file_to_lower() { function _pages() { # This function generates all the new and updated Pages - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi # Load the cache for Pages if (${debug}) _msg debug "${0:t}_msg_1" @@ -555,7 +582,11 @@ function _pages() { function _blogs() { # This function either generates blog files or exports metadata based on the argument - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi # Running function _list_blogs if (${debug}) _msg debug "${0:t}_msg_1" @@ -736,8 +767,11 @@ function _blogs() { function _blog_idx_for_index() { # This function generates the file blog/index.tmp.html - local debug=${globaldebug:-false} - # local debug=true + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi _msg sub "${0:t}_msg_1" " ${project_dir}/blog/index.tmp.html" @@ -809,7 +843,11 @@ function _blog_idx_for_index() { function _blog_index() { - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi # This function generates the www_root/blog/index.html file that gets its data from _blog_list_for_index() # ${new_updated_blogs} comes from the function _blogs if anything new or updated is detected @@ -843,7 +881,11 @@ function _blog_index() { function _add_blog_list_to_index() { - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi # Let's find the file 'index.qst' and add the blog if blog_in_index is true if (${debug}) _msg debug "${0:t}_msg_1" @@ -855,7 +897,11 @@ function _add_blog_list_to_index() { function _sitemap() { - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi # Check if sitemap is set to true and if there are updated Blogs or Pages before updating the sitemap.xml file. if [[ ${sitemap} == "true" ]] && ( [[ ${new_updated_blogs} == "true" ]] || [[ ${new_updated_pages} == "true" ]] ); then @@ -863,9 +909,18 @@ function _sitemap() { _msg main "${0:t}_msg_1" local sitemap_file="${www_root}/sitemap.xml" + #local sitemap_blog="${www_root}/sitemap-blogs.xml" + #local sitemap_page="${www_root}/sitemap-pages.xml" # Find all HTML files and store them in an array local -a html_files=("${(@f)$(find "${www_root}" -type f -name "*.html")}") + # Working on provinding 2 sitemaps, 1 for pages and 1 for blogs. + # sitemap-pages.xml + # sitemap-blogs.xml + # And in the main sitemap.xml file we link to these two + #local -a html_files=("${(@f)$(find "${www_root}" -type f -name "*.xml")}") + #local -a blog_files=("${(@f)$(find "${www_root}" -type f -name "*.html" | grep blog)}") + #local -a page_files=("${(@f)$(find "${www_root}" -type f -name "*.html" | grep -v blog)}") # Start of the XML file echo '' > ${sitemap_file} @@ -904,7 +959,11 @@ function _sitemap() { function _link() { # This converts #link tags to actual clickable links in a provided string - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi local content="${1}" local modified_content="" @@ -942,7 +1001,11 @@ function _link() { function _image() { # This replaces #showimg tags with actual HTML img tags in a provided string - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi local content="${1}" local modified_content="" @@ -982,7 +1045,11 @@ function _image() { function _youtube() { # This embeds a YouTube video in a provided string - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi local content="${1}" local modified_content="" @@ -1010,7 +1077,11 @@ function _youtube() { function _cleanup() { # This removes tags used in the templates that may be left over for some reason - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi local content="${1}" @@ -1032,7 +1103,11 @@ function _cleanup() { function _html() { - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi local content="${1}" @@ -1043,7 +1118,7 @@ function _html() { # Use perl to convert QStags to HTML perl -0777 -pe ' BEGIN { - @tags = ( + @qstags = ( "#BR", "
\n", "#BD", "", "#EBD", "", "#I", "", "#EI", "\n", @@ -1079,10 +1154,10 @@ function _html() { ); } - for (my $i = 0; $i < $#tags; $i += 2) { - my $tag = $tags[$i]; - my $html = $tags[$i + 1]; - s/\Q$tag\E/$html/g; + for (my $i = 0; $i < $#qstags; $i += 2) { + my $qstag = $qstags[$i]; + my $html = $qstags[$i + 1]; + s/\Q$qstag\E/$html/g; } ' <<< "$content" @@ -1092,7 +1167,11 @@ function _zhtml() { # This function uses the regex module from Zsh to parse the QStags - local debug=${globaldebug:-false} + if [[ ${globaldebug} == "true" ]]; then + local debug=true + else + local debug=false + fi local content="${1}" @@ -1104,7 +1183,7 @@ function _zhtml() { zmodload zsh/regex # Define tag replacements as an associative array - typeset -A tags=( + typeset -A qstags=( "#BR" "
\n" "#BD" "" "#EBD" "" "#I" "" "#EI" "\n" @@ -1139,12 +1218,12 @@ function _zhtml() { "#LT" "<" "#GT" ">" "#NUM" "#" ) - for tag html (${(kv)tags}) + for qstag html (${(kv)qstags}) do # Escape tag for regex use - local escapedTag=$(printf '%s' "$tag" | sed 's/[].\[^$*]/\\&/g') + local escapedTag=$(printf '%s' "$qstag" | sed 's/[].\[^$*]/\\&/g') if [[ "$content" =~ "$escapedTag" ]]; then - content=${content//($tag)/$html} + content=${content//($qstag)/$html} fi done