Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transition from Jekyll to a Python-based Static Site Generator #19

Open
5 tasks
swmcc opened this issue Aug 20, 2023 · 10 comments
Open
5 tasks

Transition from Jekyll to a Python-based Static Site Generator #19

swmcc opened this issue Aug 20, 2023 · 10 comments
Labels

Comments

@swmcc
Copy link
Member

swmcc commented Aug 20, 2023

Jekyll has been a great tool for generating our static website, but it is built on Ruby, and as a Python group, it would be more consistent and beneficial for us to use a Python-based alternative. There are several Python-based static site generators available that offer similar functionality and can seamlessly integrate with our existing workflow.

Suggested Solution:

  • Evaluate Python-based static site generators: Review and select a Python-based static site generator that best suits our needs. Some popular options include Pelican, MkDocs, and Nikola.

  • Migrate existing content: After selecting an appropriate static site generator, we need to migrate the content from our Jekyll-based site to the new platform. This may involve converting markdown files, updating templates, and adjusting configurations.

  • Update build and deployment scripts: As part of the transition, we should update our build and deployment scripts to work with the new static site generator.

  • Testing and validation: Ensure that the new site works as expected, including checking for broken links, formatting issues, and any other inconsistencies. Perform thorough testing across different browsers and devices.

  • Update documentation: Update our internal documentation to reflect the change in technology and provide guidance on using the new static site generator.

Benefits:

  • Consistency: Using a Python-based static site generator will align with our technology stack and programming language preference.

  • Easier Maintenance: Our team's familiarity with Python will make it easier to maintain and customise the site.

  • Community Engagement: Transitioning to a Python-based solution may encourage more contributions and engagement from the Python community.

Actions Required:

  • Discuss and decide on the most suitable Python-based static site generator for our needs.

  • Assign a team to handle the migration process, including content migration, template updates, and configuration changes.

  • Update the build and deployment scripts to work with the new static site generator.

  • Test and validate the new site.

  • Update documentation and communicate the change to relevant stakeholders.

By transitioning to a Python-based static site generator, we can stay true to our technology stack, encourage more community engagement, and make it easier for our team to maintain and customise the site.

Let's start planning and execute this change in a smooth and timely manner.

@andrewbolster
Copy link
Collaborator

For tracking; continuation of #5

@Jamesgo1
Copy link

Jamesgo1 commented Sep 4, 2023

Hi,

Mentioned on the Slack I'd like to help with this if I can. Not something I've much experience with but happy to give it a go but be guided by others regarding best tools to use.

@swmcc
Copy link
Member Author

swmcc commented Sep 8, 2023

Please do, this would be great.. If you need any help just ping me on slack and I will see what I can do. Thanks very much

@Jaid844
Copy link

Jaid844 commented Sep 17, 2023

Hi. ,i want to help you guys , but does a person need to have knowledge of ruby or jekyll before solving this issue

@swmcc
Copy link
Member Author

swmcc commented Oct 7, 2023

Hey sorry for the late reply. No no prior knowledge is needed. Just give it a go and you will have people supporting you from there on in.

@Jaid844
Copy link

Jaid844 commented Oct 8, 2023

Tell me how ,and where to start , I will get into it .Any heads-up and Guidance is appreciated ,Do you guys have discord where we can talk this about?

@apoclyps
Copy link
Collaborator

apoclyps commented Oct 8, 2023

@Jamesgo1 has already made some progress on this within https://github.com/Jamesgo1/pybelfast.github.io

thread: https://nitech.slack.com/archives/C0JHZKQ57/p1694127637498689

OK so it's just the default theme for now and all I did was migrate the existing content but here it is using Pelican (which is great IMO)
https://pelican-refactor-jg.dmb022bphb3jk.amplifyapp.com/

Repo is here https://github.com/Jamesgo1/pybelfast.github.io/tree/pelican-refactor-jg as haven't made a PR yet

@Jaid844 Github may remaing the best place to discuss for visibility as the slack we use does not persist it's history so messages are lost over time. If you wish to chat there, you can reach out to myself https://www.linkedin.com/in/kyleaharrison/ with your email and I can send you an invite to the NI Tech Slack where we typically discuss all things PyBelfast related in the #pybelfast channel

Next steps would be to build upon the work that @Jamesgo1 has started and add a theme / raise a PR to this repostiroy with the changes

@Jamesgo1
Copy link

@Jaid844 Feel free to build upon it as Kyle said.

There are some Pelican themes available here - https://github.com/getpelican/pelican-themes

Here's the one I used to set up my personal site (haven't managed to add any content yet!)
https://github.com/gilsondev/pelican-clean-blog/tree/ea156f8f1741e473bc0ab848b7c8898112d6ffb5

https://www.jamesgough.link/

@Jaid844
Copy link

Jaid844 commented Oct 11, 2023

Which theme do you like , any suggestion?

@apoclyps
Copy link
Collaborator

Gilson Dev seems like a good choice - we can create an image for the banner latter to replace the default one but I think that would be a good starting point

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants