Giter Club home page Giter Club logo

seagull's Introduction

Seagull Page Generation Script

license semver

A Static Site Generator that doesn't generate anything for you

I don't honestly expect anyone to use this, it's mostly just for me.

Basically I found myself liking features of having django's templating engine while not using all those neat things that you get with a full fat python framework. Hell, I wasn't even using server side scripting. (That being said I think this should work with php as long as your host supports it)

At the same time I found myself copying and pasting bits and pieces that set up my pages how I like them with jquery and a bootstrap navbar etc on them, and when I could be bothered, adding quite basic ajax navigation. Then it hit me, I should just write a python script that does this stuff for me.

Named Seagull as a homage to Pelican, which is what inspired me to make this.

Needs at minimum Python 3.5, (I think - I use some features that were apparently only added in that version) Tested & Built with 3.7.1

Features:

  • Compiles scss.
  • Minifies JS and CSS.
  • Uses jinja2 for html templating.
  • Copies eveything to a handy "output" folder that you can just upload to your webhost
  • Uses Jquery, Bootstrap, Popper.js.
  • Has ajax navigation that I've written.

Installing / Usage

Installation:

git clone this repo

Usage

python compilePages.py or python compilePages.py -h for explanations

Updating

For the foreseeable future - Just replace the compilePages.py file and the files in resources.

There's lots of improvements I've got to make to it, but for now it's okay to share I think, I hope it's at least somewhat useful for someone else besides me.

Webpack was one of the last things I actually included in it - hence why I use libsass and jinja seperately.

Features to develop

  • Automatically picking up on all the html files and compiling them.
  • Better support for sub folders and junk?
  • Development mode that doesn't minify the js/css but does everything else
  • Make the ajax navigation do stuff with history
  • Improve the ajax navigation in general
  • I'll move the templates folder into the pages subdirectory at some point, I've just got to make a few changes so that'll work.
  • Change up how I've set out my base template so that it is in a couple of pieces like a head, nav and footer maybe?
  • Add command line options - Started
  • Auto-run the python web server
  • Watch for changes and re-run the code when changes occur
  • Support CSS and JS on individual pages (Currently the only way to have stuff specific to individual pages is to have it in the html itself.)
  • Maybe - Autogenerate the navbar from folder/file names? (Might be an flag for the cli options)

seagull's People

Contributors

notna888 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.