{"id":16682828,"url":"https://github.com/johnno1962/siteify","last_synced_at":"2025-06-18T18:42:01.249Z","repository":{"id":146646167,"uuid":"51934700","full_name":"johnno1962/siteify","owner":"johnno1962","description":"Build web site from a project’s Swift sources.","archived":false,"fork":false,"pushed_at":"2020-01-22T06:56:12.000Z","size":5088,"stargazers_count":13,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-19T01:55:21.609Z","etag":null,"topics":["sourcekit","swift-sources","symbols"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/johnno1962.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}},"created_at":"2016-02-17T15:56:49.000Z","updated_at":"2023-02-17T15:20:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"ce8b961a-d846-482a-9a44-4d4ea7e5c15c","html_url":"https://github.com/johnno1962/siteify","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnno1962%2Fsiteify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnno1962%2Fsiteify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnno1962%2Fsiteify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/johnno1962%2Fsiteify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/johnno1962","download_url":"https://codeload.github.com/johnno1962/siteify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243401511,"owners_count":20285058,"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":["sourcekit","swift-sources","symbols"],"created_at":"2024-10-12T14:08:40.922Z","updated_at":"2025-03-13T12:14:02.471Z","avatar_url":"https://github.com/johnno1962.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n## siteify - Build a hyperlinked Web Site from project's Swift sources.\n\nCreated as a means of testing SourceKit but useful more generally as a mean for browsing\nsource code, `siteify` is a Swift program that creates a hyperlinked HTML reference of a\nproject that can be built with the Swift Package Manager and be navigated in a Web Browser.\nLinks over symbol references take you to their definition and clicking on the link on a definition\nwill list links for the places the symbol is referenced.\n\nFor example, the source of this project is available to browse [here](http://johnholdsworth.com/siteify/html/).\n\n![Icon](http://injectionforxcode.johnholdsworth.com/siteify2.png)\n\nTo use, download, and build this project using Xcode or Swift Package Manager. After the\nXcode build completes, the binary is installed as `~/bin/siteify`. Using SPM, use\n`swift build` and copy `.build/debug/siteify` to `~/bin`.\n\n_cd_ into the root the SPM project you wish to document and run `swift build` in\norder to update its index then type `~/bin/siteify`. You'll need to download a recent\ndevelopment toolchain from [swift.org](https://swift.org/download/) to get the required\n`sourcekit-lsp` executable.  `siteify` can take a command line argument which is\nthe SPM repo to process but always places the generated html in the directory `html`\ncreated in the current working directory and opens the file `html/index.html`.\n\n### SPM dependencies\n\nHaving started as Xcode project, eventually I wanted to start using SPM dependencies\nso the project contains a script [pre-action.sh](pre-action.sh) which allows you to include\nSPM dependencies as frameworks during the transition.\n\n### Customisation\n\nSiteify generates html files based on templates built into the app from the source\n[`Resources.swift`](siteify/Resouces.swift). Certain information about a file is patched\nin at the last minute using tags such as `\\_\\_ROOT\\_\\_`, `\\_\\_DATE\\_\\_`, `\\_\\_REPO\\_\\_` \nand, for individual source files , `\\_\\_CRDATE\\_\\_`, , `\\_\\_MDATE\\_\\_` along with the system\n`\\_\\_IMG\\_\\_` for that type of file. These templates are compiled into the application but\ncan be overridden by placing your own HTML/CSS/JS templates in `~/Library/Siteify` for the\nstyling you prefer.\n\nThis project uses [ChimeHQ/SwiftLSPClient](https://github.com/ChimeHQ/SwiftLSPClient)\nunder a `BSD 3-Clause \"New\" or \"Revised\" License\"` to communicate with the \n[Apple LSP server](https://github.com/apple/sourcekit-lsp)\n\n### MIT License\n\nCopyright (C) 2016 John Holdsworth\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated \ndocumentation files (the \"Software\"), to deal in the Software without restriction, including without limitation \nthe rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, \nand to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial \nportions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT \nLIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. \nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, \nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE \nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nThis source includes a header file \"sourcekit.h\" from Apple's Swift Open Source distribution under Apache License v2.0 and a very old version of [canviz](http://www.ryandesign.com/canviz/) which allows you to render [graphviz](https://www.graphviz.org/) \"dot\" files of class inter-relationships if you have `/usr/local/bin/dot` installed and you view the generated files through a web server.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnno1962%2Fsiteify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjohnno1962%2Fsiteify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjohnno1962%2Fsiteify/lists"}