Code Monkey home page Code Monkey logo

nairobilug.or.ke's People

Contributors

adamn avatar adrianteri avatar alanorth avatar aloismbutura avatar bkmgit avatar bonfacekilz avatar eebrah avatar fredmanglis avatar ianmuchina avatar jasonrogena avatar kenju254 avatar kirembu avatar kkingori avatar muriukidavid avatar nj3ma avatar oguya avatar ooduor avatar poppingtonic avatar rwanyoike avatar urbanslug avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nairobilug.or.ke's Issues

Add support for webmaster tools verification

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!).

Managing NaiLUG's domain names and socials

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 ๐Ÿ‘€

README update and improvements.

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.

Use --recurse-submodules for clone

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).

TLS exception while fetching webpage http://nairobilug.or.ke

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

Huge fonts

I'm not sure why this happens (seems random), but it appears to not just be me. I just checked one of those browser screenshot services, and it's pretty obvious it's a real issue (not just local cache, etc).

screenshot from 2014-05-27 20 22 01

Convert blog post titles to "title case"

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

March 2017 Meetup Post

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.

Add blogroll

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?

Get rid of theme submodule?

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...?

Add a LICENSE

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.

Automate hosting setup

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

Option 1. Netlify

The services focus on making static site hosting easier.

Advantages

  • Git integration
  • Deploy previews - All Commits & PRs get unique permanent urls that anyone can see.
  • Automatic builds - Merging a PR is enough to apply changes to the site.

Disadvantages

  • Only 1 admin per site in the free tier

Demo

Example PR with preview url

Other providers

Option 2. github-pages + github actions

Github actions can be used to automate almost anything.

Advantages

  • Free & part of github
  • quickest setup
  • Lots of community-created actions like this

Disadvantages

  • No deploy previews

Demo

Example site
actions.yml fotr the site

If we end up using github actions, we can still use netlify just for checks & deploy previews.

Indicate paginated content

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

Update Pelican to 3.5.0

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

Add an "About" page

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"...?

Generating an RSS feed

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.

Restore mailing list

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

Enable Mandatory HTTPS

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

lug-https

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.

Comments

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...

Blog post for February, 2015 meetup

When someone writes a blog post for today's meetup, they can add that we talked about the following issues:

  • Bitcoin and how it replaces fiat currencies (but lacks intrinsic value ๐Ÿ˜œ)
  • Active networking with Ubuntu ZA guys lately (and a general desire to contact and connect with more African LUGs)
  • Why we can't get copies of Citizenfour online
  • @jasonrogena's ma3map application, which is on github and needs collaborators to solve fun problems

Update project dependencies

Description

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.

Indicate canonical link on all pages

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?

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.