{"id":23814519,"url":"https://github.com/stuartpb/achewatr","last_synced_at":"2026-05-02T22:30:20.694Z","repository":{"id":6036652,"uuid":"7260978","full_name":"stuartpb/achewatr","owner":"stuartpb","description":null,"archived":false,"fork":false,"pushed_at":"2016-08-22T22:55:56.000Z","size":629,"stargazers_count":1,"open_issues_count":6,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-02T03:47:53.492Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"achewatr.herokuapp.com","language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"OpenNMS/opennms","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stuartpb.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}},"created_at":"2012-12-20T16:49:44.000Z","updated_at":"2019-07-26T10:30:16.000Z","dependencies_parsed_at":"2022-09-22T06:41:40.979Z","dependency_job_id":null,"html_url":"https://github.com/stuartpb/achewatr","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuartpb%2Fachewatr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuartpb%2Fachewatr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuartpb%2Fachewatr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuartpb%2Fachewatr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stuartpb","download_url":"https://codeload.github.com/stuartpb/achewatr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240079641,"owners_count":19744727,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2025-01-02T03:47:56.920Z","updated_at":"2026-05-02T22:30:20.651Z","avatar_url":"https://github.com/stuartpb.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# achewatr #\n\nA site presenting all Achewood strips, columns, and blogs in one clean, unified context.\n\nNote that **this is the project's only documentation**: the `docs` directory is only so named so that GitHub may serve static assets from it via GitHub Pages, for when the site is down.\n\n## Setting up\n\nInstall the devDependencies, then run setup.js with the `mongodb://` URL of your database as the first command line argument to the script.\n\nNote that large clusters of insertions to MongoLab databases have a tendency to fail by timing out, so you may want to do the insertions to a locally-running database, dump/export the `items` collection from the local, then restore/import the dump to the remote server.\n\nYou can also just produce the JSON that would be exported (allowing you to skip the local server and export steps) by running setup.js with `--method export` and the desired filename instead of the server URL.\n\n## Testing\n\nRun `mocha`.\n\n## Database layout\n\n### items\n\nCollection of strips, blog entries, and columns- everything that appears in the sequence.\n\n### _id\n\nThe ID of an item is the URL of the original page it's derived from.\n\n#### published\n\nDate the item was published (as a Date).\n\n#### title\n\nTitle of the strip / column / blog post. Note that this can be empty, as in the case of Chris' [December 2011 blog post](http://chrisonstad.blogspot.com/2011/12/normal-0-false-false-false-en-us-x-none.html).\n\n#### type\n\nType of this item: Achewood strip, Ray's Place column, or blog post.\n\nThe other fields present depend on this type:\n\n##### 'achewood'\n\n- mdydate: the month, day, and year of the comic's posting, as used in the original URL.\n\nEach of these will only be present if set (non-empty) on the original page:\n\n- header: Header text above the comic.\n- href: The target of the comic's link wrapper.\n- alt: The content of the title attribute of the comic image (colloquially, the \"alt text\").\n\n##### 'raysplace'\n\n- mdydate: the month, day, and year of the column's posting, as used in the original URL.\n- content: The HTML content of the column, from date down.\n\n##### 'blog'\n\n- blog: Which blog (by domain) this post comes from.\n- path: The path to the post (without the .html extension).\n- content: The HTML content of the post.\n\nAdditional, possible field:\n\n- author: The name of the author of the post, if not 'me' (there are a few times it's \"Peter H. Cropes\").\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuartpb%2Fachewatr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstuartpb%2Fachewatr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuartpb%2Fachewatr/lists"}