{"id":14994635,"url":"https://github.com/STRd6/zine","last_synced_at":"2025-09-25T15:30:36.011Z","repository":{"id":66479942,"uuid":"76135648","full_name":"STRd6/zine","owner":"STRd6","description":"DIY E-Zine and Operating System","archived":false,"fork":false,"pushed_at":"2019-05-04T20:22:18.000Z","size":12654,"stargazers_count":29,"open_issues_count":6,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-09-22T05:55:51.359Z","etag":null,"topics":["coffeescript","html5","mmorpg","operating-system","punk-rock","zine"],"latest_commit_sha":null,"homepage":"https://whimsy.space","language":"CoffeeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/STRd6.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2016-12-10T20:21:47.000Z","updated_at":"2025-08-30T21:22:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"2ba61a7e-f019-4460-9e3e-91d39cd60989","html_url":"https://github.com/STRd6/zine","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/STRd6/zine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STRd6%2Fzine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STRd6%2Fzine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STRd6%2Fzine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STRd6%2Fzine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/STRd6","download_url":"https://codeload.github.com/STRd6/zine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STRd6%2Fzine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276939967,"owners_count":25732220,"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","status":"online","status_checked_at":"2025-09-25T02:00:09.612Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["coffeescript","html5","mmorpg","operating-system","punk-rock","zine"],"created_at":"2024-09-24T16:08:04.060Z","updated_at":"2025-09-25T15:30:35.709Z","avatar_url":"https://github.com/STRd6.png","language":"CoffeeScript","funding_links":[],"categories":["💾 INDIE-OS"],"sub_categories":[],"readme":"# Zine OS\n\nDIY E-Zine and Operating System\n\nInterfaces\n==========\n\nFS Interface\n------------\n\nRead a blob from a path, returns a promise fulfilled with the blob object. The\nblob is annotated with the path i.e.: blob.path == path\n\n    read: (path) -\u003e\n\nWrite a blob to a path, returns a promise that is fulfilled when the write succeeds.\n\n    write: (path, blob) -\u003e\n\nDelete a file at a path, returns a promise that is fulfilled when the delete succeeds.\n\n    delete: (path) -\u003e\n\nReturns a promise\n\n    list: (directoryPath) -\u003e\n\n\nFileEntry Interface\n-------------------\n\n    path:\n    size:\n    type:\n    updatedAt:\n\nFolderEntry Interface\n---------------------\n\n    folder: true\n    path:\n\nApplication Interface\n---------------------\n\nApplication objects are views (they have an element, usually a UI window).\n\n    element: DOMElement\n    exit: -\u003e # Exit the app and remove its element from the DOM\n    send: -\u003e Promise\n    saved: -\u003e Boolean\n\nApps can communicate with each other by sending messages via the `send` method.\nSince apps can be running inside iframes or other places all data needs to be\nable to survive transit through the structured clone algorithm:\nhttps://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm\n\n`send` returns a promise that is fulfilled with the result of the method or\nrejected with an error. The first argument of send is the name of the method to\ninvoke in the application, the following arguments are the parameters to be\npassed to that method.\n\n`exit` gives the app a chance to respond and prompt to cancel to prevent losing\nunsaved work. (TODO)\n\nTODO: Add methods for binding/connecting observables.\nTODO: Add methods for connecting streams.\n\nSystem Interface\n----------------\n\nApps should be able to read and write to the file system in a simple manner.\n\n    readFile: (path) -\u003e\n\n    readAsText: (path) -\u003e\n\n    readTree: (path) -\u003e\n\n    writeFile: (path, blob) -\u003e\n\n    deleteFile: (path) -\u003e\n\nThe system provides easy ways to launch applications:\n\n    # TODO: Better name and arguments\n    launchAppByAppData: (data) -\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSTRd6%2Fzine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSTRd6%2Fzine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSTRd6%2Fzine/lists"}