Giter VIP home page Giter VIP logo

switch2osm.github.io's Introduction

switch2osm

This repository is not what currently powers switch2osm.org, but is some ideas in the early conceptual stage.

Content principles

  • Covers from first principles to technical how-tos.

    It's easy to be focused on technical guides (setting up a rendering server), but most users are more interested in how to switch their very small website from Google, so care more about how the monolithic Google Maps "API" is replaced by multiple components, and how to set up their webpage to use a free tile service.

  • Avoids lock-in with specific vendors or services

  • Does not require specific external services, aside from OpenStreetMap itself

    We do not promote anything which can result in lock-in to a specific vendor, so guides need to be usable without relying on a third party. It's okay to use something as an example (e.g. tile.osm.org) where there are plenty of alternatives, but not if there are few alternatives or the service being used cannot be reproduced.

    Exceptions are

    • planet.openstreetmap.org, for OSM data itself
    • openstreetmapdata.com, for coastlines and other preprocessed data
    • Natural Earth and other well-used public data sources

Content technical needs

  • Uses multiple steps to build understanding, rather than one shell script

    A single script which completes a long series of tasks can be useful, but builds no understanding of what is being done. As soon as someone wants to change the slightest aspect, they find they haven't gained any knowledge. These scripts also tend to be fragile.

  • Does not present bad practices, even in a demo

    People will copy/paste short demos. Don't use bad practices that work just because the demo is simple.

  • Avoids building from source

    Building from source adds significant complications while helping little with understanding.

  • Avoids binary blobs that cannot be reproduced

    The instructions should be able to be adapted to other OSes or distributions. This means that the user should be able to build from source if they need to. OS packaging systems and PPAs meet this.

  • Uses forwards-compatible portable instructions

    This is hard to do, but instructions should be crafted to work in the future, and to the extent possible, on future distributions. e.g. use output of config programs rather than hardcoding paths.

  • Uses OS distribution methods for software when possible

    Use apt-get or homebrew. With PPAs, it should be possible to get all software installed this way.

Contribute

The webpage is built using GitHub Pages. To compile your changes, execute

  • bundle install --path .vendor/bundle
  • bundle exec jekyll serve and open http://127.0.0.1:4000/ in the browser

switch2osm.github.io's People

Contributors

pnorman avatar someoneelseosm avatar thomasg77 avatar simon04 avatar 1ec5 avatar systemed avatar

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.