#!/bin/bash # file: gsl__page_creator # Folder: /var/lib/gsl/scripts # By echolib # License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 #---------------------------------------------------------------------- # -------------------------------------------------- # From: gsl__all_makers | Create HTML Page # -------------------------------------------------- #---------------------------------------------------------------------- #---------------------------------------------------------------------- # MAIN #---------------------------------------------------------------------- gsl__page_creator() { #gsl__page_prepare_datas gsl__check_templates gsl__html_meta_head gsl__page_create cat -n "$gsl_srv_wip_page" } #====================================================================== # Sync Files from Templates to webserver #====================================================================== gsl__srv_sync() { # Sync Files and Folders for folder in `find $gsl_this_conf_domain/* -type d` do rsync -a "$folder" "$gsl_srv_wip" && \ gsl__logs_print \ "$gsl_log_w" \ "Server" \ "Sync" \ "$folder" \ "$gsl_srv_wip" done } #---------------------------------------------------------------------- # Get Datas for Post/Page #---------------------------------------------------------------------- gsl__page_prepare_datas() { #echo "D> $gsl_this_conf_domain" # Check for Files & Folders in server gsl_srv_wip="$gsl_site_server/$gsl_site_ndd/wip" # Post or Page case "$gsl_post_type" in post) gsl_srv_wip_page="$gsl_srv_wip/$gsl_header_slug/index.html" gsl__check_srv_files "$gsl_srv_wip_page" gsl_uri=".." ;; page) gsl_srv_wip_page="$gsl_srv_wip/$gsl_header_slug.html" gsl__check_srv_files "$gsl_srv_wip_page" gsl_uri="." ;; esac gsl_uri_site_logo="$gsl_uri/templates/$gsl_site_logo" } #---------------------------------------------------------------------- # Check if Post / Pages exists in server #---------------------------------------------------------------------- gsl__check_srv_files() { if [[ -f "$1" ]];then gsl__logs_print \ "$gsl_log_i" \ "SRV" \ "Files" \ "Exists" \ "$1" fi } #====================================================================== # Create Post Listing #====================================================================== gsl__page_create_listing() { # Check if Post is in list ; Status Made gsl_checker_war=true gsl_listing_file="$gsl_dir_domain_listings/$gsl_post.list" if [[ `ls -1 "$gsl_listing_file"* 2>/dev/null` ]];then gsl__logs_print \ "$gsl_log_w" \ "Post" \ "List" \ "$gsl_post_list $gsl_post already added to Latests" \ "$gsl_dir_domain_listings/" return fi case "$gsl_post_list" in Pin) gsl__page_create_listing_file "$gsl_listing_file.1" ;; Add) # search for last listing number gsl_listing_last=` ls -1 *"$gsl_dir_domain_listings/"*".list."* \ | tail -1 2>/dev/null` # Get Last listing number ! [[ $gsl_listing_last ]] \ && gsl_listing_last_n=0 \ || gsl_listing_last_n=${gsl_listing_last: -1} # Set last listing number for this post (( $gsl_listing_last_n <= $(( gsl_list_max_posts - 1)) )) \ && gsl_listing_last_n=$(( $gsl_listing_last_n + 1 )) gsl__page_create_listing_file \ "$gsl_listing_file.$gsl_listing_last_n" ;; esac cat "$gsl_dir_domain_listings/"*.list.* \ > "$gsl_dir_domain_tpl/last-posts-list.html" \ && gsl__logs_print \ "$gsl_log_w" \ "Post" \ "List" \ "Create Latest Listing (Merged .list.*)"\ "$gsl_dir_domain_tpl/last-post-list.html" } gsl__page_create_listing_file() { cat << EOPostSide > "$1"
  • $gsl_header_title
    Le $gsl_header_date par $gsl_header_author
  • EOPostSide gsl__logs_print \ "$gsl_log_w" \ "Post" \ "List" \ "$gsl_post_list $gsl_post to Latests"\ "$1" } #---------------------------------------------------------------------- # Create Final HTML Post/Page #---------------------------------------------------------------------- gsl__page_create() { cat << EOPAGE > "$gsl_srv_wip_page" `cat "$gsl_html_meta"` `cat "$gsl_dir_domain_tpl/header.html"`

    Écrit par $gsl_header_author le $gsl_header_date

    `cat "$gsl_a11y_post"`
    `cat "$gsl_dir_domain_tpl/footer.html"` EOPAGE # No more needed html meta file rm -f "$gsl_html_meta" } #---------------------------------------------------------------------- # Create META head for Post/Page #---------------------------------------------------------------------- gsl__html_meta_head() { # Create file with metas to be included in Post/Page gsl_html_meta=`mktemp` cat << EOMETAS >> "$gsl_html_meta" $gsl_header_title - $gsl_site_title EOMETAS } #----------------------------------------------------------------------- # Create Generic Header #----------------------------------------------------------------------- gsl__html_header() { cat << EOHEADER >> "$gsl_dir_domain_tpl/header.html"

    $gsl_site_title

    $gsl_site_info

    EOHEADER } #----------------------------------------------------------------------- # Create Generic Footer #----------------------------------------------------------------------- gsl__html_footer() { cat << EOFOOTER >> "$gsl_dir_domain_tpl/header.html" EOFOOTER } #----------------------------------------------------------------------- # Check for files in templates folder #----------------------------------------------------------------------- gsl__check_templates() { #echo "D> $gsl_dir_domain_tpl" # Create generic HEADER if not exists ! [[ "$gsl_dir_domain_tpl/header.html" ]] \ && gsl__html_header # Create generic FOOTER if not exists ! [[ "$gsl_dir_domain_tpl/footer.html" ]] \ && gsl__html_footer }