diff --git a/.gitignore b/.gitignore index 68e109e..5c6b4b6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,8 @@ +all_paw_care/invoice_ninja all_paw_care/templates/markdown_content __pycache__ *.py[cod] + +.env* +!.env.project +!.env.vault diff --git a/Makefile b/Makefile index 0e8f06b..59c221c 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,7 @@ +# Scripts directory variable +SCRIPTS_DIR = "scripts" + +# Bootstrap variables BOOTSTRAP_MODULE = "bootstrap-custom/boostrap/scss" CUSTOM_SCSS = "bootstrap-custom/custom.scss" PUBLIC_CSS = "all_paw_care/static/css/custom.css" @@ -13,5 +17,5 @@ build-custom-bootstrap: .PHONY: process-images process-images: - ./process-images.sh + ./$(SCRIPTS_DIR)/process-images.sh diff --git a/TODO.md b/TODO.md index dabdda6..a30e855 100644 --- a/TODO.md +++ b/TODO.md @@ -1,3 +1,13 @@ +# Code clean-up + + +## scripts dir + +move process-images.sh here + + + + # Services/ Route to service documentation page. @@ -8,4 +18,4 @@ Route to service documentation page. # Banner for accepting/not accepting clients -Let users of the site know if I'm seeking new clients. \ No newline at end of file +Let users of the site know if I'm seeking new clients. diff --git a/all_paw_care/forms/meetgreetnotification.py b/all_paw_care/forms/meetgreetnotification.py deleted file mode 100644 index c6f9f62..0000000 --- a/all_paw_care/forms/meetgreetnotification.py +++ /dev/null @@ -1,57 +0,0 @@ -from config import Config - -from datetime import datetime - -# TODO replace self.smtp_url and self.email_user with Config values - -class MeetGreetNotification(object): - def __init__(self, config: str): - self.smtp_url = - self.email_user = - - def __get_smtp_client(self): - from smtplib import SMTP_SSL - - smtp_client = SMTP_SSL(host=self.smtp_url) - smtp_client.login(self.email_user,self.c['fastmail-smtp']['pass']) - - return smtp_client - - def send(self, name: str, address: str, greet_time: datetime, notes: str = None): - from email.mime.multipart import MIMEMultipart - from email.mime.text import MIMEText - - - subject = "Meet & greet request: {}".format(name) - email = MIMEMultipart() - email['Subject'] = subject - email['From'] = self.email_user - email['To'] = self.email_user - - content = ''' - - - - - - - - - - - - - - - - - -
Name{}
Address{}
Datetime{}
Notes{}
- '''.format(name,address,greet_time,notes) - - email_content = MIMEMultipart('alternative') - email_content.attach(MIMEText(content, 'html')) - email.attach(email_content) - - with self.__get_smtp_client() as c: - c.sendmail(self.email_user,self.email_user,email.as_string()) diff --git a/all_paw_care/templates/contact-me.html b/all_paw_care/templates/contact-me.html deleted file mode 100644 index 6b7fc2b..0000000 --- a/all_paw_care/templates/contact-me.html +++ /dev/null @@ -1,49 +0,0 @@ -{% extends "jinja/types/page.html" %} - -{% set title %}Contact me{% endset %} - -{% block content %} -
-

If you have any questions, the - FAQ - page may have an answer. Contacting me directly by - email or - text message is welcome. -

-
- -
-
-

- Contact me directly! -

- - - - - - - - - - - - -
-
- -
-
-

- Follow me! -

- - - - - - -
-
- -{% endblock %} diff --git a/all_paw_care/templates/faq.html b/all_paw_care/templates/faq.html deleted file mode 100644 index e8db66a..0000000 --- a/all_paw_care/templates/faq.html +++ /dev/null @@ -1,39 +0,0 @@ -{% extends "jinja/types/page.html" %} - -{% set title %}FAQ{% endset %} - -{% block content %} -
-

Do you accept more than one animal?

-
- -
-
- I do but all services are priced for one animal. For more than - one pet I charge $8 per additional animal for walking and house - sitting services. -
-
- -
-

What types of payments do you accept?

-
- -
-
- I accept all major credit cards, bank transfers, and Paypal. Invoices are sent after service is rendered. -
-
- -
-

Can you clean up my yard, my dog has made it a mess?

-
- -
-
- I offer poop clean up as an additional add-on service. If you - decide to schedule a walk or house sitting, I will gladly - remove the poop. -
-
-{% endblock %} diff --git a/all_paw_care/templates/index.html b/all_paw_care/templates/index.html deleted file mode 100644 index adaf2bf..0000000 --- a/all_paw_care/templates/index.html +++ /dev/null @@ -1,49 +0,0 @@ -{% extends "jinja/types/page.html" %} - -{% set title %}About me{% endset %} - -{% block content %} -
-
- Welcome to All Paw Care! -
- -
- -
-
- -
-
- -
- -
-

- I've been providing professional animal caretaking - services in the Baltimore area for over 4 years. I - provide services for paws of all shapes and sizes. -

-
-
- -
-
-

- I specialize in dog and cat care. Animals add so much - to our lives so caring for them is just as important. -

-
- -
- -
-
-{% endblock %} diff --git a/all_paw_care/templates/meet-and-greet.html b/all_paw_care/templates/meet-and-greet.html deleted file mode 100644 index f2db1d0..0000000 --- a/all_paw_care/templates/meet-and-greet.html +++ /dev/null @@ -1,96 +0,0 @@ -{% extends "jinja/types/form.html" %} - -{% set title %}Request meet and greet{% endset %} - -{% block content %} -
-

Meet & greet

- -
-
- Pet name(s) - -
- -
- Name - -
- -
- -
- Visit type - - - - - - -
- -
-
-
- Date - -
-
- -
-
- Time - -
-
-
- -
-
- Contact - - - - - - - - -
-
- -
- Additional notes - -
- -
- -
-
-{% endblock %} - diff --git a/all_paw_care/templates/services.html b/all_paw_care/templates/services.html deleted file mode 100644 index 2f90c3c..0000000 --- a/all_paw_care/templates/services.html +++ /dev/null @@ -1,69 +0,0 @@ -{% extends "jinja/types/page.html" %} - -{% set title %}Services{% endset %} - -{% block content %} -
-
-
- Woman walking dog -
-

Walking

- -
- -

$20+/visit

- - - -

- Service includes 30 minute walk for your pet. Bags for poop - clean-up are included. -

-
-
-
- -
-
- Dog eating from food bowl -
-

- House sitting -

- -
- -

$38+/night

- - - -

- Service includes in-home overnight stays and animal care. -

-
-
-
-
- -
- - - -
-{% endblock %} - diff --git a/cgi-bin/allpawcare.ini b/cgi-bin/allpawcare.ini deleted file mode 100644 index 5ac9d57..0000000 --- a/cgi-bin/allpawcare.ini +++ /dev/null @@ -1,9 +0,0 @@ -[fastmail-smtp] -url = https://smtp.fastmail.com -user = awkawb@awkawb.cloud -pass = xw392bf7shg6wbzb - -[fastmail-caldav] -url = https://caldav.fastmail.com/caldav -user = awkawb@awkawb.cloud -pass = xk5fzhfdr2w9h86v diff --git a/cgi-bin/allpawcare.py b/cgi-bin/allpawcare.py deleted file mode 100644 index 2ba69c9..0000000 --- a/cgi-bin/allpawcare.py +++ /dev/null @@ -1,41 +0,0 @@ -from configparser import ConfigParser -from datetime import date -from email.message import Message -from smtplib import SMTP - -from flask import Flask,request - -from meetgreetnotification import MeetGreeNotification - -app = Flask(__name__) - -@app.route('/forms/meetgreetrequest.html', methods=['POST']) -def walk_request(): - if request.method == 'POST': - name = request.form['client-name'] - pets = request.form['client-pets'] - notes = request.form['notes'] - requested_date = get_datetime(request.form['meet-greet-date'], - request.form['meet-greet-time']) - - #if is_valid_date(requested_date): - # n = MeetGreetNotification('allpawcare.ini') - # n.send(name,address,requested_date,notes) - -def get_datetime(raw_date: str, raw_time: str): - date_list = raw_date.rsplit('-') - - print(raw_time) - - year = int(date_list[0]) - month = int(date_list[1]) - day = int(date_list[2]) - - return datetime_request - -def is_valid_date(requested_date: date): - if requested_date <= date.today(): - return False - else: - return True - diff --git a/cgi-bin/meetgreetnotification.py b/cgi-bin/meetgreetnotification.py deleted file mode 100644 index cd762d9..0000000 --- a/cgi-bin/meetgreetnotification.py +++ /dev/null @@ -1,58 +0,0 @@ -from datetime import datetime - -class MeetGreetNotification(object): - def __init__(self, config: str): - from configparser import ConfigParser - - self.c = ConfigParser() - self.c.read(config) - - self.smtp_url = self.c['fastmail-smtp']['url'] - self.email_user = self.c['fastmail-smtp']['user'] - - def __get_smtp_client(self): - from smtplib import SMTP_SSL - - smtp_client = SMTP_SSL(host=self.smtp_url) - smtp_client.login(self.email_user,self.c['fastmail-smtp']['pass']) - - return smtp_client - - def send(self, name: str, address: str, greet_time: datetime, notes: str = None): - from email.mime.multipart import MIMEMultipart - from email.mime.text import MIMEText - - - subject = "Meet & greet request: {}".format(name) - email = MIMEMultipart() - email['Subject'] = subject - email['From'] = self.email_user - email['To'] = self.email_user - - content = ''' - - - - - - - - - - - - - - - - - -
Name{}
Address{}
Datetime{}
Notes{}
- '''.format(name,address,greet_time,notes) - - email_content = MIMEMultipart('alternative') - email_content.attach(MIMEText(content, 'html')) - email.attach(email_content) - - with self.__get_smtp_client() as c: - c.sendmail(self.email_user,self.email_user,email.as_string()) diff --git a/config.py b/config.py index 7a9dd8e..75880c9 100644 --- a/config.py +++ b/config.py @@ -1,6 +1,9 @@ import os class Config(object): + # Enable debugging for development + DEBUG = True + # App base directory BASE_DIR = os.path.dirname(os.path.realpath(__file__)) @@ -25,126 +28,3 @@ class Config(object): '1400px' ] - # About me page content - ABOUT_ME = [ - ( - [ - '../static/img/about_me/about_me_1_sm.jpg', - '../static/img/about_me/about_me_1_md.jpg', - '../static/img/about_me/about_me_1_lg.jpg', - '../static/img/about_me/about_me_1_xl.jpg', - '../static/img/about_me/about_me_1_xxl.jpg' - ], - ''' - Before I provided animal caretaking services, I focused - my time on computers. I designed and coded this website! - ''' - ), - ( - [ - '../static/img/about_me/about_me_2_sm.jpg', - '../static/img/about_me/about_me_2_md.jpg', - '../static/img/about_me/about_me_2_lg.jpg', - '../static/img/about_me/about_me_2_xl.jpg', - '../static/img/about_me/about_me_2_xxl.jpg' - ], - ''' - My passion for animals and plants are what I spend - most my time on currently. I love providing quality - animal care. - ''' - ), - ( - [ - '../static/img/about_me/about_me_3_sm.jpg', - '../static/img/about_me/about_me_3_md.jpg', - '../static/img/about_me/about_me_3_lg.jpg', - '../static/img/about_me/about_me_3_xl.jpg', - '../static/img/about_me/about_me_3_xxl.jpg' - ], - ''' - For the past 5 years, my interest in plants and - horticulture have expanded exponentially. As a kid, - my mother always expressed interest in plants. Plants - are something, for me, that took patients and I - had little patients as a child. - ''' - ) - ] - - # Service page content - SERVICES = { - 'Walking': [ - [ - '../static/img/services/dog_walking_card_sm.png', - '../static/img/services/dog_walking_card_md.png', - '../static/img/services/dog_walking_card_lg.png', - '../static/img/services/dog_walking_card_xl.png', - '../static/img/services/dog_walking_card_xxl.png' - ], - '$20/visit', - 'Service includes:', - [ - '30 minute walk.', - 'Bags for poop clean-up.' - ] - ], - 'Drop-in': [ - [ - '../static/img/services/drop_in_card_sm.png', - '../static/img/services/drop_in_card_md.png', - '../static/img/services/drop_in_card_lg.png', - '../static/img/services/drop_in_card_xl.png', - '../static/img/services/drop_in_card_xxl.png' - ], - '$20/visit', - 'Service includes:', - [ - '30 minute in home visit.', - 'Bags for poop clean-up.' - ] - ], - 'House sitting': [ - [ - '../static/img/services/house_sitting_card_sm.png', - '../static/img/services/house_sitting_card_md.png', - '../static/img/services/house_sitting_card_lg.png', - '../static/img/services/house_sitting_card_xl.png', - '../static/img/services/house_sitting_card_xxl.png' - ], - '$38/visit', - 'Service includes:', - [ - 'Animal care.', - 'In-home overnight stays.' - ] - ] - } - - # FAQ page content - FAQS = { - 'What kind of animals do you caretake?': ( - 'animal-types-faq', - 'I have experience careing for many types of animals. ' - + 'I provide care for reptiles, mammals, etc.' - ), - 'Can you care for special needs pets?': ( - 'special-needs-faq', - '''I have experience care for special needs, including older - animals''' - ), - 'Can you stay at my house?': ( - 'house-sitting-faq', - 'I offer house sitting services. This includes in home stays.' - ), - 'Can you take care of my plants?': ( - 'plant-faq', - 'I love plants and have a garden of my own. I\'ll gladly ' - + 'remove the mess for you.' - ), - 'My yard is a mess, can you clean up the dog poop?': ( - 'poop-scoop-faq', - 'I do offer animal poop clean up add-on yard' - ) - } - diff --git a/generate-site.py b/generate-site.py deleted file mode 100644 index 6139509..0000000 --- a/generate-site.py +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env python3 - -class AllPawCare(object): - """ - Builder for www.allpawcare.com - - Builds www.allpawcare.com static resources. - """ - - def __init__(self): - # Directory variables - self.CGI_DIR = 'cgi-bin' - self.IMG_DIR = 'img' - self.PUBLIC_DIR = 'public' - self.TEMPLATES_DIR = 'templates' - self.CGI_PUBLIC_DIR = self.PUBLIC_DIR + '/' + self.CGI_DIR - self.IMG_PUBLIC_DIR = self.PUBLIC_DIR + '/' + self.IMG_DIR - - # Types of templates to render - self.RENDERED_TYPES = ['forms', 'pages'] - - # Year to copyright the rendered templates - from datetime import datetime - self.CURRENT_YEAR = datetime.today().strftime('%Y') - - # Setup Jinja environment - from jinja2 import Environment, FileSystemLoader - self.JINJA_ENV = Environment(loader=FileSystemLoader(self.TEMPLATES_DIR)) - - def __enter__(self): - return self - - def __get_name_map(self): - """ - Map page templates to page titles. - - Returns dictionary mapping page templates to page titles. - """ - - name_map = dict() - - for t in self.JINJA_ENV.list_templates(): - t_type = t.partition('/')[0] - t_name = t.partition('/')[2] - - # Only consider page templates - if t_type == 'pages': - # TEMPLATE: PAGETITLE - name_map[t_name] = t_name.removesuffix('.html') - - return name_map - - def copy_static_resources(self): - """ - Copy static assets to public directory. - - Copies CGI and image resources to public directory. - """ - - import shutil - - print('Copying static assets...') - - try: - # Copy cgi scripts to public dir - shutil.copytree(self.CGI_DIR, self.CGI_PUBLIC_DIR) - - # Copy images to public dir - shutil.copytree(self.IMG_DIR, self.IMG_PUBLIC_DIR) - - except: - print("Error copying static files. Does the public directory exist?") - - def render_site(self): - """ - Render site template to static HTML - - Render www.AllPawCare.com static site from jinja - template. - """ - - name_map = self.__get_name_map() - - for t in self.JINJA_ENV.list_templates(): - t_type = t.partition('/')[0] - - if t_type in self.RENDERED_TYPES: - print('Rendering {}'.format(t)) - - output_file = '{}/{}'.format(self.PUBLIC_DIR, t) - - with open(output_file, 'w+') as file: - template = self.JINJA_ENV.get_template(t) - - t = template.render(pages=name_map, - current_year=self.CURRENT_YEAR) - file.write(t) - - -builder = AllPawCare() - -builder.copy_static_resources() -builder.render_site() - diff --git a/process_images.sh b/process_images.sh deleted file mode 100755 index 6381ac0..0000000 --- a/process_images.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -IMG_ORIGINALS="img_original" -IMG_PUBLIC="all_paw_care/static/img" -IMG_SIZES_NAME=("sm" "md" "lg" "xl" "xxl") -IMG_SIZES=("576" "768" "992" "1200" "1400") - -for img in $(find $IMG_ORIGINALS -type f) -do - for ((i=0;i<${#IMG_SIZES_NAME[@]};i++)) - do - new_img_path=$(echo "$img" | sed -e "s,img_original\(.*\),$IMG_PUBLIC\1,g" \ - -e "s,\.,_${IMG_SIZES_NAME[i]}\.,g") - magick "$img" -filter spline -resize ${IMG_SIZES[i]} "$new_img_path" - done -done - diff --git a/public/cgi-bin/allpawcare.ini b/public/cgi-bin/allpawcare.ini deleted file mode 100644 index 5ac9d57..0000000 --- a/public/cgi-bin/allpawcare.ini +++ /dev/null @@ -1,9 +0,0 @@ -[fastmail-smtp] -url = https://smtp.fastmail.com -user = awkawb@awkawb.cloud -pass = xw392bf7shg6wbzb - -[fastmail-caldav] -url = https://caldav.fastmail.com/caldav -user = awkawb@awkawb.cloud -pass = xk5fzhfdr2w9h86v diff --git a/public/cgi-bin/allpawcare.py b/public/cgi-bin/allpawcare.py deleted file mode 100644 index 2ba69c9..0000000 --- a/public/cgi-bin/allpawcare.py +++ /dev/null @@ -1,41 +0,0 @@ -from configparser import ConfigParser -from datetime import date -from email.message import Message -from smtplib import SMTP - -from flask import Flask,request - -from meetgreetnotification import MeetGreeNotification - -app = Flask(__name__) - -@app.route('/forms/meetgreetrequest.html', methods=['POST']) -def walk_request(): - if request.method == 'POST': - name = request.form['client-name'] - pets = request.form['client-pets'] - notes = request.form['notes'] - requested_date = get_datetime(request.form['meet-greet-date'], - request.form['meet-greet-time']) - - #if is_valid_date(requested_date): - # n = MeetGreetNotification('allpawcare.ini') - # n.send(name,address,requested_date,notes) - -def get_datetime(raw_date: str, raw_time: str): - date_list = raw_date.rsplit('-') - - print(raw_time) - - year = int(date_list[0]) - month = int(date_list[1]) - day = int(date_list[2]) - - return datetime_request - -def is_valid_date(requested_date: date): - if requested_date <= date.today(): - return False - else: - return True - diff --git a/public/cgi-bin/meetgreetnotification.py b/public/cgi-bin/meetgreetnotification.py deleted file mode 100644 index cd762d9..0000000 --- a/public/cgi-bin/meetgreetnotification.py +++ /dev/null @@ -1,58 +0,0 @@ -from datetime import datetime - -class MeetGreetNotification(object): - def __init__(self, config: str): - from configparser import ConfigParser - - self.c = ConfigParser() - self.c.read(config) - - self.smtp_url = self.c['fastmail-smtp']['url'] - self.email_user = self.c['fastmail-smtp']['user'] - - def __get_smtp_client(self): - from smtplib import SMTP_SSL - - smtp_client = SMTP_SSL(host=self.smtp_url) - smtp_client.login(self.email_user,self.c['fastmail-smtp']['pass']) - - return smtp_client - - def send(self, name: str, address: str, greet_time: datetime, notes: str = None): - from email.mime.multipart import MIMEMultipart - from email.mime.text import MIMEText - - - subject = "Meet & greet request: {}".format(name) - email = MIMEMultipart() - email['Subject'] = subject - email['From'] = self.email_user - email['To'] = self.email_user - - content = ''' - - - - - - - - - - - - - - - - - -
Name{}
Address{}
Datetime{}
Notes{}
- '''.format(name,address,greet_time,notes) - - email_content = MIMEMultipart('alternative') - email_content.attach(MIMEText(content, 'html')) - email.attach(email_content) - - with self.__get_smtp_client() as c: - c.sendmail(self.email_user,self.email_user,email.as_string()) diff --git a/public/forms/meetgreetrequest.html b/public/forms/meetgreetrequest.html deleted file mode 100644 index 56e28b5..0000000 --- a/public/forms/meetgreetrequest.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - - - - -
-
-
-
- - - - - -
-
-
-
- - -
-
-
- -
-

Meet & greet

- -
-
- Pet name(s) - -
- -
- Name - -
- -
- -
- Visit type - - - - - - - - - -
- -
-
-
- Date - -
-
- -
-
- Time - -
-
-
- -
-
- Contact - - - - - - - - -
-
- -
- Additional notes - -
- -
- -
-
- -
-
-
- - - - - - - diff --git a/public/img/about_me_1_lg.jpg b/public/img/about_me_1_lg.jpg deleted file mode 100644 index 3d09eda..0000000 Binary files a/public/img/about_me_1_lg.jpg and /dev/null differ diff --git a/public/img/about_me_1_md.jpg b/public/img/about_me_1_md.jpg deleted file mode 100644 index ae9bf4a..0000000 Binary files a/public/img/about_me_1_md.jpg and /dev/null differ diff --git a/public/img/about_me_1_sm.jpg b/public/img/about_me_1_sm.jpg deleted file mode 100644 index f1aaf68..0000000 Binary files a/public/img/about_me_1_sm.jpg and /dev/null differ diff --git a/public/img/about_me_1_xl.jpg b/public/img/about_me_1_xl.jpg deleted file mode 100644 index 73f91a4..0000000 Binary files a/public/img/about_me_1_xl.jpg and /dev/null differ diff --git a/public/img/about_me_1_xxl.jpg b/public/img/about_me_1_xxl.jpg deleted file mode 100644 index 3ec6128..0000000 Binary files a/public/img/about_me_1_xxl.jpg and /dev/null differ diff --git a/public/img/about_me_2_lg.jpg b/public/img/about_me_2_lg.jpg deleted file mode 100644 index 4582270..0000000 Binary files a/public/img/about_me_2_lg.jpg and /dev/null differ diff --git a/public/img/about_me_2_md.jpg b/public/img/about_me_2_md.jpg deleted file mode 100644 index 9818a2a..0000000 Binary files a/public/img/about_me_2_md.jpg and /dev/null differ diff --git a/public/img/about_me_2_sm.jpg b/public/img/about_me_2_sm.jpg deleted file mode 100644 index f5102c8..0000000 Binary files a/public/img/about_me_2_sm.jpg and /dev/null differ diff --git a/public/img/about_me_2_xl.jpg b/public/img/about_me_2_xl.jpg deleted file mode 100644 index 8a6c842..0000000 Binary files a/public/img/about_me_2_xl.jpg and /dev/null differ diff --git a/public/img/about_me_2_xxl.jpg b/public/img/about_me_2_xxl.jpg deleted file mode 100644 index ab4b846..0000000 Binary files a/public/img/about_me_2_xxl.jpg and /dev/null differ diff --git a/public/img/about_me_3_lg.jpg b/public/img/about_me_3_lg.jpg deleted file mode 100644 index 1e624a6..0000000 Binary files a/public/img/about_me_3_lg.jpg and /dev/null differ diff --git a/public/img/about_me_3_md.jpg b/public/img/about_me_3_md.jpg deleted file mode 100644 index ca346b9..0000000 Binary files a/public/img/about_me_3_md.jpg and /dev/null differ diff --git a/public/img/about_me_3_sm.jpg b/public/img/about_me_3_sm.jpg deleted file mode 100644 index fb626aa..0000000 Binary files a/public/img/about_me_3_sm.jpg and /dev/null differ diff --git a/public/img/about_me_3_xl.jpg b/public/img/about_me_3_xl.jpg deleted file mode 100644 index da61a3e..0000000 Binary files a/public/img/about_me_3_xl.jpg and /dev/null differ diff --git a/public/img/about_me_3_xxl.jpg b/public/img/about_me_3_xxl.jpg deleted file mode 100644 index bdbfc8a..0000000 Binary files a/public/img/about_me_3_xxl.jpg and /dev/null differ diff --git a/public/img/logo_instagram_lg.png b/public/img/logo_instagram_lg.png deleted file mode 100644 index 55b91d8..0000000 Binary files a/public/img/logo_instagram_lg.png and /dev/null differ diff --git a/public/img/logo_instagram_md.png b/public/img/logo_instagram_md.png deleted file mode 100644 index 6c79814..0000000 Binary files a/public/img/logo_instagram_md.png and /dev/null differ diff --git a/public/img/logo_instagram_sm.png b/public/img/logo_instagram_sm.png deleted file mode 100644 index 366330c..0000000 Binary files a/public/img/logo_instagram_sm.png and /dev/null differ diff --git a/public/img/logo_instagram_xl.png b/public/img/logo_instagram_xl.png deleted file mode 100644 index 18bcdcb..0000000 Binary files a/public/img/logo_instagram_xl.png and /dev/null differ diff --git a/public/img/logo_instagram_xxl.png b/public/img/logo_instagram_xxl.png deleted file mode 100644 index 0560fa3..0000000 Binary files a/public/img/logo_instagram_xxl.png and /dev/null differ diff --git a/public/img/services_dog_walking_card_lg.png b/public/img/services_dog_walking_card_lg.png deleted file mode 100644 index 55cc325..0000000 Binary files a/public/img/services_dog_walking_card_lg.png and /dev/null differ diff --git a/public/img/services_dog_walking_card_md.png b/public/img/services_dog_walking_card_md.png deleted file mode 100644 index 79c77be..0000000 Binary files a/public/img/services_dog_walking_card_md.png and /dev/null differ diff --git a/public/img/services_dog_walking_card_sm.png b/public/img/services_dog_walking_card_sm.png deleted file mode 100644 index 87c61ce..0000000 Binary files a/public/img/services_dog_walking_card_sm.png and /dev/null differ diff --git a/public/img/services_dog_walking_card_xl.png b/public/img/services_dog_walking_card_xl.png deleted file mode 100644 index c809bed..0000000 Binary files a/public/img/services_dog_walking_card_xl.png and /dev/null differ diff --git a/public/img/services_dog_walking_card_xxl.png b/public/img/services_dog_walking_card_xxl.png deleted file mode 100644 index f8978ab..0000000 Binary files a/public/img/services_dog_walking_card_xxl.png and /dev/null differ diff --git a/public/img/services_drop_in_card_lg.png b/public/img/services_drop_in_card_lg.png deleted file mode 100644 index be1620b..0000000 Binary files a/public/img/services_drop_in_card_lg.png and /dev/null differ diff --git a/public/img/services_drop_in_card_md.png b/public/img/services_drop_in_card_md.png deleted file mode 100644 index 18c4212..0000000 Binary files a/public/img/services_drop_in_card_md.png and /dev/null differ diff --git a/public/img/services_drop_in_card_sm.png b/public/img/services_drop_in_card_sm.png deleted file mode 100644 index 2fa30c5..0000000 Binary files a/public/img/services_drop_in_card_sm.png and /dev/null differ diff --git a/public/img/services_drop_in_card_xl.png b/public/img/services_drop_in_card_xl.png deleted file mode 100644 index c3735fe..0000000 Binary files a/public/img/services_drop_in_card_xl.png and /dev/null differ diff --git a/public/img/services_drop_in_card_xxl.png b/public/img/services_drop_in_card_xxl.png deleted file mode 100644 index 727153c..0000000 Binary files a/public/img/services_drop_in_card_xxl.png and /dev/null differ diff --git a/public/img/services_house_sitting_card_lg.png b/public/img/services_house_sitting_card_lg.png deleted file mode 100644 index 8b83006..0000000 Binary files a/public/img/services_house_sitting_card_lg.png and /dev/null differ diff --git a/public/img/services_house_sitting_card_md.png b/public/img/services_house_sitting_card_md.png deleted file mode 100644 index 97d0041..0000000 Binary files a/public/img/services_house_sitting_card_md.png and /dev/null differ diff --git a/public/img/services_house_sitting_card_sm.png b/public/img/services_house_sitting_card_sm.png deleted file mode 100644 index 49fa769..0000000 Binary files a/public/img/services_house_sitting_card_sm.png and /dev/null differ diff --git a/public/img/services_house_sitting_card_xl.png b/public/img/services_house_sitting_card_xl.png deleted file mode 100644 index efc3f49..0000000 Binary files a/public/img/services_house_sitting_card_xl.png and /dev/null differ diff --git a/public/img/services_house_sitting_card_xxl.png b/public/img/services_house_sitting_card_xxl.png deleted file mode 100644 index 6ae570e..0000000 Binary files a/public/img/services_house_sitting_card_xxl.png and /dev/null differ diff --git a/public/pages/FAQ.html b/public/pages/FAQ.html deleted file mode 100644 index 9bff4fd..0000000 --- a/public/pages/FAQ.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - FAQ - - - -
-
-
-
- - - - - -
-
-
-
- - -
-
- -
-

Do you accept more than one animal?

-
- -
-
- I do but all services are priced for one animal. For more than one pet I - charge $8 per additional animal for walking and drop-in services. For - house sitting services, more than one pet I charge $10 per additional animal. -
-
- -
- -
-

What types of payments do you accept?

-
-
-
- I accept all major credit cards, bank transfers, and Paypal. Invoices are sent after service is rendered. -
-
- -
- -
-

When is payment due?

-
-
-
- Invoices are sent via email that have a link to the invoice. Clients are able to pay directly from the invoice. -
-
- - -
- -
- -
-
- - - - - - - diff --git a/public/pages/about_me.html b/public/pages/about_me.html deleted file mode 100644 index a156dd2..0000000 --- a/public/pages/about_me.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - About me - - - -
-
-
-
- - - - - -
-
-
-
- - -
-
- -
-
- Laboriosam voluptatem pariatur consequatur. Corrupti corrupti et aut commodi vero nesciunt totam. Deleniti et labore reiciendis quia tempore voluptas occaecati. Debitis necessitatibus velit ut unde aliquam id quod. Laborum quas non itaque et ut veniam voluptate. Voluptates numquam non non id natus voluptatibus. Nobis eius dicta suscipit in at voluptas numquam molestiae. Qui non magni velit qui autem veniam quia. Dolore velit doloremque dolores doloremque eveniet. Libero rerum est debitis sint velit. Id sapiente magnam voluptas at corporis. Error quia laudantium et veniam adipisci ipsum. -
-
- -
-
- -
-
- Suscipit est voluptatum possimus aut. Culpa laboriosam id explicabo. Aut qui ad repellat doloremque. Quis quo sunt sed ab optio voluptate reprehenderit. Autem aut ea odit sed. Laboriosam minus eos qui dicta qui molestias. Labore quis quae aliquam quod quia cum ut laboriosam. Incidunt aut aut libero voluptates velit ut saepe. Qui deserunt tempore doloremque qui veniam aliquid. Vel est eligendi ipsum ullam corrupti explicabo saepe. Eligendi cum soluta numquam nihil doloribus praesentium. Doloribus blanditiis incidunt itaque veniam. -
-
- Debitis nulla impedit consectetur cum laboriosam autem qui minus. Soluta placeat est inventore facere. Inventore voluptates vero assumenda inventore illum eos eveniet. Itaque corrupti aliquid aut officiis. Quia voluptatem voluptas aut placeat. Dolor quis eos magnam cum. Vel vel magni ea at. Earum molestiae id illum eius sit officiis. Corporis non eveniet deleniti quaerat eos. Corrupti ad repellendus facere quisquam aut. Hic neque aut ea incidunt inventore fugiat doloribus ullam. Eius quo veritatis exercitationem suscipit. Laudantium sed aut doloremque. Molestias unde ipsa eum quos deserunt aut voluptate atque. Deserunt omnis excepturi ipsum recusandae beatae. Voluptas repellat accusantium omnis animi ut accusantium dolorum commodi. Qui natus delectus a. Qui sequi pariatur aut et voluptatum atque vero. Iusto ea cupiditate sed qui quae. Aliquid a illum repellat pariatur aut repudiandae. -
-
- -
-
- -
-
- - - - - - - diff --git a/public/pages/contact_me.html b/public/pages/contact_me.html deleted file mode 100644 index caa0d3e..0000000 --- a/public/pages/contact_me.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - Contact me - - - -
-
-
-
- - - - - -
-
-
-
- - -
-
- -
-

If you have any questions, the - FAQ - page may have an answer. Contacting me directly by - email or - text message is welcome. -

-
- -
-
-

- Contact me directly! -

- - - - - - - - - - - - -
-
- -
-
-

- Follow me! -

- - - - - - -
-
-
- - -
- - - - - - - diff --git a/public/pages/services.html b/public/pages/services.html deleted file mode 100644 index c3cbd67..0000000 --- a/public/pages/services.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - Services - - - -
-
-
-
- - - - - -
-
-
-
- - -
-
- -
-
-
- Woman walking dog -
-

Walking

- -
- -

$20+/visit

- - - -

- Service includes 30 minute walk for your pet. Bags for poop - clean-up are included. -

-
-
-
- -
-
- Woman petting dog -
-

- Drop-in visits -

- -
- -

$18+/visit

- - - -

- Service includes 30 minutes of in-home play and/or care for - your pet. -

-
-
-
- -
-
- Dog eating from food bowl -
-

- House sitting -

- -
- -

$45+/night

- - - -

- Service includes in-home overnight stays and animal care. -

-
-
-
-
- - - -
-
- - - - - - - diff --git a/process-images.sh b/scripts/process-images.sh similarity index 100% rename from process-images.sh rename to scripts/process-images.sh diff --git a/shell.nix b/shell.nix index 8344c9c..721d5fe 100644 --- a/shell.nix +++ b/shell.nix @@ -10,6 +10,7 @@ pkgs.mkShell { flask markdown python-dateutil + python-dotenv python-frontmatter requests six @@ -17,19 +18,24 @@ pkgs.mkShell { urllib3 ])) + # Custom Bootstrap dart-sass - imagemagick nodejs_20 - sqlite + unzip + # DB testing + sqlite + + # Static image processing + imagemagick + # Design tools graphviz ]; shellHook = '' export FLASK_APP=all_paw_care - export FLASK_DEBUG=1 ''; }