Code Monkey home page Code Monkey logo

lrug.org's Introduction

LRUG.ORG

This repo contains the website of the London Ruby User Group. It is deployed to http://lrug.org.

The website is a ruby application written using the middleman framework. Most of the content is written in markdown and rendered by kramdown.

Requirements

  1. Ruby - the current version is declared in the ruby declaration in the Gemfile file in the repo.
  2. Bundler - the most current version available is likely to be best, but you can check the exact version in the BUNDLED_WITH statement at the bottom of the Gemfile.lock file in the repo
  3. Other dependencies are installed by bundler based on the contents of the Gemfile and Gemfile.lock files in the repo.

Building

It's a standard middleman app so:

  1. Clone the repo locally
  2. Install dependencies with bundle install
  3. Run the application locally with bundle exec middleman

Contributing

Fork the repo and create a Pull Request with your changes. More info in our contributing guidelines.

Deploying

Commits to main are automatically deployed to the live site.

We use travis ci to build and deploy the site. Our travis project is controlled by our travis config.

On branches the deploy script simply runs bundle exec middleman build and reports success or failure with that process. On the main branch it also deploys the website as follows:

  1. travis runs bundle exec middleman build
  2. travis zips up the public folder generated by this build
  3. travis uploads this zip as a build artefact called lrug.org.tar.bz2 on the travis-release branch of this repo (replacing any existing artefact with the same name).
  4. travis makes a web request to our deploy script which is hosted at: http://webhook.lrug.org/deploy-lrug.cgi
  5. the deploy script downloads the lrug.org.tar.bz2 build artefact from the travis-release branch on github, unpacks it and copies it into the right location on the webserver

lrug.org's People

Contributors

agentantelope avatar aleprose avatar andyw8 avatar artemave avatar benaldred avatar binaryberry avatar cecily-r avatar chrislo avatar dburrows avatar dependabot[bot] avatar dotemacs avatar ellanancyfay avatar fcheung avatar h-lame avatar jabawack81 avatar joelbiffin avatar jonathanjames1729 avatar kevin-j-m avatar lazyatom avatar marcoroth avatar mikerogers0 avatar mmazour avatar mocoso avatar mseckington avatar mudge avatar robmiller avatar sgerrand avatar timcraft avatar tomstuart avatar tosbourn avatar

Stargazers

 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

lrug.org's Issues

Meetings

Going to have a initial look at this - do we have a required URL structure for this? If not I think it's probably going to be more manageable to have yearly archives for meetings so I'll probably re-organise the files a bit if that's ok.

Sort out 404 page

Need an ErrorDocument ref in a .htaccess file, and to actually have a 404 page.

Scrape writeup links from the mailing list

There are enough "hey I posted my slides at <url>" style messages on the mailing list that it might be worth attempting some kind of scrape of the mailing list archives to try and find those links and add them as coverage links.

It's email so it's going to be hard, but might be worth while. Perhaps we could get the data and then crowdsource converting them into coverage links?

Tidy up svn references in old meetings

We used to host a SVN repo that had some uploaded presentations and code from talks. We have the SVN repo so could re-host, but maybe we need to source permission from the original authors? We should at least we rewrite the urls to go somewhere other than a dead svn repo.

Better metadata for pages to make twitter/facebook/slack sharing nicer

We don't get any fancy twitter card / facebook post / slack unfurl stuff when sharing lrug.org links which isn't great. This article https://medium.com/slack-developer-blog/everything-you-ever-wanted-to-know-about-unfurling-but-were-afraid-to-ask-or-how-to-make-your-e64b4bb9254 has details on what metadata we should use to get better results.

This might mean we need to put more things into the frontmatter for meetings if we want to get super fancy - but we should start simple and at least get the page title and an image (the logo probably ?).

Rake (or whatever) task for generating new meeting pages

There's a lot of frontmatter to deal with and some of it could be automatically populated.

We might want a task for generating new normal pages and then a specialization for each sub-type (podcast, meeting, book-review, nights, &c).

Static pages from radiant

members-and-friends, posting-jobs, sponsors, the-lrug-irc-room, the "being the mitch" page, the logo fite pages

