{"id":13568327,"url":"https://github.com/Haruno19/starfetch","last_synced_at":"2025-04-04T04:30:59.341Z","repository":{"id":37723028,"uuid":"478105596","full_name":"Haruno19/starfetch","owner":"Haruno19","description":"command line tool that displays constellations","archived":false,"fork":false,"pushed_at":"2024-03-01T21:56:28.000Z","size":365,"stargazers_count":330,"open_issues_count":3,"forks_count":15,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-11-05T00:35:34.184Z","etag":null,"topics":["command-line","command-line-tool","constellation","constellations","cpp","fetch-tool"],"latest_commit_sha":null,"homepage":"","language":"C++","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/Haruno19.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-05T11:51:12.000Z","updated_at":"2024-11-03T02:55:12.000Z","dependencies_parsed_at":"2024-11-05T00:41:25.955Z","dependency_job_id":null,"html_url":"https://github.com/Haruno19/starfetch","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haruno19%2Fstarfetch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haruno19%2Fstarfetch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haruno19%2Fstarfetch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Haruno19%2Fstarfetch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Haruno19","download_url":"https://codeload.github.com/Haruno19/starfetch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247123072,"owners_count":20887259,"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":["command-line","command-line-tool","constellation","constellations","cpp","fetch-tool"],"created_at":"2024-08-01T14:00:23.555Z","updated_at":"2025-04-04T04:30:54.333Z","avatar_url":"https://github.com/Haruno19.png","language":"C++","readme":"# starfetch\nA command line tool written in C++ that displays constellations.\n\n## Table of contents\n* [Description](https://github.com/Haruno19/starfetch#description)\n* [Demo (CLI)](https://github.com/Haruno19/starfetch#demo-cli)\n* [Demo (GUI)](https://github.com/Haruno19/starfetch#demo-gui)\n* [Installation](https://github.com/Haruno19/starfetch#installation)\n    * [Manual (UNIX systems)](https://github.com/Haruno19/starfetch#manual-unix-systems)\n    * [Manual (Windows)](https://github.com/Haruno19/starfetch#manual-windows)\n* [Usage](https://github.com/Haruno19/starfetch#usage)\n* [Available constellations](https://github.com/Haruno19/starfetch#available-constellations)\n    * [Constellations](https://github.com/Haruno19/starfetch/edit/main/README.md#constellations)\n    * [Norse Constellations](https://github.com/Haruno19/starfetch/edit/main/README.md#norse-constellations)\n* [JSON Format](https://github.com/Haruno19/starfetch#json-format)\n    * [Contribution guidelines](https://github.com/Haruno19/starfetch#contribution-guidelines)\n* [Credits \u0026 Dependencies](https://github.com/Haruno19/starfetch#credits--dependencies)\n    * [JSON for Modern C++](https://github.com/Haruno19/starfetch#json-for-modern-c)\n    * [Contributions](https://github.com/Haruno19/starfetch#contributions)\n---\n\n## Description  \n**starfetch** is a tool that prints out a scheme of a given constellation and some information about it: its _quadrant_, its _right ascension_, its _declination_, its _area_ and its _main stars number_.\n\n## Demo (CLI) \n\n![ezgif com-gif-maker](https://user-images.githubusercontent.com/61376940/161760086-2033863a-e132-4f28-a3ee-d7bd61c963dc.gif)\n\u003cimg width=\"1375\" alt=\"1\" src=\"https://user-images.githubusercontent.com/61376940/161760417-8ba116fc-71a6-4d0c-8219-1b76a4121ace.png\"\u003e\n\n## Demo (GUI)\n\n![Screenshot](https://user-images.githubusercontent.com/29376083/205070825-6796d8b8-9869-44a9-a53d-cb94ac0e55c4.png)\n\n## Installation\n\n### Manual (UNIX systems)\n\n```bash\ngit clone https://github.com/Haruno19/starfetch\ncd starfetch\nmake -j8 # 8 cores/threads to use in parallel compile\nsudo make install\n```\nInstall directoy: ``/usr/local/share/starfetch/``.\n\n### Manual (Windows)\n\nCompilation process on Windows relies on [MingW](https://www.mingw-w64.org). Follow the instructions to properly set a C/C++ MinGW developing environment within the [Visual Studio Code](https://code.visualstudio.com/download) editor. \n- Download [MingW](https://github.com/niXman/mingw-builds-binaries/releases);\n- Once finished downloading, extract it to the following path: `C:\\MingW`;\n- Launch [Visual Studio Code](https://code.visualstudio.com/download)\n- You might want to install the [C\\C++ Extensions](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools); \n- Navigate to `File \u003e Preferences \u003e Settings` and type to search for `cppStandard`;\n- Set the field to `c17` for both C++ and C.\n- Navigate to `Terminal \u003e Configure Tasks... \u003e Create tasks.json from template`, then copy and paste the following segment into your task file:\n\n```json\n{\n  \"version\": \"2.0.0\",\n  \"tasks\": [\n    {\n        \"type\": \"cppbuild\",\n        \"label\": \"C/C++\",\n        \"command\": \"C:\\\\MingW\\\\bin\\\\g++.exe\",\n        \"args\": [\n            \"-fdiagnostics-color=always\",\n            \"-std=c++17\",\n            \"-ggdb\",\n            \"-lpthread\",\n            \"-Wall\",\n            \"-Wextra\",\n            \"-O2\",\n            \"-pipe\",\n            \"-pedantic\",\n            \"-Wundef\",\n            \"-Wshadow\",\n            \"-W\",\n            \"-Wwrite-strings\",\n            \"-Wcast-align\",\n            \"-Wstrict-overflow=5\",\n            \"-Wconversion\",\n            \"-Wpointer-arith\",\n            \"-Wformat=2\",\n            \"-Wsign-compare\",\n            \"-Wendif-labels\",\n            \"-Wredundant-decls\",\n            \"-Winit-self\",\n            \"${file}\",\n            \"-o\",\n            \"${fileDirname}/${fileBasenameNoExtension}\"\n        ],\n        \"options\": {\n            \"cwd\": \"C:\\\\MingW\\\\bin\"\n        },\n        \"problemMatcher\": [\n            \"$gcc\"\n        ],\n        \"group\": {\n            \"kind\": \"build\",\n            \"isDefault\": true\n        },\n        \"detail\": \"compiler: C:\\\\MingW\\\\bin\\\\g++.exe\"\n    }\n]\n}\n```\n- Clone the starfetch repository and move all files from `starfetch/res` to `C:\\starfetch`;\n- Return to Visual Studio Code and compile the program pressing `CTRL + SHIFT + B`;\n- After the compilation  has finished, press ```CTRL + \\` ``` and run the following commands:  \n`cp -r C:\\Users\\[USERNAME]\\Desktop\\starfetch.exe`, `C:\\MingW\\bin; cd C:\\MingW\\bin`, `.\\starfetch.exe`\n\nAlternative versions:\n- [K1ngst0m](https://github.com/K1ngst0m/starfetch): starfetch doesn't depend on the files in `/usr/local/share/starfetch/`\n\n## Usage\n**starfetch** accepts parameters to tweak its behaviour:\n```\nstarfetch [OPTION] [ARGUMENT]\n    -h      Prints this help message.\n    -n      Shows the selected constellation.\n    -r      Shows a random constellation.\n    -l      Prints the list of all the available constellations.\n    -c      Use given color such as: black, white, cyan, magenta, yellow, red, blue.\n\nIf launched with no arguments, the behaviour is the same as with '-c white -r'.\n\nExamples:   starfetch -r\n            starfetch -n orion\n            starfetch -n norse karlvagn\n            starfetch -c yellow\n            starfetch\n```\n\n## Available constellations\n\n### Constellations\n```\nandromeda         capricorn          orion\nantlia            carina             pisces\napus              cassiopeia         puppis\naquarius          centaurus          sagittarius\naquila            circinus           scorpio\nara               corona_borealis    taurus\naries             crux               ursa_majaor\nauriga            cygnus             ursa_minor\nbootes            gemini             virgo\ncaelum            leo\ncamelopardalis    libra\ncancer            lupus\ncanes_venatici    lyra\ncanis_major       monoceros\ncanis_minor       ophiuchus\n```\n\n### Norse Constellations\n```\nasarbardagi\nfriggerock\nkarlvagn\nkvennavagn\nulfskeptr\n```\n\n## JSON format\nAll the constellation data is stored as JSON files in the ``res/constellations/`` directory.  \n  \nHere's a sample of the JSON format from the **Orion** constellation:\n```json\n{\n    \"title\": \"───── ｏｒｉｏｎ ─────\",\n    \"graph\":\n        {\n            \"line1\": { },\n            \"line2\": { \"11\": \"✦\" },\n            \"line3\": { \"7\": \"✦\" },\n            \"line4\": { \"14\": \"✦\" },\n            \"line5\": { },\n            \"line6\": { \"9\": \"✦\", \"11\": \"✦\", \"13\": \"✦\"},\n            \"line7\": { },\n            \"line8\": { \"15\": \"✦\" },\n            \"line9\": { \"8\": \"✦\" },\n            \"line10\": { }\n        },\n    \"name\": \"Orion\",\n    \"quadrant\": \"NQ1\",\n    \"right ascension\": \"5h\",\n    \"declination\": \"+5°\",\n    \"area\": \"594 sq.deg. (26th)\",\n    \"main stars\": \"7\"\n}\n```\n* ``title`` contains the first line of the constellation graph.\n* ``graph`` contains 10 lines keys, describing the constellation graph.\n* ``line1`` to ``line10`` contain the X coordinate of the stars on the relative line (e.g. the 6th line of Orion's graph contains three stars: one at position ``9``, one at poistion ``11`` and one at position ``13``). \n* ``name`` contains the name of the constellation, this time written with regular characters.\n* ``quadrant`` contains the quadrant of the constellation.\n* ``right ascension`` contains the right ascension of the constellation.\n* ``declination`` contains the declination of the constellation.\n* ``area`` contains the area of the constellation.\n* ``main stars`` contains the number of stars that compose the constellation.\n\n### Contribution guidelines\nIf you want to help this project grow by adding constellation files, here are some guidelines to write correct JSON files:\n* The ``\"title\"`` field should contain the name of the constellation written with [fullwidth Unicode characters](https://en.wikipedia.org/wiki/Halfwidth_and_Fullwidth_Forms_(Unicode_block)).  \nPlease, make sure to use them. Before and after the name, you have to put the [box-drawing character](https://en.wikipedia.org/wiki/Box-drawing_character) U+2500 as many times as needed to make the line reach the right side of the graph.  \nPlease, make sure to place the same number of box-drawing characters on both sides, in order to make the name appear at the center.  \nBetween the constellation name and the box-drawing characters, you should place a whitespace.  \n(e.g. ``\"───── ｎａｍｅ ─────\"``).\n* The ``line1`` to ``line10`` fields should contain the X coordinates of the stars in each line. \nPlease, make sure to center the graph both vertically and horizontally and please, make sure not to leave any star without an X coordinate (e.g. **don't** write this: ``\"\" : \"✦\"``).\n* The ``\"name\"`` field should contain the name of the constellation starting with the capital letter.\n* The ``\"quadrant\"`` field should contain the quadrant of the constellation, all in capital letters and without spaces. \n* The ``\"right ascension\"`` field should contain the right ascension of the constellation.  \nPlease, make sure to separate each value with a whitespace, and in case a constellation has two right ascension values, separate them with a \"to\" (e.g. ``\"22h 57m 04.5897s to –03h 41m 14.0997s\"``).\n* The ``declination`` field should contain the declination of the constellation.  \nPlease, make sure to specify both - and + symbols for negative and positive values. If there are two declination values, separate them with a \"to\" (e.g. ``\"+77.6923447° to –48.6632690°\"``).\n* The ``\"area\"`` field should contain the area of the constellation.  \nPlease, make sure to include the unit of measurement, written with lowercase letters (e.g. ``\"598 sq.deg. (25th)\"``).\n* The ``\"main stars\"`` field should contain the number of stars that compose the constellation.\nPlease, if there's more than a value for this field, make sure to separate them with a comma and a space, and place them in ascending order (e.g. ``\"9, 11, 20\"``).\n  \nYour help is highly appreciated!\n  \n## Credits \u0026 Dependencies\n\n### JSON for Modern C++\nTo work easily with JSON files, starfetch relies on [JSON for Modern C++](https://github.com/nlohmann/json) by [Niels Lohmann](https://github.com/nlohmann).   \nAlthough relying on external libraries, no dependencies are needed to install starfetch, since said library is already included in this repository (``src/include/json.hpp``) via the [single_include](https://github.com/nlohmann/json/blob/develop/single_include/nlohmann/json.hpp) version provided by the author, in order to make it easier for you, the end user, to enjoy starfetch.\n  \n### Contributions\n* Credits to John Southern for creating the JSON files for the ``gemini``, ``scorpio``, ``sagittarius``, ``aquarius``, ``ophiuchus`` and ``pisces`` constellations, as well as correcting the ``lyra`` constellation's JSON file and creating the JSON files for the ``kvennavagn``, ``ulfskeptr``, ``karlvagn`` and ``asarbardagi`` norse constellations!  \n* Credits to [Hushm](https://github.com/HushmKun) for creating the JSON files for the ``antlia``, ``ara`` and ``apus`` constellations!\n* Credits to [kbHoward2](https://github.com/kbHoward2) for creating the JSON file for the ``lupus`` constellation!\n* Credits to [Vega Deftwing](https://github.com/VegaDeftwing) for creating the JSON file for the ``lyra`` constellation!\n* Credits to [Nathan Richard](https://github.com/naTariks) for creating the JSON file for the ``monoceros`` constellation!\n* Credits to [Andreas Grafen](https://github.com/andreasgrafen) for creating the JSON file for the ``canes_venatici`` constellation!\n* Credits tp [Munimul](https://github.com/Munimul) for creating the JSON files for the ``andromeda``, ``auriga``, ``aquila``, ``caelum``, ``camelopardalis``, ``canis_major``, ``canis_minor``,  ``carina``, ``centaurus`` and ``circinus`` constalltions!\n\nVery huge thanks to [su8](https://github.com/su8) for optimizing and polishing starfetch's code, adding compatibility for Windows systems and the related detailed documentation, and developing the graphical version of starfetch! \n\nHuge thanks to [Belaja-akacija](https://github.com/belaja-akacija) for adding the functionality to select from different types of constellations, adding the Norse constellations collection and creating the JSON files for the ``friggerock`` norse constellation, and refactoring and polishing starfetch's code!\n\n\n---- \n###### All data regarding the constellations is taken from Wikipedia.\n","funding_links":[],"categories":["C++","\u003ca name=\"science\"\u003e\u003c/a\u003eScience"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHaruno19%2Fstarfetch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHaruno19%2Fstarfetch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHaruno19%2Fstarfetch/lists"}