nairobilug / nairobilug.or.ke Goto Github PK
View Code? Open in Web Editor NEWA lively community of GNU/Linux ๐ง enthusiasts
Home Page: https://nairobilug.or.ke
A lively community of GNU/Linux ๐ง enthusiasts
Home Page: https://nairobilug.or.ke
Search bots like Google, Bing, Yandex, etc often utilize named HTML <meta>
tags as a method of verifying ownership of a site for addition to their bot's webmaster tools. Obviously you can only add an manage sites you have proven you have administrative control over, as the webmaster tools portal allows you to control crawl rate, remove URLs from the index, submit sitemaps, etc.
For example, my personal blog advertises the following meta tags:
<meta name="msvalidate.01" content="2CA373095D945D1AA256B1CD8A3DF872" />
<meta name="google-site-verification" content="WBiaMTuwgqrrvY4EuVm3PMcmPcpV9CFI-iqkzcVs8z0" />
<meta name="yandex-verification" content="4e0c2c3f29b52afa" />
It would be nice if our Pelican theme could do this as well. At the very minimum we could set variables in the pelicanconf and just interpolate them in the base template. For extra points it could be a Pelican plugin (and you could submit it upstream!).
As a community, how should we manage our domain names and socials. @bkmgit created nairobi.lug.or.ke since getting nairobilug.or.ke was tedious, given that everyone was busy? What protocol/process should we follow to manage such stuff. Commit access is also in the discussion. Of late, I'm the only one who looks at people's PRs ๐
Hey could we improve the README in terms of code style and the information on it for example to point users to the new requirements file and commands from the new Makefile.
In terms of code style the README is really hard to read. It would be great if we had standard code style for the README and other LUG code. Particularly have lines not go beyond 80 characters. You can see this for more info http://programmers.stackexchange.com/a/222998
I don't mind making this improvement either but at this point it would really be good for information exchange if someone else did it. I'd be happy to see your thoughts on this in a discussion below.
If you want me to work on this assign me the issue.
We should update the readme flow to automatically init the submodule:
$ git clone --recurse-submodules [email protected]:nairobilug/nairobilug.or.ke.git
This much easier for first-time users and git newbies (so they don't have to know what a git submodule is).
This is happening when I try to access the page through the IRC bot. It could fail to be the fault a library I am depending on (simpleirc) but I think not because it only happens with http://nairobilug.or.ke
TlsExceptionHostPort (HandshakeFailed (Error_Protocol ("expecting server hello, got alert : [(AlertLevel_Fatal,HandshakeFailure)]",True,HandshakeFailure))) "nairobilug.or.ke" 443
We need this so we can have search bots index our content better (as opposed to just stumbling upon us and scraping HTML). See here for Pelican-specific notes on generating a sitemap.xml
:
https://github.com/getpelican/pelican/wiki/Tips-n-Tricks
Perhaps @urbanslug or @jasonrogena could do it to it...
We should convert all blog post titles to title case. There are many scripts out there, for example TitleCase.pl by John Gruber. My post on image compression would change, for example:
$ ./TitleCase.pl
Image compression like Compressor.io, but with open-source tools
Image Compression Like Compressor.io, but With Open-Source Tools
If you start paying attention to professional writing you will notice this is very common. For example, The New York Times
Reduce ugliness of the blog. We need to explore some different Pelican themes.
Somebody needs to write a post on the March 2017 meetup, mainly because it was the first time we had someone present. It'd be good to highlight that.
It's hipster AF: http://gohugo.io/
The default Pelican theme used the LINKS config option to display a list of blogs, but crowsfoot doesn't have that... how do we wanna do that?
We should aim for a pro logo. One we could use on merchandise, shirts, stickers etc. @highPriestLOL's got us a cool logo, but I think we can get to the next level.
Check out Atlanta Ruby User Group's (https://github.com/atlrug) logo:
I realize we may lack design skills ๐, maybe this can help: Hipster Logo Generator - http://www.hipsterlogogenerator.com/
It's pretty confusing for new users who try to get started after the initial checkout. Also, it complicates pull requests, like #95, which is opened on the blog repo, but mostly affects the theme repo. Sometimes even I forget to update the submodule on one or other of my dev machines, and only realize something is broken when I push the resulting gh-pages to github!
What do you think about this @raymondwanyoike? We could just move the theme into this repository under the "theme" path...?
There is no visual style for links... fix teh CSS!
Can we use the modern "version" of pelican and get nicities such as make devserver that make the development process smoother? Example see: https://github.com/urbanslug/urbanslug.github.io even though I don't use it.
@alanorth @rwanyoike @oguya @jasonrogena Is there a reason we are using what we are using and shouldn't "upgrade"?
I could get this done if I have your go ahead.
So we have no license in this repository. The repository contents are purely authored but LUG people, so we can choose one ourselves.
Since it's not really code we should probably use some form of Creative Commons, no? Perhaps Creative Commons 4.0 BY-SA? That requires attribution and sharing under the same terms, and allows for commercial use (as long as the result is attributed to us and shared under CC-BY-SA as well. This is similar to the GPL for code, which is not against commercial use).
We would also need an item in README.md
listing the license terms.
Right now, (I think) the maintainers do this each time there is a PR/change to be made
Merge PR -> ๐จโ๐ป Pull repo -> generate site -> ๐ฅฑ push to gh-pages -> site deployed
I propose we use some sort of automation so the work-flow looks like this.
Merge PR -> ๐ค Automation ๐ค -> site deployed
The services focus on making static site hosting easier.
Other providers
vercel - Mostly same features & restricions
render - Mostly same + Free for teams
DigitalOcean App platform - Free, previews yet to be implemented , unlimited collaborators
Github actions can be used to automate almost anything.
Example site
actions.yml
fotr the site
If we end up using github actions, we can still use netlify just for checks & deploy previews.
See Fluidbox... https://terrymun.github.io/Fluidbox/
Given the fiasco happening on Freenode (1), with the acquisition and transfer of control, it would be best if our #nairobilug
IRC channel were moved to irc.libera.chat
along with bots.
Our friends over at Ubuntu ZA (https://ubuntu-za.org/), have a neat record keeping structure on their website (https://wiki.ubuntu.com/ZATeam/TeamReports, https://wiki.ubuntu.com/ZATeam/Meetings)
What do you think of creating such a structure for the LUG, mainly for our meetups?
We don't need anything complex. Someone can hack an interactive script or web app that generates a consistent doc (eg markdown) for the site.
Google (for one) recommends indicating paginated content so they can index and display series of pages more intelligently and reduce displaying duplicated content. In our case this would come in handy on our index and "page 2", "page 3" etc, which are all continuations of the same logical "list of blog posts" page.
The index page would have the following:
<link rel="next" href="https://nairobilug.or.ke/index2.html" />
Then the second index page would have the following:
<link rel="prev" href="https://nairobilug.or.ke/" />
<link rel="next" href="https://nairobilug.or.ke/index3.html" />
Not sure how this would work, because our blog is static, so the logic would have to happen at blog generation time. Can Jinja2 know how many pages we have, and which page it's on? Ping @raymondwanyoike @jasonrogena
https://github.com/blog/1715-faster-more-awesome-github-pages
Yes, I'm submitting this ony phone from a taxi. โค๏ธ GitHub!
Should there be an analytics service, tracking cookies, and social plugins to fingerprint visitors?
Maybe worth adding licenses for content, see for example https://reuse.software/dev/
I just checked and there is a new release of Pelican since a few weeks ago. All we have to do is make sure the local Pelican is updated in the virtualenv the next time we generate the HTML. //cc @raymondwanyoike
On a related note, we should be remembering to update our environments from time to time...
$ pip list --outdated
Markdown (Current: 2.5.1 Latest: 2.5.2)
pelican (Current: 3.4.0 Latest: 3.5.0)
python-dateutil (Current: 2.2 Latest: 2.3)
pytz (Current: 2014.7 Latest: 2014.10)
Pygments (Current: 1.6 Latest: 2.0.1)
$ pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U
Overview of the books we read in the last year... or even reviews of certain ones. @raymondwanyoike @jasonrogena @fredmanglis ???
Right now there is zero information about who wrote the post, what categories the post is in, etc...
Hi
I have been trying to access the nairobilug website for a while but it is inaccessible.
This is the link I am using https://nairobilug.or.ke/
Attached is what I am getting.
Is there any assistance needed to have the website up and running again?
Related to #93. Would be a static file we can add in content/extra/
.
I suggest we base ours on something like Wikipedia's robots.txt, which blocks bad bots, etc.
We can have a list of pages in the header, see James Porter's blog for an example of pages, and the Pelican docs for a bit more info.
We should at least have an "About" page, ie with a blurb about "why" and then maybe about meetings. Or maybe "about" and "meetings"...?
It would be nice to have an RSS feed for the website.
make publish
and publish.conf
generate the RSS feed. IIUC, the Github Action does not use the publish config and thus the feed is not available.
I also found old PRs that seem to add icons and links for the RSS feeds: #17 and #24.
Since the website is down, I can't conclusively tell whether the feed is available.
Seems like someone deleted the [email protected] mailing list. We need to restore that.
I'm on mobile and realise this might not be the best place, but I have to put this down somewhere before too much time is gone
We should know who is coming to our site, so we can know when we get slashdotted and such. :P
From a quick look, I don't think our theme supports analytics... but adding it should be trivial, for example: https://github.com/getpelican/pelican/blob/master/pelican/themes/notmyidea/templates/analytics.html
Someone could set up the google analytics in their personal Google account fairly easily, then add interested parties to the site's admin ish. Go go go!
Pyenv is way easier, and recommended by all Python people these days: https://github.com/yyuu/pyenv
I've turned on CloudFlare's Universal HTTPS on the blog... as of commit 46ee516, all requests are served over TLS + SPDY 3.1. Winning?
$ http --headers http://nairobilug.or.ke
HTTP/1.1 301 Moved Permanently
CF-RAY: 1b47182708ad1467-AMS
Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: keep-alive
Date: Fri, 06 Feb 2015 11:44:11 GMT
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Location: https://nairobilug.or.ke/
Server: cloudflare-nginx
Set-Cookie: __cfduid=d623d907e70023713ee5937d9156b0aea1423223051; expires=Sat, 06-Feb-16 11:44:11 GMT; path=/; domain=.nairobilug.or.ke; HttpOnly
Transfer-Encoding: chunked
Generally, I followed this blog post: https://www.benburwell.com/posts/configuring-cloudflare-universal-ssl/
Note: I had to set pelican's siteurl to the HTTPS one so it writes links correctly; otherwise when you access the site with HTTPS the js, css, etc assets are fetched over HTTP which throws mixed-content errors in modern browsers.
Most Pelican-powered sites use Disqus... we need to see if this is our only option or what. The down side is that all of our comments will be owned by a third party...
When someone writes a blog post for today's meetup, they can add that we talked about the following issues:
Right now, the last time the website was touched was ~ 4 years ago. I bet some of the deps .e.g. pelican need to be upgraded.
The LUG has a few spin-off groups formed by some members, e.g. book club, traveling, 3D etc.
We should add a page that lists and promotes le groups.
Google has, for years, recommended that sites indicate their "canonical" link, ie which scheme (https or http) and which domain (blah.com or www.blah.com) is the main, authoritative link for the site.
This helps the bot reduce duplicate content in their index because if your site accepts traffic equally on http://blah.com and https://blah.com, for example, those are two different sites to the bot. Technically those two sites are competing in the index, and it's ridiculous to compete with yourself, and Google might even punish you for it!
This would be trivial to add in the theme's base template and utilize the SITEURL
we define in the pelican config! The index page would simply need:
<link rel="canonical" href="https://nairobilug.or.ke/" />
But, slightly trickier, post pages etc would have to insert their entire URL, ie:
<link rel="canonical" href="https://nairobilug.or.ke/2015/02/meetup-february-2015.html" />
Do you have an idea for the blog? It's great at tracking meetups, and exposing the LUG, but do you think it's representing the cool, and dynamic elements that make Nairobi LUG? I think we can all agree LUG is unique ๐, hipsters, scientists, artists, hackers, casuals etc; Why don't we represent that.
We need to update the website with these links: https://groups.google.com/g/nairobi-gnu/c/tkLmSRFSMgI/m/KN3F4UMYCQAJ
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.