{"id":13657275,"url":"https://github.com/uliwitness/Stacksmith","last_synced_at":"2025-04-24T01:31:52.597Z","repository":{"id":136634784,"uuid":"1421264","full_name":"uliwitness/Stacksmith","owner":"uliwitness","description":"An intuitive software erector kit targeted at people new to programming, but with enough potential to stay useful once they've learned, inspired by HyperCard.","archived":false,"fork":false,"pushed_at":"2020-08-28T11:10:38.000Z","size":24520,"stargazers_count":131,"open_issues_count":76,"forks_count":13,"subscribers_count":11,"default_branch":"main","last_synced_at":"2024-11-07T12:02:21.108Z","etag":null,"topics":["forge","hypercard","leonie","stacksmith","work-in-progress"],"latest_commit_sha":null,"homepage":"http://stacksmith.org","language":"C++","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/uliwitness.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","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}},"created_at":"2011-02-28T11:59:24.000Z","updated_at":"2024-10-06T10:28:51.000Z","dependencies_parsed_at":"2024-01-14T16:12:04.867Z","dependency_job_id":"9f4cbadb-4d1c-4e34-974f-9c19e01de848","html_url":"https://github.com/uliwitness/Stacksmith","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uliwitness%2FStacksmith","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uliwitness%2FStacksmith/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uliwitness%2FStacksmith/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uliwitness%2FStacksmith/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uliwitness","download_url":"https://codeload.github.com/uliwitness/Stacksmith/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223940912,"owners_count":17228922,"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":["forge","hypercard","leonie","stacksmith","work-in-progress"],"created_at":"2024-08-02T05:00:39.798Z","updated_at":"2024-11-10T10:31:01.837Z","avatar_url":"https://github.com/uliwitness.png","language":"C++","funding_links":[],"categories":["C++","Uncategorized"],"sub_categories":["Uncategorized"],"readme":"What is it\n----------\n\nIn short, Stacksmith is a HyperCard clone that runs on the current version of Mac OS X.\n\n\nHow to build\n------------\n\nMake sure you've inited all the submodules (especially the Leonie sub-submodule of the Forge submodule!) using\n\n\tgit submodule update --init --recursive\n\nthen just build the Stacksmith Xcode project. If you want to contribute, note that you'll probably have to change the subprojects to point to your own clones of the subprojects. These instructions might be helpful: http://365git.tumblr.com/post/12581972612/set-up-a-submodule-where-only-you-have-write-access\n\n\nDebugging Hammer code\n---------------------\n\nStacksmith's scripting language (its analog to HyperTalk) is called Hammer. There is a source-level debugger for it in the ForgeDebugger project. To use it, simply click to the left of a line of your script where you want to start debugging. Stacksmith will launch and connect to the separate ForgeDebugger application and display script text and bytecode in it, as well as local variables and the call stack, and even the stack where temporary variables live. Should this not work, you can also try launching the debugger application manually, and inserting a \"debug checkpoint\" command in your script.\n\n\nWhat is what\n------------\n\nStacksmith consists of several parts:\n\n* Stacksmith - the Hypercard clone proper\n* ForgeDebugger - the debugger. Yes, it's currently a separate application. This will change eventually.\n* Forge - the part that reads scripts and compiles them into a special bytecode. This is written in C++, but its public API consists of a handful of C functions with a LEO prefix. [Cross platform]\n* Leonie - the part that runs bytecode (i.e. the \"compiled\" scripts generated by Forge). All of the functions in there are prefixed with LEO [Cross platform]\n* stackimport - A command-line tool that Stacksmith uses to import HyperCard stacks. [Almost cross platform]\n* Sparkle, UKPaintView, UKSyntaxColoredTextDocument, UliKit, UKMelodyQueue, ULINetSocket - Mac-specific helper code used to implement various parts of Stacksmith.\n\n\nLicense\n-------\n\nNote: Some submodules may be subject to different licenses.\n\n\tCopyright 2003-2014 by Uli Kusterer.\n\t\n\tThis software is provided 'as-is', without any express or implied\n\twarranty. In no event will the authors be held liable for any damages\n\tarising from the use of this software.\n\t\n\tPermission is granted to anyone to use this software for any purpose,\n\tincluding commercial applications, and to alter it and redistribute it\n\tfreely, subject to the following restrictions:\n\t\n\t   1. The origin of this software must not be misrepresented; you must not\n\t   claim that you wrote the original software. If you use this software\n\t   in a product, an acknowledgment in the product documentation would be\n\t   appreciated but is not required.\n\t\n\t   2. Altered source versions must be plainly marked as such, and must not be\n\t   misrepresented as being the original software.\n\t\n\t   3. This notice may not be removed or altered from any source\n\t   distribution.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuliwitness%2FStacksmith","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuliwitness%2FStacksmith","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuliwitness%2FStacksmith/lists"}