{"id":15994317,"url":"https://github.com/pixelhandler/blog","last_synced_at":"2025-03-17T15:32:21.708Z","repository":{"id":14616407,"uuid":"17333719","full_name":"pixelhandler/blog","owner":"pixelhandler","description":"Pixelhandler's Blog","archived":false,"fork":false,"pushed_at":"2023-07-20T08:52:07.000Z","size":2728,"stargazers_count":33,"open_issues_count":11,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-28T01:18:33.598Z","etag":null,"topics":["single-page-app","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/pixelhandler.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":"2014-03-02T08:04:48.000Z","updated_at":"2023-07-20T08:45:19.000Z","dependencies_parsed_at":"2024-10-27T15:18:20.099Z","dependency_job_id":"b0e646d3-1918-4117-8ac9-325fda116ddb","html_url":"https://github.com/pixelhandler/blog","commit_stats":{"total_commits":28,"total_committers":1,"mean_commits":28.0,"dds":0.0,"last_synced_commit":"c3a5bef61751791119dad1b568b01a3e2ae3e91b"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelhandler%2Fblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelhandler%2Fblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelhandler%2Fblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelhandler%2Fblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pixelhandler","download_url":"https://codeload.github.com/pixelhandler/blog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243869481,"owners_count":20361022,"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":["single-page-app","typescript"],"created_at":"2024-10-08T07:08:26.905Z","updated_at":"2025-03-17T15:32:21.194Z","avatar_url":"https://github.com/pixelhandler.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pixelhandler-dev\n\nBlog (client) application for https://pixelhandler.dev\n\n- Written with [TypeScript][typescript]\n- End-to-end tests with [Webdriver.io][webdriver]\n- Data source: api.pixelhandler.dev JSON API\n\n\n## Development\n\n*Build* Webpack with TypeScript\n\nPick one:\n\n    make\n    make build\n    make watch\n\n*Server* with Node\n\n    make server\n\nOr, use *Nginx*\n\n    sudo nginx -c path_to… ./etc/nginx/nginx.conf\n    sudo nginx -s stop\n    tail -f /usr/local/var/log/nginx/error.log\n\n\n## Styles\n\n*PostCSS* modules\n\n- postcss-import, postcss-nested\n\n*Compile* styles, runs in `make build`\n\n    ./bin/process-css.js\n\nOr,\n\n    postcss styles/app.css -c ./postcss.config.js -o dist/styles.css\n\n\n## Testing\n\nSee [webdriver] docs.\n\n*Install* Selenium executable and driver\n\n    cd test\n\n    curl -O http://selenium-release.storage.googleapis.com/3.0/selenium-server-standalone-3.0.1.jar\n\n    curl -L https://github.com/mozilla/geckodriver/releases/download/v0.11.1/geckodriver-v0.11.1-macos.tar.gz | tar xz\n\nDownload and install Java SE JDK, e.g `jdk-8u131-macosx-x64.dmg`\n\n\n*Start Selenium Server*\n\n    make selenium\n\n*Run tests*\n\n    make test\n\n*Run Webdriver REPL*\n\n    make test-repl\n    browser.url('https://pixelhandler.dev/tags')\n\nFor Ubuntu (e.g. WSL) may need to run headless\n\n    sudo apt-get install firefox\n\n    sudo apt-get -y install xvfb gtk2-engines-pixbuf\n    sudo apt-get -y install xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable\n\n    Xvfb -ac :99 -screen 0 1280x1024x16 \u0026\n    export DISPLAY=:99\n\n\n## Release\n\n    make dist\n\n- Upload to S3, set metadata\n\n*Metadata* for JS/CSS Assets\n\n```\nCache-Control\nmax-age=63072000, public\n\nContent-Encoding\ngzip\n\nContent-Type\napplication/javascript\ntext/css\n\nExpires\nTue, 01 Jan 2030 00:00:00 GMT\n```\n\n*Metadata* for HTML\n\n```\nContent-Type\ntext/html; charset=UTF-8\n\nCache-Control\nmax-age=14\n\nContent-Encoding\ngzip\n```\n\n## Troubleshooting\n\n- issue with `node-gyp`\n  `xcode-select --install`\n  `npm install -g node-gyp`\n\n[typescript]: https://www.typescriptlang.org/\n[webdriver]: http://webdriver.io/guide.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixelhandler%2Fblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpixelhandler%2Fblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixelhandler%2Fblog/lists"}