{"id":18512767,"url":"https://github.com/balthisar/tidy","last_synced_at":"2025-10-14T16:59:37.141Z","repository":{"id":7225127,"uuid":"8532929","full_name":"balthisar/tidy","owner":"balthisar","description":"Balthisar Tidy for macOS HTML Cleaner","archived":false,"fork":false,"pushed_at":"2023-04-12T05:42:03.000Z","size":276028,"stargazers_count":23,"open_issues_count":5,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-09T22:13:48.070Z","etag":null,"topics":["balthisar-tidy","html-tidy","objective-c","tidy","xcode"],"latest_commit_sha":null,"homepage":"https://www.balthisar.com/software/tidy","language":"Objective-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/balthisar.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":"2013-03-03T06:52:47.000Z","updated_at":"2022-06-17T22:27:33.000Z","dependencies_parsed_at":"2024-11-06T15:42:49.070Z","dependency_job_id":"288ccf41-b6eb-443b-912a-dc9b6875a1b9","html_url":"https://github.com/balthisar/tidy","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/balthisar/tidy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balthisar%2Ftidy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balthisar%2Ftidy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balthisar%2Ftidy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balthisar%2Ftidy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/balthisar","download_url":"https://codeload.github.com/balthisar/tidy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balthisar%2Ftidy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019610,"owners_count":26086760,"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-10-14T02:00:06.444Z","response_time":60,"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":["balthisar-tidy","html-tidy","objective-c","tidy","xcode"],"created_at":"2024-11-06T15:35:21.613Z","updated_at":"2025-10-14T16:59:37.110Z","avatar_url":"https://github.com/balthisar.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Balthisar Tidy\n==============\n\nby Jim Derry, \u003chttp://www.balthisar.com\u003e\nCopyright © 2003-2019 by Jim Derry. All rights reserved.\nSee “Legal Stuff” below for license details.\n\n\nAbout\n-----\n\nSweep Away your Poor HTML Clutter.\n\nUse _Balthisar Tidy_ to make sure your HTML is clean, error free, and\naccessible. Now with the latest builds from HTACG, _Balthisar Tidy_ surpasses\nmacOS’ built-in, terminal version of this venerable tool.\n\n- Supports every macOS file encoding.\n- Advanced text editor features.\n- See a live preview of the effects each Tidy option has on your code.\n- Identify errors and be directed to their exact location in your source code in\n  an instant.\n- Correct errors in the source document immediately.\n- Identifies and automatically corrects several potential errors.\n- Automatically cleans up ugly code from HTML generator applications.\n- Identifies opportunities to ensure accessibility compliance.\n- Pretty-print formats your source code for maximum legibility.\n- Further validate your code with the W3C Nu HTML Checker, either online,\n  built-in, or using the server of your choice.\n\n\nSystem Requirements\n-------------------\n\n_Balthisar Tidy_ has been released with support for macOS 10.10 and newer.\n\n\nChange Log\n----------\n\nPlease see the commit history.\n\n\nRepository Notice\n-----------------\n\nIn September 2018 I rebuilt the repository and git history from scratch in\norder to simplify the early commit history and cover up a lot of git sins,\nsuch as committing large binaries. You probably don't want to merge the\nrepository into your own source if it originates before September 2018.\n\nBecause of this, there is now a separate `tidy_assets` repository available,\nwhich contains all of the sources for the images used in _Balthisar Tidy_. \nThis repository is not required in order to build _Balthisar Tidy_.\n\n\n\nBuilding From Source\n--------------------\n\nIf you’re building from source, be aware that there are several build targets,\nwhich collectively make up a single application. Although there’s a single\n“Balthisar Tidy” build target, you can generate the different versions via the\ndifferent configurations.\n\nRefer to How To Build, below, for important information.\n\n### Configurations\n\n- **Balthisar Tidy (web)** will build the version distributed on the \n  www.balthisar.com website, and will include support for Sparkle for \n  auto-updating.\n\n- **Balthisar Tidy (app)** will build the version distributed on Apple's App\n  Store, and does not include anything remotely associated with Sparkle. It is\n  otherwise identical with the `(web)` build.\n\n- **Balthisar Tidy (pro)** will build the version distributed as “Balthisar Tidy\n  for Work” on the App Store. Yes, this is the paid version that includes \n  AppleScript support and the ability to export Tidy configuration files, as \n  well as future, unspecified changes. If you want to build it yourself and \n  avoid paying for it in the App Store, you can!\n\n\n### Additional Build Targets\n\nThe build targets above have dependencies on additional build targets. \nDependencies will be built automatically when needed, such as when selecting\nthe application configuration to build.\n\n- **Tidy Extension** and **TidyBody Extension** will build the action extension\n  that _Balthisar Tidy_ makes available to apps that support extensions.\n\n- **Balthisar Tidy Service Helper** will build the separate application that \n  handles Tidy as a system service. This helper application within the main \n  application bundle performs Tidying without the need for the main \n  _Balthisar Tidy_ application to open every time the service is invoked.\n\n- **JSDTidyFramework** is used by most of the other targets, and is the\n  interface to the LibTidy library.\n\n- **JSDNuVFramework** is used to host the Java Runtime Environment and the\n  Nu HTML Checker’s JAR, and provides checking services to _Balthisar Tidy_.\n\n- **libtidy-balthisar.dylib** will build a dynamic library that JSDTidyFramework\n  will use. Although the implementation as a dylib helps reduce code redundancy\n  within the bundle, the main reason for building as a dylib is to allow the \n  dynamic linker to use updated versions in ``/usr/local/lib``. This allows\n  advanced users to upgrade _Balthisar Tidy_’s tidying engine in between\n  _Balthisar Tidy_ releases.\n\n\n### How to Build\n\nIf you try to build any of the targets immediately upon opening the project the\nfirst time, the build _will_ fail. All versions of _Balthisar Tidy_ include \nSystem Services and Action Extensions, and this means that Apple _requires_ a\ncode signing identity and provisioning profile.\n\n#### If you’re an Apple Developer\nIf you’re already an Apple Developer simply ensure that your developer Apple ID\nis added to **Preferences** \u003e **Accounts** in Xcode. Then for each build target,\nin the **General** tab, **Identity** section, select your own team.\n\nThe first time you build Xcode will probably complain about provisioning \nprofiles. Go ahead and use the **Fix** button to let Xcode make its changes.\n\nAt this point XCode will build any of the targets and you are all set.\n\n#### If you’re _not_ an Apple Developer\nIf you’re not an Apple Developer then don’t worry. Starting with Xcode 7 Apple\nsupports free provisioning profiles associated with your Apple ID. This means \nthat you do have to use Xcode 7 or newer, and have an Apple ID though.\n\nThe first step is to add your Apple ID to **Preferences** \u003e **Accounts** in\nXcode, which should be straightforward enough. After completing this use the\n**View Details…** button on the same screen. This will cause a sheet to open. \nIn the upper pane (“Signing Identities”) use the **Create** button for “Mac \nDevelopment” and then use the **Done** button. You can close **Preferences** \nnow.\n\nNext, for each build target, go to the **Build Settings** panel and look for \nthe **Code Signing** section. Change the **Code Signing Identity** to “Mac \nDeveloper” for each target. Then for each target, verify that in the **General**\ntab, **Identity** section, your own team is selected.\n\nThe first time you build Xcode will probably complain about provisioning \nprofiles. Go ahead and use the **Fix** button to let Xcode make its changes.\n\nAt this point XCode will build any of the targets and you are all set.\n\n\n\nExperimental Support for `/usr/local/lib/` versions of tidylib\n--------------------------------------------------------------\n\nApple currently allows sandboxed apps to reference libraries (even unsigned) in\ncertain protected OS directories, including within `/usr/local/lib/`, which is\nthe traditional install location for Unix libraries.\n\n_Balthisar Tidy_ is now built to to use a `libtidy-balthisar.dylib` instead of\nthe built-in library if one is found in `/usr/local/lib`. This means that if you\ninstall the console version of HTML Tidy with a different `libtidy.dylib`, then\n_Balthisar Tidy_ can use it. This can be useful in cases where HTML Tidy is\nreleased at a faster pace than _Balthisar Tidy_, for example. Mac using HTML\nTidy developers can also quickly switch between HTML Tidy versions without\nhaving to build _Balthisar Tidy_.\n\nI suggest creating a symlink within `/usr/local/lib/` to the specific version of\ntidylib that you want _Balthisar Tidy_ to use. For example:\n\n`ln -sf /usr/local/lib/libtidy.5.1.9.dylib /usr/local/lib/libtidy-balthisar.dylib`\n\nBecause HTML Tidy installation scripts automatically create their own symlinks\nto the most recently installed libtidy, you could also link to this generic\nlink, ensuring that _Balthisar Tidy_ will always use the most recently installed\nlibrary:\n\n`ln -sf /usr/local/lib/libtidy.dylib /usr/local/lib/libtidy-balthisar.dylib`\n\n_Balthisar Tidy_ will _not_ support simply using the already-present\n`libtidy.dylib`. Apple's dynamic loader does not allow the application to choose\na specific version or installed location of a dynamic library, and so\nnamespacing in this way ensures that _Balthisar Tidy_ can always operate without\nregard to the version of HTML Tidy that is installed.\n\n\nLegal Stuff\n-----------\n\n### Open Source\n\n_Balthisar Tidy_ and all of its source code (including third party source code)\nhave been released under free and open source licenses.\n\nRefer to licenses in third party source code for rights and responsibilities\nrelated to that source code.\n\nAll source code in this project copyrighted by Jim Derry is available to you\nunder license via the standard MIT License, reproduced below. Items that are not\nsource code, such as artwork and the name \"Balthisar\" and \"Balthisar Tidy\" are\nnot licensed for your private or public use and remain the property of Jim\nDerry. See the Trademark and Artwork Policy, below.\n\n\nThe MIT License (MIT)\n---------------------\n\nCopyright (c) 2003 to 2018 Jim Derry \u003chttp://www.balthisar.com\u003e\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\nTrademark and Artwork Policy\n----------------------------\n\nThis text does not constitute a license; it is meant to clarify a general\npolicy regarding certain intellectual property, copyrights, and trademarks\nthat belong to Balthisar and/or Jim Derry.\n\n\"Balthisar Tidy™\" is currently in commerce use to describe a software product\nfor personal computers that performs operations on files. This trademark is\nused stylistically as \"Balthisar Tidy.\"\n\n\"Balthisar™\" is currently in commerce use to distinguish products, services, and\nwritten content via electronic and other media. This trademark is used\nstylistically as \"balthisar,\" \"balthisar.com,\" and \"www.balthisar.com.\"\n\nThe entirety of _Balthisar Tidy_ is Copyright ©2003-2015 by Jim Derry. The\nsource code (including HTML files that constitute the Apple Help system) has\nbeen released under the MIT License. Although you may use the source code for\nany purpose allowed by the license, you may not use Jim Derry's artwork or\ntrademarks for any commercial purpose without explicit, personal permission. You\nmay not represent forks or other distributions (including binary distributions)\nas having originated directly from balthisar.com or Jim Derry.\n\n### Examples\n\nYou may choose to maintain the Balthisar artwork only if you maintain the\nBalthisar branding.\n\nYou may choose to maintain the Balthisar branding. Forks that maintain Balthisar\nbranding must clearly indicate that they are forks in any public repository and\nany publicly available binary. Github, for example, clearly indicates this\nstatus on your behalf. You should modify the copyright information in the header\nfiles to indicate additional copyright information for the changes you\nintroduce.\n\nBinary distributions may use Balthisar branding and artwork, but it must be\nobvious to the user that the application is a non-original version. For example,\n\"Bob's Improved Balthisar Tidy,\" or \"YA Balthisar Tidy\" make it clear that the\nproduct origin is not balthisar.com or Jim Derry.\n\nBinary distributions that completely remove all Balthisar branding and artwork\nare perfectly acceptable, even if for sale. This is your right under the MIT\nLicense. The MIT license does not extend to the Balthisar brands and artwork,\nhowever.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbalthisar%2Ftidy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbalthisar%2Ftidy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbalthisar%2Ftidy/lists"}