# meetlify
Python based Static Site Genrator for Meetups/Meetup Webites.
[![license](https://img.shields.io/pypi/l/meetlify.svg?style=flat-square "Project License: MIT")](https://github.com/pybodensee/meetlify/blob/master/LICENSE)
[![status](https://img.shields.io/pypi/status/meetlify.svg?style=flat-square "Project Development Status")](https://github.com/pybodensee/meetlify/milestone/1)
[![pypi_version](https://img.shields.io/pypi/v/meetlify.svg?style=flat-square "Available on PyPi - the Python Package Index")](https://pypi.python.org/pypi/meetlify)
[![supported_python_versions](https://img.shields.io/pypi/pyversions/meetlify.svg?style=flat-square "Supported Python Version")](https://pypi.python.org/pypi/meetlify)
## How to Use?
This package is available at ``pypi`` and you can install it with ``pip install meetlify`` command. It will also install required additional libraries/Python Packages automatically.
### Using GitHub Template
We have prepard [meetlify-template](https://github.com/pybodensee/meetlify-template) which is a sample template repository. Just use this template to create your own repository.
This approach is for buy and non techies who just want to host a simple meetup website. Make sure that GitHub actions are allowed to execute on your account. After successful clone, the website will automatically create/update gh_pages branch which you can link with any static hosting provider e.g. GitHub Page, Netlify, Cloudflare Pages, Vercel and others. However, this repo is optimized for hosting on Netlify.
### Using Command Line Interface (CLI)
Create an empty folder on your computer or move to a desired location where you want to create the Meetup Website.
1. Now execute ``meetlify init`` which will crate an empty configuration file (JSON) in the folder. Feel free to edit it as per your need. Content of the configuration file are self explanatory.
2. Now execute ``meetlify setup`` which will setup the all folders as per your configurations.
3. Now execute ``meetlify make`` which will generate full website in output folder.
### Using Application Programming Interface (API)
You can embed ``meetilify`` into your existing workflow easily. Here is a sample snippet.
```python
from pathlib import Path
from meetlify.api import Meetlify
from meetlify.utils import initialize
destination_path = Path("/home/user/Desktop/sample_webiste/")
# Now initialize configurationn file
initialize(dest_=destination_path)
# Modify newly created config.json file as per your need.
mtlfy = Meetlify(dest_=destination_path)
mtlfy.render_home()
mtlfy.render_404_page()
mtlfy.render_meetups()
mtlfy.render_posts()
mtlfy.render_pages()
mtlfy.render_categories()
mtlfy.render_redirects()
mtlfy.render_sitemaps()
mtlfy.render_robots_txt()
mtlfy.copy_assests()
```
## How to Extend ?
- Clone or download this repository to your computer.
- Create a virtual environment using ``python -m .venv venv``
- Navigate to the downloaded directory and then install all required dependencies using ``pip install -e .``
- Now you can open ``api.py`` file and start editing it. Feel free to extend it or even submit a pull request if you have a useful feature.
## Contribute
Pull Requests, Feature Suggestions, and collaborations are welcome.
## About Us
This work is a collaborative effort of [PyBodensee](https://pybodensee.com/), and [SerpWings](https://serpwings.com/).
Raw data
{
"_id": null,
"home_page": "https://github.com/pybodensee/meetlify",
"name": "meetlify",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "meetups, static-site-generators, seo, python",
"author": "Faisal Shahzad",
"author_email": "pybodensee@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/a4/2a/b7f4421c892caca83b0be85154dd12b76f4bdb2b2de1ee5257b999b01bb3/meetlify-0.1.12.tar.gz",
"platform": null,
"description": "# meetlify\n\nPython based Static Site Genrator for Meetups/Meetup Webites.\n\n[![license](https://img.shields.io/pypi/l/meetlify.svg?style=flat-square \"Project License: MIT\")](https://github.com/pybodensee/meetlify/blob/master/LICENSE)\n[![status](https://img.shields.io/pypi/status/meetlify.svg?style=flat-square \"Project Development Status\")](https://github.com/pybodensee/meetlify/milestone/1)\n[![pypi_version](https://img.shields.io/pypi/v/meetlify.svg?style=flat-square \"Available on PyPi - the Python Package Index\")](https://pypi.python.org/pypi/meetlify)\n[![supported_python_versions](https://img.shields.io/pypi/pyversions/meetlify.svg?style=flat-square \"Supported Python Version\")](https://pypi.python.org/pypi/meetlify)\n\n\n## How to Use?\nThis package is available at ``pypi`` and you can install it with ``pip install meetlify`` command. It will also install required additional libraries/Python Packages automatically.\n\n### Using GitHub Template\n\nWe have prepard [meetlify-template](https://github.com/pybodensee/meetlify-template) which is a sample template repository. Just use this template to create your own repository. \n\nThis approach is for buy and non techies who just want to host a simple meetup website. Make sure that GitHub actions are allowed to execute on your account. After successful clone, the website will automatically create/update gh_pages branch which you can link with any static hosting provider e.g. GitHub Page, Netlify, Cloudflare Pages, Vercel and others. However, this repo is optimized for hosting on Netlify.\n\n### Using Command Line Interface (CLI)\n\nCreate an empty folder on your computer or move to a desired location where you want to create the Meetup Website. \n\n1. Now execute ``meetlify init`` which will crate an empty configuration file (JSON) in the folder. Feel free to edit it as per your need. Content of the configuration file are self explanatory. \n\n2. Now execute ``meetlify setup`` which will setup the all folders as per your configurations. \n\n3. Now execute ``meetlify make`` which will generate full website in output folder.\n\n\n### Using Application Programming Interface (API)\n\nYou can embed ``meetilify`` into your existing workflow easily. Here is a sample snippet.\n\n```python\nfrom pathlib import Path\nfrom meetlify.api import Meetlify\nfrom meetlify.utils import initialize\n\ndestination_path = Path(\"/home/user/Desktop/sample_webiste/\")\n\n# Now initialize configurationn file\ninitialize(dest_=destination_path)\n\n# Modify newly created config.json file as per your need.\nmtlfy = Meetlify(dest_=destination_path)\nmtlfy.render_home()\nmtlfy.render_404_page()\nmtlfy.render_meetups()\nmtlfy.render_posts()\nmtlfy.render_pages()\nmtlfy.render_categories()\nmtlfy.render_redirects()\nmtlfy.render_sitemaps()\nmtlfy.render_robots_txt()\nmtlfy.copy_assests()\n\n```\n\n## How to Extend ?\n- Clone or download this repository to your computer.\n- Create a virtual environment using ``python -m .venv venv``\n- Navigate to the downloaded directory and then install all required dependencies using ``pip install -e .``\n- Now you can open ``api.py`` file and start editing it. Feel free to extend it or even submit a pull request if you have a useful feature. \n\n## Contribute\n\nPull Requests, Feature Suggestions, and collaborations are welcome.\n\n## About Us\n\nThis work is a collaborative effort of [PyBodensee](https://pybodensee.com/), and [SerpWings](https://serpwings.com/).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python Package to Generate Meetup Websites",
"version": "0.1.12",
"project_urls": {
"Download": "https://github.com/pybodensee/meetlify/releases/v0.1.12.tar.gz",
"Homepage": "https://github.com/pybodensee/meetlify"
},
"split_keywords": [
"meetups",
" static-site-generators",
" seo",
" python"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "97e05e62145ea1341c261b39c888ced8f87391f7e39de1a9ab60415a9e7a2a03",
"md5": "b94cc8ddcb697c3da32e4451dae7e179",
"sha256": "9138b799740151aac306d211f0a58abed8eaaa2fe5d38ea77afeadebd66cdfc5"
},
"downloads": -1,
"filename": "meetlify-0.1.12-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b94cc8ddcb697c3da32e4451dae7e179",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 2401103,
"upload_time": "2024-07-21T17:57:08",
"upload_time_iso_8601": "2024-07-21T17:57:08.318988Z",
"url": "https://files.pythonhosted.org/packages/97/e0/5e62145ea1341c261b39c888ced8f87391f7e39de1a9ab60415a9e7a2a03/meetlify-0.1.12-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a42ab7f4421c892caca83b0be85154dd12b76f4bdb2b2de1ee5257b999b01bb3",
"md5": "affeec52dda85fa7a3a0198732dec87c",
"sha256": "5653589c71770ae86e2bfcae065e47273b1b92de174ed1fa80c7207d50b7af93"
},
"downloads": -1,
"filename": "meetlify-0.1.12.tar.gz",
"has_sig": false,
"md5_digest": "affeec52dda85fa7a3a0198732dec87c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 2353504,
"upload_time": "2024-07-21T17:57:10",
"upload_time_iso_8601": "2024-07-21T17:57:10.214633Z",
"url": "https://files.pythonhosted.org/packages/a4/2a/b7f4421c892caca83b0be85154dd12b76f4bdb2b2de1ee5257b999b01bb3/meetlify-0.1.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-21 17:57:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pybodensee",
"github_project": "meetlify",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "meetlify"
}