Before we dive in, just a quick word about our supporter for this Deep Dive, Safe
Server.
They manage the hosting for this software, and they're ready to support you with
your
digital transformation too.
You can find more info at www.safeserver.dst.
Welcome back to the Deep Dive.
Today we're looking at the sources you sent over, and we're going to peel back the
layers
on something called static site generators.
Sounds maybe a bit technical.
Yeah, it can sound that way at first.
But honestly, for your projects, it could be this really empowering shortcut to
getting
your ideas online.
So our mission here is to give you a clear, straightforward understanding,
especially
if you're kind of new to this and just want a simpler way to publish stuff.
Exactly.
And we're zoning in on one specific tool today, a Python-based one called Pelican.
That's the plan.
So for this Deep Dive, we've really dug into the key info from two main places, the
official
Pelican website itself, and also its GitHub repository.
And these give us a really good picture of what Pelican is, how it actually works,
and
importantly, what you can do with it.
We want to be sure you leave this with a really clear sense of why this might be a
great option
for your own website or project.
Okay, sounds good.
Let's unpack this then.
So many of you listening probably have a sense of how lots of websites work, right?
They often have these complex databases running in the background.
Definitely fetching data.
Yeah, talking to servers that are running pretty intricate code.
It's almost like imagine a busy restaurant kitchen, right?
Every dish made fresh to order, ingredients pulled from this huge pantry.
It's powerful, sure.
Definitely powerful for dynamic stuff, yeah.
But it can also be quite daunting to manage.
You need server knowledge, constant updates, security worries.
It feels like you need to be a top chef just to make a simple sandwich sometimes.
That's a good analogy.
So for sites that are mostly about content, like a blog maybe or a portfolio, what
if
there was just a simpler way?
What if you didn't meet all the database stuff or complex server programming?
And what's really interesting is there is a fundamentally simpler way.
And Pelikan, well, it's a perfect example of that whole philosophy is what's known
as
a static site generator.
And it's written in Python.
Its main job is actually brilliantly straightforward.
Instead of that dynamic kitchen, you basically pre-bake everything.
Oh, OK.
You write your website content using simple text files formats like Markdown or
maybe restructured
text.
Think of them as just, you know, enhanced text documents, easy to write in any
editor.
Right.
I use Markdown sometimes.
It's pretty clean.
Exactly.
Then Pelikan takes those text files and just transforms them into a complete ready-to-go
website.
HTML, CSS, JavaScript files, all static.
Static meaning no processing needed on the server when someone visits it.
Precisely.
No static code running.
No database lookups for that page view.
The files are just served as they are.
And the insight here is how that simplicity makes the site inherently more secure,
much
faster and honestly cheaper to host and maintain.
Right.
Because there's less to go wrong, less to manage.
Exactly.
It's a different way of thinking about web architecture, especially for content-heavy
sites.
That does shift the perspective.
So the real sort of magic is turning that simple text into these static files.
HTML, CSS, JavaScript.
Does that mean hosting gets really easy compared to a typical WordPress site or
something?
Oh, absolutely.
Almost trivial sometimes.
I remember spending a whole weekend one time debugging some rogue plugin that
crashed my
simple blog.
Honestly, if I'd known about tools like Pelican back then, it could have saved a
lot of hassle.
We've all been there, I think.
So what does the simplicity mean for you listening right now when you just want to
get your stuff
out there?
It really means less fuss, right?
Less server admin headache and just an easier path to getting published.
And if we look at Pelican's core features, they're all built around this idea.
First, you get what we could call content freedom.
Okay.
Write in your favorite editor, use markdown or restructure text.
They're easy to learn, widely used.
Second, automated generation.
A simple command you run and poof, it rebuilds your site from your text files when
things
change.
Like hitting compile almost.
Sort of, yeah.
But for your website, third, and this is key, easy hosting.
Because the output is just plain static files, HTML, CSS, JS, you'd host it
literally anywhere.
Any basic web server cloud stores like S3, Netlify, GitHub pages, anywhere they can
serve
files.
No special PHP or Python hosting needed?
Nope, not at all.
Yeah.
Just needs to serve files.
And finally, because it is all just files, it's naturally version control ready.
Easy to use with Git, track changes, collaborate, Pelican's own code is on GitHub,
so it fits
right into that workflow.
That version control aspect is huge, especially if you're working with others or
just want
a safety net.
OK.
So that's the solid foundation.
Simple, efficient.
But, you know, often the things that make you really choose a tool are the extra
bits,
the sort of wow factors.
Does Pelican have things like that beyond just the basic text to HTML?
That's a fair question.
And yeah, it does pack quite a few punches beyond the basics.
For instance, it handles both chronological content, your typical blog posts or
articles
ordered by date, and also static pages like an about page or a contact page.
Really smoothly.
Ah, good.
So it's not just for blogs.
Not at all.
And for how it looks.
It uses site themes built with Jinja 2 templates.
Jinja is a pretty popular templating engine in the Python world.
Right.
So that gives you a ton of flexibility to customize the appearance without digging
into Pelican's
core code.
You can really make it look unique.
Nice.
What about reaching a wider audience?
Well, it has built-in support for publishing articles in multiple languages.
Which is quite neat.
It handles the structure needed to serve, say, an English and a Spanish version of
your
site.
Oh wow.
That's actually a big deal for some projects.
It really can be.
It also automatically generates Atom and RSS feeds.
These are those feeds people can subscribe to in feed readers so they get notified
about
your new posts automatically.
Great for building loyal readership.
Essential for blogs, yeah.
And if you're writing about tech, it has code syntax highlighting using a library
called
Pigments.
Makes code snippets in your articles look really clean and readable.
Oh, that's crucial for technical blogs or documentation, definitely.
And another big one, if you're maybe thinking of switching from something else, Pelikan
can actually import existing content from platforms like WordPress, DotClear, or
even
just from RSS feeds.
Seriously, that could save hours of manual work.
It's a huge help for migration, yeah.
And performance-wise, it focuses on fast rebuild times.
It uses caching and only writes out files that have actually changed.
So regenerating the site, even with lots of content, stays pretty quick.
Smart.
Doesn't rebuild everything every single time.
Exactly.
And lastly, if there's something specific you need that isn't built in, there's a
really
rich plugin ecosystem.
Lots of community-contributed plugins to add features.
Or you can write your own if you're comfortable with Python.
Wow.
This list is genuinely impressive.
It starts simple, but there's clearly a lot of power under the hood.
The multi-language support, the importer, those are really practical wins.
They really are.
And I actually stumbled on a little fun fact about the name, speaking of neat
things.
Apparently, Pelican is an anagram.
Of what?
Of a calipin.
It's a French word for a small notebook.
Huh.
That's clever.
A little nod to organizing your notes into a site.
I like that.
Yeah, me too.
All right, so we've established Pelican is powerful, versatile, sounds great.
But the big question for a lot of listeners, especially the beginners we're
thinking about
today is, can I actually use this?
How easy is it to get started if you're maybe not super technical?
That's the crucial question, isn't it?
And the answer is, it's designed to be pretty accessible.
The official quick start guide really aims to get you going quickly, even if maybe
you
haven't used the command line much before.
Okay, let's hear it.
Let's talk us through it.
Imagine I'm, say, a student wanting a simple portfolio or someone starting a hobby
blog.
How do I go from zero to seeing something?
Right.
So step one is installation.
Assuming you have Python on your computer, which many systems do, or it's easy to
install,
you just open your terminal or command prompt.
Okay.
That black window thing?
Yep.
You type this command, python-m pip install pelican markdown.
You hit enter.
Pip is Python's package installer.
This usually takes less than a minute, and it downloads and installs Pelican and
the
bits needed for markdown.
Okay.
Pip install pelican markdown.
Got it.
Step two, you create your project.
So you make a new folder somewhere for your website, let's call it MyAwesomeSite.
You navigate into that folder in your terminal.
Using CD probably?
Exactly.
Using CD MyAwesomeSite.
Then right there, you type pelican quickstart and hit enter.
Pelican quickstart.
Okay.
This command starts a little interactive questionnaire that'll ask you things like,
what's the title
of your site?
What's the author?
And importantly, what's the main URL going to be?
Like https.my-awesome-site.com or whatever.
You just answer the questions.
And it sets up the folders and basic files for me.
Precisely.
Creates the basic structure, like a content folder for your articles, an output
folder
for the generated site, a settings file, all ready to go.
Okay.
Structures there.
Now, the actual content.
Step three.
Write your first article.
You just open.
The text editor could be notepad, VS code, supplying text, anything.
You create a new file inside that content folder it made.
Let's call it firstpost.md.
The MD is for Markdown.
Right.
Inside that file, you put a few lines at the very top for metadata.
Like my first post, 20, 23, 10, 27, 0.00.
Scalica.
Musings.
Then just below that, you start writing your actual article content using Markdown
formatting.
You know, like this is my first post using Pelican.
That's pretty cool.
Simple enough.
Title, date, category, then the text.
Exactly.
And step four, the payoff.
Preview your site.
You go back to your terminal.
Make sure you're still in your main project folder.
My awesome site.
And you type Pelican Nessure RL.
Pelican Nessure RL.
What does the RRN do?
Good question.
That R tells Pelican to keep running and automatically regenerate the site if you
change any content
files.
And Desk tells it to launch a simple local web server so you can view the site.
Ah.
Handy.
So it builds it and serves it locally.
Yep.
So it builds the site into the output folder and then usually say something like,
serving
site at http.localhost.800.
You just open your regular web browser, go to that address.
And I should see my site.
With my first post.
You should see your brand new site using the default theme initially with my first
post
right there.
It's usually a real aha moment.
OK.
Those four steps, install, quick start, write a file, preview.
That does sound genuinely manageable.
It really lowers the barrier to just getting something up and running quickly,
which is
fantastic for learning and experimenting.
That's the whole idea.
Get you focused on content quickly.
Now, if someone does run into a little snag or wants to go beyond that basic setup,
where
does the community aspect come in?
You mentioned it's open source.
Right.
And that's a huge strength.
Pelican is fundamentally an open source project.
It lives on GitHub and it's pretty active looking at the stats.
It has over 13,000 stars, about 1800 forks.
That's quite a lot.
That indicates a healthy user base.
Definitely.
It means people are using it, interested in it, contributing to it.
So for you as a user, that means the code is well tested and there's a community
around
it.
If you hit a problem, chances are someone else has too.
And there might be a solution on an issue tracker or forum.
And the license.
It's licensed under the AGPL 3.0.
That's a strong copy left license, ensuring it stays free and open source.
And if you peek under the hood, it's mostly Python, about 89%, then some CSS and
ginger
for templating.
Okay.
So a strong open source foundation.
If our listeners are thinking, okay, I want to try this or maybe even, hey, I could
help
out.
What are the best places to go for help or to get involved?
Great question.
There are several avenues.
First stop for almost any question should be the official Pelican documentation.
It's really comprehensive, well written, covers everything from the basics right up
to advanced
customization and plugin development.
Always good to have solid docs.
Absolutely essential.
Then if you want to actually contribute back, you can do that on GitHub.
You could submit pull requests if you find a bug and fix it, or if you add a new
feature.
You could help triage issues that other people report, confirming bugs, asking for
more info,
or a really valuable way to help is by improving the documentation itself.
Clearer docs help everyone.
That's often overlooked, but yeah, it's so important.
If you just want to support the project financially, keep the development going,
you can donate
to the Pelican dev team, they have links on their site, like donate.getpelican.com,
or
they're on platforms like LibrePay.
Every little bit helps maintain and improve the tool.
And we should also mention, one of the project's key supporters is Fortressa
companies sponsoring
open source like this makes a real difference.
Definitely good to acknowledge the supporters.
Okay, so wrapping things up a bit, we've taken this deep dive into Pelican.
It's a static site generator written in Python.
The big takeaway seems to be how it simplifies getting a website online.
You write in simple text files.
Like Markdown.
Right.
Like Markdown.
Pelican turns them into a full HTML website.
No complex database needed on the live site.
No tricky server-side code just to display your content.
It feels really accessible, powerful too, especially if you're starting out and
want
a blog or a portfolio without the usual backend headaches.
Yeah.
It puts the power back in your hands, focusing you on the content.
What's really fascinating to me here is just that core idea of static generation
itself.
How tools like Pelican strip away all those layers of complexity we often associate
with
websites.
Exactly.
It makes things simpler, faster, more secure in many cases.
It really lowers the barrier for anyone who just wants to publish something online.
It makes a solid web presence feel much more achievable, regardless of how
technical you
are.
It's quite empowering.
It really is.
And that leads to maybe a final thought for you, the listener.
Now that you know how accessible static site generation can be with tools like Pelican,
what new possibilities does that open up?
Is it that blog you've been meaning to start?
A simple site for a side project?
Maybe documentation for something you're building?
The tools are there?
And maybe simpler than you thought.
And before we go, once again, a huge thank you to our supporter, SafeServer.
For all your hosting needs and digital transformation support, remember to check
them out at www.SafeServer.de.