{"id":20299751,"url":"https://github.com/elseifab/internetdagarna","last_synced_at":"2025-10-23T19:57:22.065Z","repository":{"id":56977046,"uuid":"74123795","full_name":"elseifab/internetdagarna","owner":"elseifab","description":"Automatiserad hantering för WordPress-projekt","archived":false,"fork":false,"pushed_at":"2016-12-20T19:19:56.000Z","size":125,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-10-23T19:57:21.364Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/elseifab.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}},"created_at":"2016-11-18T11:25:52.000Z","updated_at":"2016-12-20T18:40:39.000Z","dependencies_parsed_at":"2022-08-21T08:10:59.822Z","dependency_job_id":null,"html_url":"https://github.com/elseifab/internetdagarna","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/elseifab/internetdagarna","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elseifab%2Finternetdagarna","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elseifab%2Finternetdagarna/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elseifab%2Finternetdagarna/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elseifab%2Finternetdagarna/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elseifab","download_url":"https://codeload.github.com/elseifab/internetdagarna/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elseifab%2Finternetdagarna/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280684034,"owners_count":26372971,"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","status":"online","status_checked_at":"2025-10-23T02:00:06.710Z","response_time":142,"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":[],"created_at":"2024-11-14T16:16:07.646Z","updated_at":"2025-10-23T19:57:22.049Z","avatar_url":"https://github.com/elseifab.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automatisk hantering för WordPress-projekt\nWordCamp Internetdagarna, Waterfront Stockholm, 2016\n\nDenna kodbas är framtagen för presentationen på WordCamp Stockholm 2016.\n\nKoden ska ses som ett \"proof-of-concept\" på en strukturerad miljö för utveckling och distribution av WordPress-projekt.\n\n[Denna presentation sammanfattas i slides här!](https://www.elseif.se/internetdagarna)\n\nSyftet är att ge en inblick och förståelse för hur utveckling med WordPress kan automatiseras och göras med kontrollerat upplägg med versionshantering, pakethantering, deployment och test.\n\n## Länkar efter presentationen\nNågra frågor kring presentationen visade på intressanta uppslag:\n\n[Roots](https://roots.io/): [Trellis - Vagrantmiljö](https://roots.io/trellis/), [Bedrock - paketstruktur](https://roots.io/bedrock/), [Sage - tema](https://roots.io/sage/)\n[Laravel Forge](https://forge.laravel.com/), funkar fint för denna typ av WordPress-upplägg.\n\n## Grundkrav\n* PHP\n* Composer\n* Git\n* Virtual Box\n* Vagrant\n\n### Option\n* Node, npm för testcase i CasperJS\n* En VPS att leverera till\n\n## Snabba steg\nOm du vill få detta att rulla med snabba steg:\n\n* `composer create-project elseif/internetdagarna`\n* `cd internetdagarna`\n* `cp .env.example .env`\n* (modifiera Homestead.yaml rad 15 till ditt projekts sökväg)\n* `vagrant up`\n* (modifiera hosts-filen med: 192.168.10.13 =\u003e internetdagarna.dev)\n* `vendor/bin/dep` initial dev\n* (surfa till http://internetdagarna.dev)\n\nMer om varje del nedan!\n\n## Versionshantering\nGit används för versionshantering. Installera [Git](https://git-scm.com/downloads) på din dator!\nProjektet ligger på Github med licens MIT. \n\n## Pakethantering\nVi använder [Composer](https://getcomposer.org/), styrfilen för externa paket finns definierade i composer.json.\n```\ncomposer install\n```\nTa för vana att köra `composer update` för att dina externa paket ska vara uppdaterade.\n\n## Utvecklingsmiljön\n[Vagrant](https://www.vagrantup.com/) med [Virtual Box](https://www.virtualbox.org/)\n\n[Homstead Laravel](https://laravel.com/docs/5.3/homestead)\n\n```\ncomposer update\n```\n\n```\ncomposer require laravel/homestead --dev\nphp vendor/bin/homestead make\n```\nRedigera Homestead.yaml till med dina inställningar.\nUppdatera /etc/hosts (OSX)\n```\nvagrant up\n```\nKrånglar miljön? Starta om Vagrantboxen:\n```\nvagrant reload --provision\n```\n\n## Deployment\nVi använder [PHP Deployer](https://deployer.org/) och [WP CLI](https://wp-cli.org/) för att initiera ny webbplats.\n```\nvendor/bin/dep initwp dev\n```\nInitierar WordPress-installation i din Vagrantbox samt sätter ett testtema som aktivt.\n\nLogga in i wp-admin: [`http://internetdagarna.dev/wp/wp-admin`](http://internetdagarna.dev/wp/wp-admin) med `admin` och lösenord `admin`.\n\n```\nvendor/bin/dep testdata dev\n```\nFyller din WordPress-webbplats med testdata.\n\n## Test\nVi använder [PHPUnit](https://phpunit.de/) och i detta fall ett mycket enkelt UI-test med hjälp av [CasperJS](http://casperjs.org/) som genererar en bild på testet.\nCaperJS kräver [Node](https://nodejs.org/en/) i global installation.\n\nSelenium (Javabaserat) är ett annat verktyg för UI-test men eftersom vi ofta ändå använder Node så är CasperJS närmare till hands och dessutom betydligt enklare.\n\n\nInstallationsexempel:\n```\nsudo npm install -g phantomjs\nsudo npm install -g casperjs\n```\n\n```\nvendor/bin/dep tests dev\n```\nDrar igång UI-test i din Vagrantbox.\n\n## Deployment Production\n```\nvendor/bin/dep deploy production\n```\nSkapar en ny release på produktionsservern. Grundkraven är att destinationen har Git och Composer installerat.\nVidare behöver en shared/.env samt installerad databas. Det går att initiera WordPressinstallationen med tidigare `startup`, ex:\n```\nvendor/bin/dep startup production\n```\nObservera att databas och .env måste finnas på servern. Kom ihåg att ändra admin-lösenordet!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felseifab%2Finternetdagarna","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felseifab%2Finternetdagarna","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felseifab%2Finternetdagarna/lists"}