{"id":17269487,"url":"https://github.com/systemed/sputnik","last_synced_at":"2026-01-27T05:02:20.404Z","repository":{"id":145600171,"uuid":"21326031","full_name":"systemed/sputnik","owner":"systemed","description":"Style Prototyping Utility for Mapnik","archived":false,"fork":false,"pushed_at":"2019-04-05T13:24:38.000Z","size":6,"stargazers_count":15,"open_issues_count":1,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-23T01:11:13.137Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/systemed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-06-29T15:25:30.000Z","updated_at":"2022-01-16T16:37:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"79866c2f-8f2e-4cb1-b78a-b0ab6a68b4ab","html_url":"https://github.com/systemed/sputnik","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/systemed/sputnik","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemed%2Fsputnik","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemed%2Fsputnik/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemed%2Fsputnik/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemed%2Fsputnik/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/systemed","download_url":"https://codeload.github.com/systemed/sputnik/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemed%2Fsputnik/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28803642,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T03:44:14.111Z","status":"ssl_error","status_checked_at":"2026-01-27T03:43:33.507Z","response_time":168,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T08:16:25.669Z","updated_at":"2026-01-27T05:02:20.386Z","avatar_url":"https://github.com/systemed.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sputnik\n## Style Prototyping Utility for Mapnik\n\nSputnik is a quick-and-dirty way of seeing your changes to a Mapnik stylesheet reflected in real time. It provides a simple tileserver, a full-window map view, and a 'refresh' button which reloads the map using your latest stylesheet.\n\n## How\n\nCopy sputnik.html to a web-browsable directory.\n\nStart the server on port 8000 with\n\n    ruby sputnik.rb path_to_your.mml\n\nOpen sputnik.html in your web browser.\n\n## Why\n\n[Tilemill](https://www.mapbox.com/tilemill/) and [Kosmtik](https://github.com/kosmtik/kosmtik) are beautifully crafted works of wonder and do pretty much everything the Mapnik-toting cartographer could want. Sputnik is not a work of wonder, it's a messy 100-line hack. It does, however, provide a rudimentary alternative if you want latest/hackable Carto features, use your own editor, and are fed up of struggling with NodeJS installation.\n\n## Installation requirements\n\n* 'Simple Mapnik' bindings (replacing Ruby-Mapnik which was basically uninstallable)\n* Carto (command-line compiler, `npm install -g carto`)\n* Mapnik\n* obvious stuff like Ruby, a webserver, etc. etc.\n\n### Installation\n\nFirst, install `ruby`, `autoconf`, `automake`, `rubygem-cairo-devel`, `boost-devel`, `mapnik-devel`, `npm`. Then:\n\n    npm install -g carto\n    gem install rake-compiler rake\n    gem install hoe rice chunky_png cairo rubyzip bundler\n    gem install simple_mapnik\n\n## Notes\n\nYour map location is bookmarkable, so you can return to the place you were testing yesterday.\n\nThere is a little bit of postprocessing to support [famous gravitystorm list placement hack](https://github.com/mapbox/carto/issues/238).\n\nThe XML stylesheet is written to the style directory (as .tmp.xml), ready for upload to your production server.\n\n## To do\n\nThere should be more postprocessing to support comments and macros in the .mml. Hell yes.\n\nImages are generated as individual 256x256 tiles. This means no metatiling, so (a) slow, (b) label placement is not very representative of your final map.\n\n## Development\n\nWTFPL. Pull requests are encouraged, ideally retaining the principle of \"one .rb, one .html\".\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystemed%2Fsputnik","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsystemed%2Fsputnik","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystemed%2Fsputnik/lists"}