# Jeff's Pelican SSG Theme The base pelican theme for my site, [jeffmackinnon.com](https://jeffmackinnon.com) ## Configuration The first step is the pelicanconf.py file. There are some variables that you can add to the `pelicanconf.py` file that make things look good. ``` # #################################################### # JeffTheme variables # #################################################### #DIRECT_TEMPLATES = ['posts'] # If you already have a direct templates just add posts. THEME_COLOUR = 0 # Pick the colour. # 0 => default # 1 => Blue SITELICENSE = 'Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.' TRACKING = False IMAGETRACKINGCODE = '' ## Sidebar things # #DUCKDUCKGOSEARCHURL = '' # This is the only search that I have working right now. BIO_IMAGE = 'jeffmackinnon.jpg' # Make sure that this is in the "images" folder SHOWCATEGORIES = True SHOWTAGS = False CONTACT_PHONE_NUM = '+1 (902) 555-1234' CONTACT_EMAIL = 'support@thisdoamin.co' CONTACT_HOME_ADDR = 'Nova Scotia' #CONTACT_BUSINESS_ADDR ='' # The Social Things # SOCIAL_SHARE = True SOCIAL_TWITTER = 'jeffmackinnon' SOCIAL_GITHUB = 'Jeffmackinnon' SOCIAL_LINKEDIN = 'jeffmackinnon' SOCIAL_FLICKR = 'jeffmackinnon' SOCIAL_MASTODON = 'https://bluenoser.me/@Jeff' # Frontpage customization # BANNER = True TAGLINEHEAD = 'The cool headline' TAGLINESUBHEAD = 'The sub-header' TAGLINE = 'Now this is going to be super cool, think of all the things we can teach you about. It is going to be amazing' BANNERLINK = 'services/' BANNERIMAGE = 'images/20130923124523.jpg' CORNERSTONE_CONTENT = True # If true add the html you want in include/cornerstone.html NEWSLETTER = '' # place your newsletter embed information here # Article List Pages # INCLUDE_SUMMARY = False # Default True INCLUDE_TITLE = False # Default True INCLUDE_CATEGORY = True # Default False INCLUDE_IMAGE = True # Default False MOREBUTTON = True # This adds the "MORE" to the article list MICROBLOG = 'microblog' # This caetgory will ALWAYS have just a picture and no headline or summary # This is for https://fediring.net/#table-of-members and is located in the sidebar # FEDIRING = False FEDIRINGRANDOM = True FEDIRINGURL = '' # This is needed because the SITEURL includes the https:// and Fediring doesn't want that part. # Article Customization # SHOW_BOTTOM_IMAGE = False # This defaults as false, change to true if you want to show the article image at the bottom SHOW_TOP_IMAGE = True # This shows the article image at the top before the content. It will not be included in the ATOM or RSS feed. # Commenting # # Mastodon Comments MASTODON_COMMENTS = False MASTODON_HOST = 'url.tld MASTODON_USER = 'user' # If you use a hosted commenting engine like hashover, commento, etc. COMMENTS = False COMMENT_EMBED ='' # This is the emdbed code that you need for the comments. # That's all folks # #################################################### ``` ## Second is the custom theme includes. To make this configurable for a bunch of different sites I wanted to make sure that I can have a "custom" homepage for some of them. To do this I have included a few templates in the `include` folder. Whether or not these are used is controlled by the configuration file. - article_footer.html - cornerstone.html - trackingcode.html The other files in there can be modified, but don't need to be. > I'm not sure how this is going to work with an "installable" theme, which is what is holding me back. If you know how this could be done please message me ([mastodon](https://bluenoser.me/@Jeff)) or email jeffmackinnon@proton.me. ## Use If you are using the pelican photos plugin, and use the `:image:` tag to create a header image, I've added a `:image_alt:` variable. This adds alt text to the header image. So, the below set up is for this [post](https://jeffmackinnon.com/20230511-new_flash.html). ``` :image: {photo}microblog/865A0747.jpg :image_alt: Macro photo of a flower. ``` ### Mastodon comments To use the mastodon commenting system you will need to edit the article with the mastodon id of where it is posted. For example, for this [post with flowers](https://jeffmackinnon.com/20230704-sea-of-white-flowers.html) I have the following tags in the post: ``` :date: 2023-07-04 :author: Jeff :category: microblog :tags: flowers, year-of-flowers :slug: 20230704-sea-of-white-flowers :status: published :image: {photo}microblog/865A2210.JPG :alt_text_image: white flowers with yellow center. :mastodon_post_id: 110656661657103654 ``` The critical one here is the `:mastodon_post_id:` with the ID of the mastodon post. In the future this may be automatic using a plugin and some fancy JS. ## RoadMap In order of percieved importance, but not in the order that I will get them done. - [ ] Make installable - [X] Create custom colours - [ ] Figure out how to create a Dark Mode ### Roadmap notes I would like for this to be installable, and once that is ready/working I will bind it as a release. I would also like to have a couple colour themes so that I can use this exact theme for a few of the different sites that I would like to use it for, to make that work I will need different colour styles. Finally, and probably similar to the above, I want to have it set up so that I can have a dark mode for each of those colour schemes. I really prefer dark mode for anything that has a lot of text, and not having it for my own theme/website is probably annoying for some people.