{"id":20278914,"url":"https://github.com/jonathanlinat/crf2html","last_synced_at":"2025-10-27T03:04:37.740Z","repository":{"id":195486944,"uuid":"693005869","full_name":"jonathanlinat/crf2html","owner":"jonathanlinat","description":"crf2html is tool inspired by the Thief series of video games to convert proprietary CRF and PCX textures into modern web-ready HTML.","archived":false,"fork":false,"pushed_at":"2023-10-02T04:22:28.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-04T01:48:37.546Z","etag":null,"topics":["conversion","crf","dromed","html","images","level-editor","textures","thief"],"latest_commit_sha":null,"homepage":"","language":"Go","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/jonathanlinat.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}},"created_at":"2023-09-18T06:50:33.000Z","updated_at":"2023-09-19T21:27:43.000Z","dependencies_parsed_at":"2023-09-18T08:01:37.483Z","dependency_job_id":null,"html_url":"https://github.com/jonathanlinat/crf2html","commit_stats":null,"previous_names":["jonathanlinat/crf2html"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanlinat%2Fcrf2html","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanlinat%2Fcrf2html/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanlinat%2Fcrf2html/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanlinat%2Fcrf2html/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonathanlinat","download_url":"https://codeload.github.com/jonathanlinat/crf2html/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanlinat%2Fcrf2html/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259085467,"owners_count":22803207,"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":["conversion","crf","dromed","html","images","level-editor","textures","thief"],"created_at":"2024-11-14T13:27:05.762Z","updated_at":"2025-10-27T03:04:37.681Z","avatar_url":"https://github.com/jonathanlinat.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# crf2html\n\n[![Build and Release](https://github.com/jonathanlinat/crf2html/actions/workflows/build-and-release.yml/badge.svg)](https://github.com/jonathanlinat/crf2html/actions/workflows/build-and-release.yml)\n\n## Introduction\n\n`crf2html` is a command-line utility inspired by the Thief series of video games, including **Thief: The Dark Project**, **Thief Gold** and **Thief II: The Metal Age**. In these classic games, textures and images were stored in proprietary formats like CRF and PCX. The tool aims to bring a piece of that nostalgic world to modern web development.\n\nThe program is designed to generate an HTML page that beautifully showcases the textures found in Thief series CRF files and other image formats (`.pcx`, `.gif`, `.png`, `.jpg`, and `.tga`). It seamlessly resizes and encodes these textures as base64, making it easy to embed them in an organized HTML page.\n\nWhether you're a fan of the Thief series or simply interested in working with these classic texture formats, `crf2html` provides a convenient way to create galleries and showcases of these vintage textures for various creative and nostalgic purposes.\n\n\u003e The project primarily draws inspiration from [/vfig/thieftextures](https://github.com/vfig/thieftextures), which is a Python program.\n\n## Features\n\n- Read image files from both directories and CRF/ZIP files.\n- Supports multiple image formats including `.pcx`, `.gif`, `.png`, `.jpg`, and `.tga`.\n- Ability to resize images and encode them as base64 for inline embedding in HTML.\n- Organizes images by families, based on their directory or path structure.\n- Easily customizable output through command-line arguments.\n\n## Installation\n\n### Option 1: Precompiled Binary\n\nYou can download a precompiled binary for your platform from the [releases](https://github.com/jonathanlinat/crf2html/releases) section of this repository.\n\n### Option 2: Compile from Source\n\n\u003e **Important**\n\u003e\n\u003e It is recommended to install and use at least **Go v1.21**. Here are the [corresponding instructions](https://go.dev/doc/install).\n\n---\n\nIf you prefer to compile the program yourself, follow these steps:\n\n1. Clone this repository to your local machine:\n\n   ```bash\n   git clone https://github.com/jonathanlinat/crf2html.git\n   ```\n\n2. Change to the project directory:\n\n   ```bash\n   cd crf2html\n   ```\n\n3. Build the program:\n\n   ```bash\n   go build crf2html.go\n   ```\n\nThis will generate a binary, `crf2html` or `crf2html.exe`, in the project directory.\n\n## Usage\n\n- `source_path`: Path to the directory containing image files or a CRF/ZIP file.\n- `output_path`: Path to the HTML file to be generated.\n- `-title \"Page Title\"` (optional): Custom title for the HTML page. If not provided, the default title is `Textures`.\n- `-size 64` (optional): Custom thumbnail size for the HTML page. If not provided, the default size is `128`.\n\n### Linux\n\n```bash\n./crf2html source_path output_path [-title \"Page Title\"]\n```\n\n### Windows\n\n```bash\ncrf2html.exe source_path output_path [-title \"Page Title\"]\n```\n\n### Example\n\nHere's an example of how to use `crf2html` to create an HTML page:\n\n#### Linux\n\n```bash\n./crf2html ./fam.crf ./textures.html -title \"My Custom Title\" -size 64\n```\n\n#### Windows\n\n```bash\ncrf2html.exe C:\\path\\to\\source\\fam.crf C:\\path\\to\\output\\textures.html -title \"My Custom Title\" -size 64\n```\n\nThis command will generate an HTML page named `textures.html` in the current directory, showcasing the image textures from the `fam.crf` source, with the custom title `My Custom Title`.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n`crf2html` uses the following third-party Go packages:\n\n- [nfnt/resize](https://github.com/nfnt/resize) for image resizing.\n- [samuel/go-pcx/pcx](https://github.com/samuel/go-pcx/pcx) for PCX image format support.\n\n---\n\nFeel free to contribute to this project, report issues, or suggest improvements!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanlinat%2Fcrf2html","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathanlinat%2Fcrf2html","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanlinat%2Fcrf2html/lists"}