Share your Kirby website source codes

For lack of a better title, I’ll try to explain the goal of this article.

There is an immense and unbelievable amount of talent in the tiny albeit growing Kirby community. The showcase and the “Made with Kirby and <3” forum post are just the two great examples.
I’ve spent a lot of time lately exploring the github profile of a lot of those developers and was delighted to see that not only their work is fabulous, some of their websites are on public repos. I think it deserves to be publicized more and would like to push the idea to the community to think of the best way to do it.

Learning by seeing how others work is one of the things I love most. I already have a small collection of repos I could share, how do you guys recommend doing it?
Should it be a website like the getkirby-plugins and themes? Should it be a repo like the one on jens’ github? I haven’t found the best way to share a collection of github repositories but don’t think creating issues that link to a repository is very user friendly. No offense to @jenstornell, I follow that repo religiously :wink:

Edit: just had a look at the [contribution guidelines for the awesome list of awesome lists repo] (https://github.com/sindresorhus/awesome/blob/master/contributing.md) . Maybe following their way of operating is achievable? Thoughts?

6 Likes

I think this is a great idea! I saw some lists just simply storing everything in the readme or an additional markdown file. That makes it quite easy to send pull requests from Github’s web interface.

We can contribute the Kirby site as a starter: https://github.com/getkirby/getkirby.com/ :slight_smile: It urgently needs some cleaning up though.

1 Like

I think this is a great way – a simple list in a simple markdown file. Who wants to create a repo? :smiley:

1 Like

I think @Thiousi, it’s his idea after all.

Do you have a to-do list of things that need to be done on it?
More generally, do you have a to-do of things you’d love to see done by the community? I would greatly consider helping on some projects as a way to do my “homework” if it’s all reviewed by expert eyes before being pushed!
@flokosiol, I’ll create a repo as soon as I’m in front of my computer. It’s a pain from a phone :sweat:

I also love when whole sites are public, learning from real working code is great. I would happily share the sites I build, if…

  • the client agrees to it, which is not a given ;
  • it’s on Github and public. Most of my Kirby work is in private repos :confused:

I guess I could also push to Github, and even automate it with post-receive hooks, but it sounds like additional work and maintenance. I’m no Git Ninja though, there may be an easy way.

2 Likes

You mean the complete Kirby installation? :open_mouth:

Yes, like you can find the getkirby.com website on github already. A lot of websites are shared that way, sometimes only the content is removed, sometimes nothing is removed. It’s a great way of learning. I’ll share the link to the repo here and start adding some repos I know of today I hope.

1 Like

Yes, but you can ignore the core! :wink:

I recently finished my first kirby site and was looking for examples. It’s the best we to get the sense for the CMS.
I think it’s also a great way for the developer to get feedback for his site.

I’m in :slight_smile:

1 Like

So I just went through the fun process of creating a repo from my phone :scream:. Don’t try it!
Anyways I’ve just made a basic Readme file for now so we can start collecting urls but will be spending more time on this soon.

Introducing Kirby Repos

For now I’ve only added getkirby.com. I’ll create a post to introduce the list to the forum once it’s more robust. Thanks for showing an interest in this!

2 Likes

That’s awesome! I just posted it on Twitter.

1 Like

Time to check my repo. And upgrade Kirby as soon as I can find time :flushed:

1 Like

Hmm now i dont will doing this, its so uncertain for me

Hi @thesmithy

  • You can start by creating a github account if you don’t have one.
  • Once that’s done go ahead and create a repo. Help here.
  • Upload your website to the github repo. DO NOT FORGET TO REMOVE YOUR LICENCE KEY IN THE CONFIG
  • Open the Readme.md file in kirby-repos
  • Click on the pen icon :pencil2: to edit the file and add your github repo (please follow the guideline at the beginning of the Readme file)
  • Submit your suggested change and it’ll be added as soon as I review it.

Let me know if you’re stuck at some point and thanks for wanting to share your website! :green_heart:

1 Like

I posted a general guide on what to exclude from your public Git repos before sharing them on Github, Bitbucket, etc. Github Repo Security Advice

I haven’t found the best way to share a collection of github repositories but don’t think creating issues that link to a repository is very user friendly. No offense to @jenstornell

In your case it might be better with the kind of repo you have set up. Time will tell. The most important thing is probably that you feel good about it. :slight_smile:

Why I choose to use issues

Even if your approach will work perfectly well, I want to say why I’m using the issues approach for the plugins.

Github can be used as a tool

The issues tab of Github is like a tool itself with filter, search, labels and authors. 99% of all plugins are on Github, so I felt there was no need to build an external tool when everything needed is just there. :floppy_disk:

No learning skills required

You don’t need any Github skills to add a new plugin. Just click a button and paste a link, kind of. :mortar_board:

Not much time required

It takes under a minute to add a plugin, maybe a few seconds. :alarm_clock:

No moderation required

We don’t need to approve the plugins that comes in. :sleeping:

Labels to keep organized

We have over 200 plugins and it’s still easy to be organized. One reason for it is that it’s possible to have labels. In Github call them labels. I would probably have called them categories or tags. Anyway, the function is the same. :sunglasses:

Authors to keep organized

Another way of keeping organized is the authors are often assigned to the plugins. Then you can see all the plugins of one author. :koala:

Discussions

It’s also possible to have a discussion on each plugin. So far we have no deep conversation, but some shorter ones. It’s still possible anyway. :scream:

Filter and search

The filter and search is really nice, I think. You can filter by for example the plugin author (assignee) and labels (categories) or combination of it.

It’s also possible to search by anything in the plugin information. :flashlight:

Summery

It has worked really well so far. I’m using the repo myself from time to time. Therefor I have no intentions to change the concept. It’s too simple to maintain for it to change.

Also @aoimedia are doing an amazing job at adding new plugins. :dizzy:

Security

I would recommend to disallow the accounts folder.

Even if the password is hashed, maybe someone can break it. And you give away usernames and email-adresses as well.

Maybe in time add some security instructions, or an example .gitignore?

(Yes, I know I went bananas with the emojis this time) :wink:

2 Likes

I just removed the link in your security advice. Rather contact the author instead, so he/she can remove it. I also just published a guide with more info what to exclude from repos.

1 Like

Thanks for such a thorough answer jens! I have to say I completely missed some of the advantages of using issues that you listed here!
Regarding security issues, the point has been raised with Bastian who pinned a post in the forum. I’ve also added instructions in the repo and the content of the sample gitignore file that comes straight From Kirby. I hope that showcasing repos will never cause grievance to developers that had missed a security sensitive bit of code or information somewhere. I will for all future pull requests verify that at least the accounts and config are not in the repo before allowing it on the list. I’m contacting every dev that has sensitive information in their repo asap to help them protect their work and information.

5 Likes