Git Product home page Git Product logo

jkan's Introduction

This repo is now at https://github.com/mysociety/data_portal

(Need to create a non-forked copy so that Github actions could correctly update).

mySociety Data Portal repo - running on JKAN Build Status Join the chat at https://gitter.im/timwis/jkan

A lightweight, backend-free open data portal, powered by Jekyll

View at data.mysociety.org

Local Development

There is a docker config that will work locally or on codespaces.

This will then start the rendering process and serve on http://127.0.0.1:4000

Theme

Jkan runs on Jekyll.

Local adaptions to mySociety theme are in sass folder - both that and 'theme/sass' are equally accessible to compiler - so no need for relative paths.

Key template is templates/default.html - this then brings in various mysoc_ includes.

Don't forget to git submodule update --init --recursive to pull down the mySociety styles

Categories

Category information is stored in three places.

  1. References in datasets
  2. Entries in _data/categories.yml (with additional info like logos, or if they are a highlighted category)
  3. Markdown files in /_categories

The final set is generated from the first two to create the static pages for the category pages.

This isn't directly supported by Github Jekyll, so you can generate the markdown files using:

$ ruby script/generate_categories.rb

Or manually create the file when creating/modifying categories.

jkan's People

Contributors

ajparsons avatar dracos avatar everypoliticianbot avatar jacksonj04 avatar jjediny avatar lxyu0405 avatar mdeuk avatar pezholio avatar timwis avatar tobinbradley avatar wilsaj avatar wrightmartin avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mroswell mdeuk

jkan's Issues

add website to Additional Information

Since we've dropped EveryPolitician data in there, it would be lovely to explicitly link to everypolitician.org because we provide lots of potentially useful information both about the data and how to use it (e.g., that we have libraries for working with it/keeping it up to date)... which isn't obvious just from grabbing the data itself.

"More information:" maybe? Or (less hinty-helpy) "Website:"

Suggestion/example:

jkan

(oops no www needed on URL there)

Launch

Tasks to be completed before it is 'launched':

Add - Data & APIs Link to footer of:

Add this text 'APIs and datasets for other mySociety services can be found on our data portal - http://data.mysociety.org/' to:

Merge:

Write:

  • Blog Post on Data Portal
  • Blog Post on EveryPolitician R Repo

Review (@MyfanwyNixon):

Publish:

  • Blog Post on Data Portal
  • Blog Post on EveryPolitician R Repo

Local timestamps?

Databot set a lot of timestamps an hour later then next day set them back: b2fe6ea
Dunno if this signifies a bug or not.

Do not require JavaScript to work

(spun out from #6 (comment))

not much information without JS The site currently requires JavaScript to show anything under /datasets/ and much of /sources/ even though the pages consist of basic HTML, which is being generated by a static site generator that could therefore be generating actual HTML for all these pages. Yet the site is not using JavaScript to do things I would expect it to e.g. filtering the lists page without a server-side request – each filter change causes a full page reload, which might as well then be loading the requested data.

The search could still work identically as an enhancement, that's exactly what JavaScript is for.

It makes the site slower (instead of just showing me the dataset or list, it shows an empty page that has to wait for the JS to download and fetch more data in order to show anything), it makes it less available - https://kryogenix.org/code/browser/why-availability/ - and it makes it less resilient - https://kryogenix.org/code/browser/everyonehasjs.html .

So that I'm not just a killjoy, I've pushed a branch that fixes all the individual /dataset/ pages and /source/ pages to actually have text on them, this was not much work (because in the first case it turns out the text was already there, it was just being hidden by default... 🤷‍♂️ , in the second I copied a JS template into the HTML and it Just Worked). Some more effort must be put in to do the same with:

  • the various list pages (which could then have nicer URLs too)
  • Only having the search box display if JS available

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.