Redirects of old pages

Probably a bunch of rewrite rules in the .htaccess

Might be something we can script the generation of from the old radiant? Or at least get all the old urls that way.

Upgrade middleman + dependencies

Middleman 4 is out (since Dec 2015 no less) so we should consider upgrading. We don't use a lot of other dependencies but it'd be a chance to bump our version of ruby and such too. When building the writing was on the wall about the changes coming in middleman 4 so we tried to not use anything we knew was going away. Handily, there's a guide to help us: https://middlemanapp.com/basics/upgrade-v4/

Collect coverage links from lanyrd

Looks like lanyrd is being left to die which is a shame for many reasons. The biggest shame for us is that since 2011 we've used Lanyrd to collect a load of links to videos, slides, write-ups, and relevant git repos. If lanyrd goes away we lose these links.

It's a bit weird to use lanyrd for this anyway, as the canonical artefact for a meeting should probably be the lrug.org page for it. We should:

  1. scrape the coverage links from lanyrd while it's still up (is there an API?) so we don't lose them
  2. work out some way of attaching them programatically to the meeting pages
  3. do any digging neccessary to backfill links for meetings before we used lanyrd

Redirects from radiant

about, speaking (speaking/tips): old pages that now redirect to readme.lrug.org
meeting-calendar and mailing-list: redirects elsewhere

Like #11 probably just some rewrite rules in .htaccess

Rss feeds

On the current website there are separate feeds for categories but I don't see the categories set in the new files.
There is also a typo in the new files: creatd_by

A better members-and-friends page

The static list of names could probably be more interesting and inviting to people who want to find out about the sort of people they are likely to meet at an LRUG meeting.

At the very least we could pull in some avatars from somewhere (gravatar? twitter?). But perhaps there's a more dynamic source of information we could use to generate the list (attendee info from lanyrd, followers of the lrug twitter account, ???)

Of course, maybe the page is always going to be out of date or off-putting to prospective attendees so we should drop it entirely. It is also currently very out of date so we do need a "recruitment-drive" to update it if we do keep it.

Think about automating the sponsors page a bit more

The static /sponsors/ page could list the companies that have sponsored individual meetings by iterating through all the meetings to find those that have a sponsors part. We could then do something with it. Or at least linking to each meeting that had a specific sponsor.

Need to have a think about this a bit more. Maybe it's not a great idea, or we'd want the sponsor part to be somewhat more data-driven than the chunk of markdown that it is.

Rake (or whatever) task for publishing pages

We have the concept of status in frontmatter so it would be nice to create pages as 'Draft' in #18 and have a new task for moving them to 'Published' and setting the published_at timestamp too.

Why does it look so bad?

The design of lrug.org is mostly "a dev did it without much thought", we should apply some modern thinking and make it nicer. Things to think about:

  • mobile experience (currently no margins and horrid)
  • no red dashed borders (so 2006)
  • one of those cool webfonts (this one perhaps?)
  • &c
  • &c

Typo on Pauls Feb 2017 talk description

Here: lrug.org/source/meetings/2017/february/index.html.md

In Paul's talk description:

If you've done much programming, you've probably worked with binary, hexadecimal, and perhaps octal in addition to normal decimal numbers. But what about base three? And what about bass base three with a twist, where each digit can be positive or negative? Why would you even want to do that? It really exists, it's called Balanced Ternary, and it has some interesting properties.

Unless it's deliberate and part of the talk?

@h-lame

Scrape video links from skills matter

Pretty much every LRUG meeting has been filmed and the video hosted by Skills Matter. However, we didn't do a great job of populating lanyrd for old meetings (2010 or earlier), nor did we do anything for the period where lanyrd stopped working (2016 onwards). We should be able to scrape the videos from https://skillsmatter.com/groups/3-london-ruby-user-group#past_events and populate video links for all our talks. Might be some manual effort required in linking titles properly.

Final check on radiant for non page content we've lost

We've mostly dealt with the Pages and Redirect tabs from the admin interface so far, there's also the "design" and "assets" tabs to check. We've probably pulled everything across, or realised we didn't need it, but we should do a check to see what's there and work out what, if anything, we should do.

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.