{"id":15506070,"url":"https://github.com/simply007/simply007.github.io","last_synced_at":"2026-01-11T02:01:43.110Z","repository":{"id":38962522,"uuid":"176586089","full_name":"Simply007/Simply007.github.io","owner":"Simply007","description":"Personal site - Ondřej Chrastina","archived":false,"fork":false,"pushed_at":"2025-12-23T16:13:28.000Z","size":188386,"stargazers_count":0,"open_issues_count":8,"forks_count":0,"subscribers_count":1,"default_branch":"source","last_synced_at":"2025-12-25T02:58:23.702Z","etag":null,"topics":["personal-website"],"latest_commit_sha":null,"homepage":"https://ondrej.chrastina.dev","language":"JavaScript","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/Simply007.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-03-19T19:38:57.000Z","updated_at":"2025-12-23T16:12:15.000Z","dependencies_parsed_at":"2025-06-23T11:37:11.436Z","dependency_job_id":null,"html_url":"https://github.com/Simply007/Simply007.github.io","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Simply007/Simply007.github.io","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simply007%2FSimply007.github.io","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simply007%2FSimply007.github.io/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simply007%2FSimply007.github.io/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simply007%2FSimply007.github.io/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Simply007","download_url":"https://codeload.github.com/Simply007/Simply007.github.io/tar.gz/refs/heads/source","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Simply007%2FSimply007.github.io/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28269823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T01:49:32.096Z","status":"online","status_checked_at":"2026-01-11T02:00:07.090Z","response_time":60,"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":["personal-website"],"created_at":"2024-10-02T09:25:27.679Z","updated_at":"2026-01-11T02:01:43.083Z","avatar_url":"https://github.com/Simply007.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Personal site\n\n[![Netlify Status](https://api.netlify.com/api/v1/badges/e7dcc33b-8c8b-46e0-bd0f-8b85daa859cc/deploy-status)](https://app.netlify.com/sites/chrastina/deploys)\n\nThis is my personal website build using [Gatsby](https://gatsbyjs.org) and [Kentico Kontent](https://kontent.ai) as a data source.\n\n[![Home page preview](./docs/home-page.png)](https://ondrej.chrastina.tech)\n\n## Installation\n\nInstall required modules by `npm install` command.\n\nCopy [`.env.template`](`./.env.template`) and name it `.env`.\nThat file will be used to load environment variables.\n\nRun `gatsby develop` in the terminal to start the dev site.\n\n## CSS Grid\n\nThe grid on this site was replaced with a custom version, built using CSS Grid. It's a very simple 12 column grid that is disabled on mobile. To start using the grid, wrap the desired items with `grid-wrapper`. Items inside the `grid-wrapper` use the class `col-` followed by a number, which should add up to 12.\n\nHere is an example of using the grid, for a 3 column layout:\n\n```jsx\n\u003cdiv className=\"grid-wrapper\"\u003e\n    \u003cdiv className=\"col-4\"\u003e\n        \u003cp\u003eContent Here\u003c/p\u003e\n    \u003c/div\u003e\n    \u003cdiv className=\"col-4\"\u003e\n        \u003cp\u003eContent Here\u003c/p\u003e\n    \u003c/div\u003e\n    \u003cdiv className=\"col-4\"\u003e\n        \u003cp\u003eContent Here\u003c/p\u003e\n    \u003c/div\u003e\n\u003c/div\u003e\n```\n\n## Style guide\n\nYou could find out the style guide on:\n\n* [/style-guide](https://ondrej.chrastina.tech/style-guide) - Home page style showcase\n* [/styleguide/elements](https://ondrej.chrastina.tech/style-guide/elements) - elements style guide\n* [/styleguide/generic](https://ondrej.chrastina.tech/style-guide/generic) - generic page showcase\n* [/styleguide/landing](https://ondrej.chrastina.tech/style-guide/landing) - landing page showcase\n* [/styleguide/sections](https://ondrej.chrastina.tech/style-guide/sections) - sections page showcase\n\n## Connect to your own project\n\n### Create content source\n\n1. Go to [app.kontent.ai](https://app.kontent.ai) and [create empty project](https://docs.kontent.ai/tutorials/set-up-kontent/projects/manage-projects#a-creating-projects)\n1. Go to \"Project Settings\", select API keys and copy `Project ID`\n1. Install [Kontent.ai dataops](https://github.com/kontent-ai/data-ops) and import data to newly created project from [`kontent-backup.zip`](./kontent-backup.zip) file (place appropriate values for `apiKey` and `projectId` arguments):\n\n    ```sh\n    npx @kontent-ai/data-ops@latest environment restore --fileName \"kontent-backup.zip\" --environmentId \u003ctarget-environment-id\u003e --apiKey \u003cManagement-API-key\u003e\n    ```\n\n### Join codebase and content data\n\nAdjust `.env` file by setting the `KONTENT_PROJECT_ID` environment variable to value from your kontent project -\u003e \"Project Settings\" -\u003e  API keys -\u003e Project ID.\n\n**You are now ready to use the site as your own!**\n\n## Setup\n\nSite's navigation is based on the [official navigation showcase](https://github.com/Kentico/gatsby-source-packages/examples/navigation). It is also extending some concepts.\n\n### External URLs in Navigation\n\nThe navigation item is extended by `External URL` field. [This field is then used instead of `url` field](./src/components/Menu.js).\n\n![External URL rendering example](./docs/external-url-navigation-item.png)\n\n### Multiple content pages\n\nThere are multiple content pages used as the content container. Namely `Home page`, `Sections page`, `Listing page`. These content containers are using [different templates](./gatsby-node.js) when registering the page components under the routes ([templates](./src/templates)).\n\n![Multiple content containers types for pages](./docs/content-page-multiple-types.png)\n\n#### Listing content page\n\nOne of the content container types is `Listing items`, this type allows to select content type(s) that is/are then used to determine what is about to be queried in the page. To model it in Kontent [Type selector custom element](https://github.com/Simply007/kontent-custom-element-type-selector) is used and then in the application. Then when the application is registering the page components ir loads detail items and [register them under their own route](./gatsby-node.js#L115) with [detail component template](./src/templates/journal-item.js).\n\nIn this case it its `journal/\u003cGOTCHA_SLUG\u003e`\n\n![Listing detail modeling](./docs/listing-page-journal-gotcha.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimply007%2Fsimply007.github.io","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimply007%2Fsimply007.github.io","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimply007%2Fsimply007.github.io/lists"}