{"id":18296981,"url":"https://github.com/davidcellis/splitguides","last_synced_at":"2025-04-05T12:32:16.592Z","repository":{"id":38242801,"uuid":"215273739","full_name":"DavidCEllis/SplitGuides","owner":"DavidCEllis","description":"Tool for speedrun notes that automatically advance with livesplit.","archived":false,"fork":false,"pushed_at":"2024-11-13T16:30:36.000Z","size":2144,"stargazers_count":6,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-21T04:41:31.285Z","etag":null,"topics":["speedrun","speedrun-tool"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DavidCEllis.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2019-10-15T10:44:02.000Z","updated_at":"2025-03-01T07:02:50.000Z","dependencies_parsed_at":"2024-04-16T13:44:55.934Z","dependency_job_id":"c096ebf9-ef41-4fa2-bed6-e010cdcc9e01","html_url":"https://github.com/DavidCEllis/SplitGuides","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidCEllis%2FSplitGuides","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidCEllis%2FSplitGuides/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidCEllis%2FSplitGuides/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DavidCEllis%2FSplitGuides/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DavidCEllis","download_url":"https://codeload.github.com/DavidCEllis/SplitGuides/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247339022,"owners_count":20923004,"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":["speedrun","speedrun-tool"],"created_at":"2024-11-05T14:45:07.181Z","updated_at":"2025-04-05T12:32:11.581Z","avatar_url":"https://github.com/DavidCEllis.png","language":"Python","readme":"# SplitGuides #\n\n**Speedrun notes display for Livesplit with markdown and html formatting**\n\nSplitGuides is an application for displaying speedrun notes in sync with livesplit.\nRequires *livesplit server* to be running.\n\nIncludes a server version for rendering notes in browsers on another device \n(eg: tablet/phone).\n\n## Install/Setup ##\n\n1. Under the Livesplit layout editor add 'LiveSplit Server' (listed under 'control')\n   * Take note of the port number here, this is the value needed for \n     'Livesplit Server Port' in settings.\n   * Livesplit Server Hostname can be the local ip given. If SplitGuides is running\n     on the same machine as Livesplit 'localhost' (the default) should also work.\n2. Download `SplitGuides_v\u003cVERSION\u003e.zip` from the \n   [**releases page**](https://github.com/DavidCEllis/SplitGuides/releases)\n   Where `\u003cVERSION\u003e` is the version number of the release.\n3. Extract anywhere and run *splitguides.exe*\n\n### Alternative installs ###\n\n#### Zipapp ####\n\nThere is now an experimental Python 'zipapp' build available for both the desktop and\nserver versions of SplitGuides. If you have Python 3.10 or later (preferably 3.12)\ninstalled you can try downloading and running `SplitGuides_v\u003cVERSION\u003e.pyz` from the\nsame releases page.\n\nThis will download and install the dependencies into a cache folder when first run\nwhich will be reused on subsequent launches. If dependencies don't change between\nreleases of SplitGuides they won't be re-downloaded on update which should make\nupdates smaller.\n\n#### Python Wheel ####\n\nThere is also a Python Wheel provided of the application which can be installed into\na virtual environment for those familiar with Python virtual environments.\n\n## Usage ##\n\n1. Connect with livesplit by starting the livesplit server component selecting \n   'Control' and 'Start Server' in livesplit.\n2. Right click in the splitguides window and select 'Open Notes' and find the text file\n   containing the notes you wish to use.\n3. Some configuration is available from the settings dialog.\n   \nPlain text formatting works the same way as SplitNotes. \nNotes made for that should function fine in SplitGuides. \n\nAdditionally Markdown and HTML formatted notes are supported.\nThese will be interpreted based on file extension (.md, .txt or .html).\nMarkdown and plain text formatted notes will automatically have line breaks \ninserted in between lines.\n\n1. Comment lines still use square brackets.\n2. By default splits will break on newlines, multiple newlines are ignored in this case.\n  * If a split separator is given, newlines are left as in the input to the \n    markdown/html processors.\n   \n## SplitGuides Server ##\n\nIncluded is a separate server version which launches a (local) webhost so you can view \nthe notes on another device on your local network.\n\nLaunch **splitguides_server.exe** to start the service. A settings dialog will appear\nso you can customise this version separately from the desktop version. After asking\nfor the notes file the server will launch serving those notes and will update\nautomatically as you split.\n\nIf the hostname and port defaults aren't usable you can edit them \nin the settings dialog.\n\nThis version is intended for people doing runs on a single monitor so the notes can be\ndisplayed on another device (a tablet or phone for example). Just connect to the host\nand port given in a web browser.\n   \n## Configuration ##\n\nConfiguration Options:\n\n* Livesplit server hostname and port\n* Display previous/next splits\n* Split separator (leave blank for empty line separator)\n* Font Size\n* Text and Background Colour\n* Alternative template HTML and CSS files \n   * Jinja2 templating is used for the HTML, use the included file as a guide\n   * Allows for further customising of the appearance if desired\n* Hotkeys to offset the notes from the splits (not available in splitnotes server)\n   * This allows for some adjustment if the notes have ended up in the wrong place\n     relative to the splits.\n* Server hostname and port (server only)\n   * This should be your local machine name on the network and an open port to\n     connect to from the device you wish to use to display the notes.\n\n## Example Notes ##\n\n### Source ###\n\n```markdown\n# Dark Souls Remastered - SL1 NWW #\n## Asylum ##\n* Start Pyro + MK\n* Keep Hilt\n* Get Axe/Estus/Flame\n* Asylum Skip\n* Pick up a 200 soul\n* Dupe the soul 99x\n* Leave\n\n## Laurentius ##\n* Pick up the firebombs\n* Grab the 200 soul\n* Ladder glitch\n* Buy \n   * Max wooden arrows\n   * 4 blooming moss\n   * 2 throwing knifes\n   * Max (25) homeward bones\n* Free Laurentius\n* Darksign\n\n## GCS ##\n* Dupe souls with the arrows\n* Ascend flame to +15\n* Buy flash sweat, combustion, fire orb\n* Valley Run\n* Get DCS/RTSR\n* Upwarp\n* Get GCS\n```\n\n### Result ###\n\nOn Desktop:\n\n![Image of splitguides rendering](resources/splits_example.png)\n\nVia Splitnotes Server on Tablet:\n\n![Image of splitguides server - yes this is an old iPad](resources/splitguides_server_example.jpg)\n\n## Dependencies ##\n* pyside6 - QT Gui Bindings\n* jinja2 - Templating for the notes page\n* bleach - Cleaning HTML to help protect if someone decided to make notes with a malicious script\n* flask - Handling the server version\n* markdown - Converting markdown to html for rendering\n* keyboard - Global hotkeys to advance/reverse note offset to splits\n* waitress - wsgi server for splitguides server\n\n--- \n\nInspired by (but otherwise unassociated with) the original splitnotes: \nhttps://github.com/joeloskarsson/SplitNotes\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidcellis%2Fsplitguides","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidcellis%2Fsplitguides","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidcellis%2Fsplitguides/lists"}