{"id":18494850,"url":"https://github.com/qaware/qaware-blog-source","last_synced_at":"2026-03-09T08:02:45.713Z","repository":{"id":40756524,"uuid":"280377077","full_name":"qaware/qaware-blog-source","owner":"qaware","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-16T12:55:15.000Z","size":61637,"stargazers_count":8,"open_issues_count":3,"forks_count":32,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-01-17T03:37:07.288Z","etag":null,"topics":["blog","hugo","qaware"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","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/qaware.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-07-17T08:59:02.000Z","updated_at":"2026-01-16T12:55:18.000Z","dependencies_parsed_at":"2024-08-26T14:28:35.247Z","dependency_job_id":"3d03b630-024d-443d-bcf8-8b07996303cc","html_url":"https://github.com/qaware/qaware-blog-source","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/qaware/qaware-blog-source","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaware%2Fqaware-blog-source","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaware%2Fqaware-blog-source/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaware%2Fqaware-blog-source/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaware%2Fqaware-blog-source/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qaware","download_url":"https://codeload.github.com/qaware/qaware-blog-source/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qaware%2Fqaware-blog-source/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30287447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["blog","hugo","qaware"],"created_at":"2024-11-06T13:22:26.718Z","updated_at":"2026-03-09T08:02:45.691Z","avatar_url":"https://github.com/qaware.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# qaware-blog-source\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/qaware/qaware-blog-source)\n\n\n## Generated websites\n\n* [https://blog.qaware.de](https://blog.qaware.de)  \n  Target environment of our QAware software engineering blog\n* [https://qawareblog-2ixogl4y4q-ey.a.run.app](https://qawareblog-2ixogl4y4q-ey.a.run.app)  \n  Testing environment with draft posts included. _(user: qaware, pw: qaware)_\n\n## Write Content\n\nPre-requisites:\n* Github account\n* git\n* IntelliJ\n* hugo (only required if you want test the blog locally --\u003e for installation see details below)\n\n### Fork our Github Repository\n\nWriters work on a fork of the repository (and then later create a pull request for merging). \n\nA fork can be created either \n* via the [web interface](https://github.com/qaware/qaware-blog-source) (click on the fork button on the right side and then select your GitHub account) or\n* with the [GitHub command line tool](https://cli.github.com/).\n\nGitHub CLI example\n\n```bash\ngh repo fork qaware/qaware-blog-source\n```\n\nAfter this step, a fork is created for the current GitHub user of the Writer: `https://github.com/\u003cGITHUB_USER\u003e/qaware-blog-source`. \n\nTo work with it locally on a computer, this fork must first be cloned. \n:warning: The `--recurse-submodules` is important as the [qaware-blog-theme](https://github.com/qaware/qaware-blog-theme) is included as a git submodule.\n\n```bash\ngit clone --recurse-submodules https://github.com/\u003cGITHUB_USER\u003e/qaware-blog-source\n```\n\nTo track more changes in the remote `qaware-blog-theme`, update the locally checked-out submodule with \n```bash\ngit submodule update --remote\n```\nOtherwise, you might see templating errors such as\n```\nfailed to extract shortcode: template for shortcode \"img\" not found\n```\n\n### Write your post (with or without hugo) \n\nIf you don't want to use hugo just add and edit your post md-file manually in `content/posts`. Then add the meta data at the beginning of your md-file like in the example below!\n\nIf you want to use hugo to generate your new post and to test locally, you'll need to install:\n\n* [Hugo extended](https://gohugo.io/getting-started/installing/) (in doubt: run `hugo version` and check if `extended` is in the version)\n\nThen [get used to Hugo](https://gohugo.io/getting-started/quick-start). \n\nNow you can use the hugo-commands in your IntelliJ terminal:\n\n1) `hugo new content/posts/\u003carticleTitle\u003e.md` (as file name without blanks, e.g. `hello-world.md`) --\u003e \nthis will locally add a new post as a draft in the blog in `content/posts`.\n2) edit content: write your blog post in the created md-file\n3) `hugo server -D` --\u003e this will start the local webserver and show you the blog locally on http://localhost:1313\n\n### Edit page meta data\n\nThe Hugo Generator creates the content page as a markdown file. After running the generator the meta data must be extended.\n\nGenerator example:\n\n```md\n---\ntitle: \"Hello World\"\ndate: 2020-05-11T10:43:02+02:00\nauthor: \"\"\ntype: \"post\"\nimage: \"\"\ncategories: []\ntags: []\ndraft: true\nsummary: This post shows you how to ...\n---\n\nPost text\n\n```\n\n1. Add `lastmod` attribute. Use value of `date` attribute for the first version of your new page.\n2. Add `author` attribute. Add a markdown link to your GitHub profile as value.\n3. Add `type` attribute with value `post`. Our theme supports more content type. But for the moment we only use `post`.\n4. Add `image` attribute. Put an image to the `/static/images` folder and write the filename (without `images/`) into attribute's value. More infos about providing image files can be found in the next chapter.\n5. Add `tags`: Select one or more fitting tags for your post: e.g. `Testing`, `Architecture`, `Cloud Native`\n6. Add `summary`: Add a short sentence as summary. This will be the description shown under page name and url in search engine result pages.\n7. `draft` is initially set to \"true\", which means that it will only be visible on the test environment [https://qawareblog-2ixogl4y4q-ey.a.run.app](https://qawareblog-2ixogl4y4q-ey.a.run.app) . Set `draft` to false when your post is ready!\n\nFinal example:\n\n```md\n---\ntitle: \"Hello World\"\ndate: 2020-05-11T10:43:02+02:00\nlastmod: 2020-05-11T10:43:02+02:00\nauthor: \"[Josef Fuchshuber](https://github.com/fuchshuber)\"\ntype: \"post\"\nimage: \"hello-world.jpg\"\ntags: [\"Framework\", \"Tutorial\", \"Java\"]\ndraft: true\nsummary: An introduction to ... \n---\n```\n\n### Add images\n\nPlease use only own images, images with creative commons licence or search and download your images by [gettyimages](https://www.gettyimages.de/). Store images for your post in the `static/images` folder with a self explaining file name and refer them in markdown:\n\n```md\n{{\u003c img src=\"/images/hello-world.jpg\" alt=\"Hello World title picture\" \u003e}}\n```\n\nor as a figure with caption:\n\n```md\n{{\u003c figure figcaption=\"Hello World Caption\" \u003e}}\n  {{\u003c img src=\"/images/hello-world.jpg\" alt=\"Hello World title picture\" \u003e}}\n{{\u003c /figure \u003e}}\n```\n### Create pull request\n\nIt is the best to work only on one post at a time and after the work on this post is finished for the time, create a pull request with the changes for the upstream respository.\n\n1. Commit \u0026 push all changes to your fork\n2. Create pull request\n\n```bash\ngh pr create\n\nCreating pull request for master into master in qaware/qaware-blog-source\n\n? Title Describes pull request creation\n? What's next? Submit\nhttps://github.com/qaware/qaware-blog-source/pull/20\n```\n\n### Update your fork\n\nFetch branches and commits from the upstream repo (`qaware/qaware-blog-source`). You’ll be storing the commits to master in a local branch upstream/master:\n\n```bash\ngit fetch upstream\n```\n\nCheckout your fork’s local master, then merge changes from upstream/master into it.\n\n```bash\ngit checkout master\ngit merge upstream/master\n```\n\nPush changes to update your fork on Github.\n\n```bash\ngit push\n```\n\n## Build and run Dockerfile locally\n\nTo test the preview dockerfile locally run.\n\n```bash\ndocker build --tag=qaware-blog-local .\ndocker run --rm -p 1313:80 qaware-blog-local\nopen localhost:1313\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqaware%2Fqaware-blog-source","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqaware%2Fqaware-blog-source","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqaware%2Fqaware-blog-source/lists"}