pykatana
pykatana is a Python-based build system designed for creating static websites with ease and flexibility.
Overview
A Katana project comprises several essential components:
-
src/make.py: This file contains arunfunction responsible for building the website. Whenever the contents of thesrcfolder change, this function is triggered. It takes an EZJinja object and processes the templates to generate the website. -
Jinja2 Templates: Found in the
src/templatesdirectory, these templates form the backbone of your website's structure and content. They provide the flexibility to customize and design your site according to your requirements. -
Static Files: The
src/staticdirectory houses static files such as CSS, JavaScript, images, and other assets required for your website. These files are served directly to users without any processing. -
Meta Technique Files: Located in the
src/metadirectory, these files enable dynamic content generation for your website. Using the meta technique, you can access and utilize metadata stored in JSON files within your Jinja2 templates. This allows for dynamic updates and customization of your site based on external data sources.
Installation
Method 1: Install via pip
You can install pykatana using pip:
pip install pykatana
Method 2: Use prebuilt executables
Download prebuilt executables from the Releases section.
Method 3: Clone the repository
Clone the repository and copy "pykatana/pykatana" inside your project folder. You can then access pykatana using:
python3 -m pykatana [args]
Method 4: Clone and build from source
- Clone the repository:
git clone https://github.com/adanayi/pykatana.git
cd pykatana
- Copy the necessary files:
cp -r pykatana/project_make/* .
- On Linux:
./make.sh
On Windows:
./make.bat
On Mac: pykatana never supports mac.
- The executable will be generated as ./dist/pykatana (or pykatana.exe).
Usage
How to use pykatana?
Method1: Executable files (prebuilt or built)
pykatana [args]
Method2: With python packages (pip3 or clone)
python3 -m pykatana [args]
Usage modes
Development server
cd to your project's folder (root), then simply run pykatana without any args. If the folder is empty, pykatana initializes it and opens the development server. Otherwise, it sets up the development server, allowing you to continue your development.
Deploy
The output of your project will always be put into the ./build folder alongside ./src. You can statically serve this folder. If you want to only build the folder without starting the development server, you can use:
pykatana -b
or
python3 -m pykatana -b
License
This project is licensed under the GNU General Public License v3.0.
Release files for pykatana 1.0.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pykatana-1.0.12.tar.gz | 190.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pykatana-1.0.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 397.2 kB
Release files / pykatana-1.0.12.tar.gz
| Download URL | pykatana-1.0.12.tar.gz |
|---|---|
| Size | 190.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1dc049b0c8114ca4fb8f1da90216262215a6af29e9216e1c0afac477fb295d7e
|
|
BLAKE2b-256 checksum How to use checksums |
9ba032a3978aa305763a78d546166c596a9c5461965902dfa9557050854c259f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.12
|
Release files / pykatana-1.0.12-py3-none-any.whl
| Download URL | pykatana-1.0.12-py3-none-any.whl |
|---|---|
| Size | 206.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9e746743e627bfc00649ab03af01b7f7edf6fc2156c6818a3b470d4a899359ba
|
|
BLAKE2b-256 checksum How to use checksums |
cd33fe419e85ded7d7321375bef9afb51bd9240bbf201c762e0ed3e135d4fd69
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.12
|