{"id":25075029,"url":"https://github.com/dentednerd/self-care-for-developers","last_synced_at":"2026-04-17T03:02:48.849Z","repository":{"id":95786862,"uuid":"450552313","full_name":"dentednerd/self-care-for-developers","owner":"dentednerd","description":"A hub of useful information regarding the care and feeding of software developers, curated by software developers.","archived":false,"fork":false,"pushed_at":"2022-03-25T16:10:54.000Z","size":1052,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T21:27:08.467Z","etag":null,"topics":["gatsby","stitches","storybook"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/dentednerd.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":"2022-01-21T15:56:53.000Z","updated_at":"2022-05-10T10:50:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"4651750c-8fa8-4a2e-8f20-1a8ce17e8382","html_url":"https://github.com/dentednerd/self-care-for-developers","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dentednerd/self-care-for-developers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dentednerd%2Fself-care-for-developers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dentednerd%2Fself-care-for-developers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dentednerd%2Fself-care-for-developers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dentednerd%2Fself-care-for-developers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dentednerd","download_url":"https://codeload.github.com/dentednerd/self-care-for-developers/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dentednerd%2Fself-care-for-developers/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31913078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"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":["gatsby","stitches","storybook"],"created_at":"2025-02-07T00:29:50.081Z","updated_at":"2026-04-17T03:02:48.830Z","avatar_url":"https://github.com/dentednerd.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Self Care for Developers\n\nA hub of useful information regarding the care and feeding of software developers, curated by software developers.\n\n## Requirements\n\n- [Node](https://nodejs.org/en/) v16.13.0\n- [Gatsby CLI](https://www.npmjs.com/package/gatsby-cli) v4.6.1\n\n## Tech\n\n- [Gatsby](https://www.gatsbyjs.com/) v4.6.2\n  - with [React](https://reactjs.org/) v17\n  - with [ESLint](https://eslint.org/) v7\n- [Stitches](https://stitches.dev/) v1.2.6\n- [Storybook](https://storybook.js.org/) v6.4.18\n\n## Usage\n\n```sh\ngit clone https://github.com/dentednerd/self-care-for-developers.git\ncd self-care-for-developers\nyarn\nyarn start\n```\n\nThe website will be available on [http://localhost:8000](http://localhost:8000).\n\nThe GraphQL playground will be available on [http://localhost:8000/___graphql](http://localhost:8000/___graphql).\n\nTo access Storybook, run `yarn storybook` in a separate terminal; Storybook will be available on [http://localhost:6006/](http://localhost:6006/).\n\n## Contributing\n\nThe `main` branch is protected; please develop on a branch and create a pull request.\n\n### I want to contribute an article\n\nThis project doesn't use an external CMS; articles live in `src/articles` and are written in MDX format. Feel free to use React components in your article body as you wish!\n\nYou'll find `article-template.mdx` in the project root. Please make a copy of this file, paste it into `src/articles` and rename it in the format `article-title-in-kebab-case.mdx`. This filename will form part of the URL by which this article will be accessed when merged into `main`. Write your article, then commit and push to a branch and create a pull request.\n\n### I want to create a new category for my article\n\nBringing a new category into existence is as simple as adding it into the `tags` array of your article's metadata. Gatsby will create a new category page on which your article will be visible.\n\nHowever, one thing to be aware of is that the illustrations used in article headers are chosen based on the first of that article's `tags`. If that tag doesn't exist yet, the article illustration will default to `src/assets/undraws/DayOff`. If you'd prefer to have another illustration represent articles in your new category, please add a new case to the switch statement in `src/atoms/TagUndraw`, choosing an illustration from the imports at the top of the file. (See below if you'd prefer to add a new illustration.)\n\n### I want to add a new illustration for the category I've created\n\nThe illustrations used for each category are sourced from [Undraw](https://undraw.co/illustrations) (hence the `src/assets/undraws` directory, and the `TagUndraw` component).\n\nAs much as possible, these illustrations should:\n\n- use colours from the Stitches config\n- use at least one theme colour that changes depending on light/dark mode\n\nTo achieve this:\n\n1. Download your chosen SVG from Undraw and open it in your IDE.\n1. Copy the SVG code into a new React component in `src/assets/undraws`. Be sure to update any instances of `xmlns:xlink` to `xmlnsXlink`, and also add the `aria-hidden=\"true\"` attribute to the `\u003csvg\u003e` tag itself.\n1. Create a story for your new component and open it up in Storybook for an optimal dev experience.\n1. Using your best artistic judgement, scan the SVG code in your new component for colours (VSCode users: might I recommend [Color Highlight](https://marketplace.visualstudio.com/items?itemName=naumovs.color-highlight) for this task?), and swap them out for colours declared in the Stitches config, using CSS variable syntax (e.g. to use the `title` theme colour, replace the colour hex with `var(--colors-title)`).\n1. When you're happy with your colour choices, add your component to `src/assets/undraws/index.js`, import it into `src/atoms/TagUndraw`, and create a new case for your tag and illustration. Take a look at `TagUndraw` in Storybook to help you out with this.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdentednerd%2Fself-care-for-developers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdentednerd%2Fself-care-for-developers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdentednerd%2Fself-care-for-developers/lists"}