Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
aerni committed Aug 4, 2021
0 parents commit 06c307d
Show file tree
Hide file tree
Showing 44 changed files with 2,280 additions and 0 deletions.
18 changes: 18 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# This file is for unifying the coding style for different editors and IDEs.
# More information at https://editorconfig.org

root = true

[*]
charset = utf-8
indent_size = 4
indent_style = space
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

[*.yaml]
indent_size = 2
12 changes: 12 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Path-based git attributes
# https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html

# Ignore all tests and documentation with "export-ignore".
/.editorconfig export-ignore
/.gitattributes export-ignore
/.github export-ignore
/.gitignore export-ignore
/.php.cs export-ignore
/.travis.yml export-ignore
/phpunit.xml export-ignore
/tests export-ignore
23 changes: 23 additions & 0 deletions .github/workflows/php-cs-fixer.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Check & fix styling

on: [push]

jobs:
php-cs-fixer:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}

- name: Run PHP CS Fixer
uses: docker://oskarstark/php-cs-fixer-ga
with:
args: --config=.php_cs.dist.php --allow-risky=yes

- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Fix styling
39 changes: 39 additions & 0 deletions .github/workflows/run-tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Tests

on: [push, pull_request, workflow_dispatch]

jobs:
php_tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: [7.4, 8.0]
laravel: [8.*, 7.*]
dependency-version: [prefer-lowest, prefer-stable]
include:
- laravel: 8.*
testbench: 6.*
- laravel: 7.*
testbench: 5.*

name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.dependency-version }}

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick
coverage: none

- name: Install dependencies
run: |
composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction --no-suggest
- name: Run Tests
run: vendor/bin/phpunit
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.DS_Store
.idea
.env
.phpunit.result.cache
.php_cs.cache
.php-cs-fixer.cache
coverage
node_modules
tests/__fixtures__/content/*.yaml
tests/__fixtures__/users/*.yaml
vendor
35 changes: 35 additions & 0 deletions .php_cs.dist.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?php

$finder = Symfony\Component\Finder\Finder::create()
->in([
__DIR__ . '/src',
__DIR__ . '/tests',
])
->name('*.php')
->notName('*.blade.php')
->ignoreDotFiles(true)
->ignoreVCS(true);

return (new PhpCsFixer\Config())
->setRules([
'@PSR2' => true,
'array_syntax' => ['syntax' => 'short'],
'ordered_imports' => ['sort_algorithm' => 'alpha'],
'no_unused_imports' => true,
'not_operator_with_successor_space' => true,
'trailing_comma_in_multiline' => true,
'phpdoc_scalar' => true,
'unary_operator_spaces' => true,
'binary_operator_spaces' => true,
'blank_line_before_statement' => [
'statements' => ['break', 'continue', 'declare', 'return', 'throw', 'try'],
],
'phpdoc_single_line_var_spacing' => true,
'phpdoc_var_without_name' => true,
'method_argument_space' => [
'on_multiline' => 'ensure_fully_multiline',
'keep_multiple_spaces_after_comma' => true,
],
'single_trait_insert_per_statement' => true,
])
->setFinder($finder);
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Advanced SEO
An advanced SEO addon for Statamic

## Credits
Developed by [Michael Aerni](https://www.michaelaerni.ch)
64 changes: 64 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"name": "aerni/advanced-seo",
"description": "An advanced SEO addon for Statamic.",
"keywords": [
"statamic",
"seo"
],
"homepage": "https://github.com/aerni/statamic-advanced-seo",
"license": "proprietary",
"authors": [
{
"name": "Michael Aerni",
"email": "[email protected]",
"homepage": "https://michaelaerni.ch",
"role": "Developer"
}
],
"require": {
"php": "^7.4 | ^8.0",
"spatie/laravel-ray": "^1.24",
"statamic/cms": "^3.1"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^2.19",
"nunomaduro/collision": "^5.4",
"orchestra/testbench": "^6.17",
"phpunit/phpunit": "^9.5"
},
"autoload": {
"psr-4": {
"Aerni\\AdvancedSeo\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"Aerni\\AdvancedSeo\\Tests\\": "tests"
},
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"test": "vendor/bin/phpunit",
"format": "vendor/bin/php-cs-fixer fix --allow-risky=yes"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true
},
"extra": {
"statamic": {
"name": "Advanced SEO",
"description": "An advanced SEO addon for Statamic."
},
"laravel": {
"providers": [
"Aerni\\AdvancedSeo\\ServiceProvider"
]
}
},
"minimum-stability": "dev",
"prefer-stable": true
}
120 changes: 120 additions & 0 deletions config/advanced-seo.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
<?php

return [

/*
|--------------------------------------------------------------------------
| Favicons
|--------------------------------------------------------------------------
|
| Configure the options for your favicons
|
*/

'favicons' => true,

/*
|--------------------------------------------------------------------------
| Social Images
|--------------------------------------------------------------------------
|
| Configure the options for your social images.
|
*/

'social_images' => [

/*
|--------------------------------------------------------------------------
| Social Images Generator
|--------------------------------------------------------------------------
|
| Do you want to enable the Social Images Generator?
| This requires Puppeteer and Browsershot.
|
*/

'generator' => false,

/*
|--------------------------------------------------------------------------
| Open Graph Images
|--------------------------------------------------------------------------
|
| Do you want to enable the Open Graph Images settings?
|
*/

'open_graph' => true,

/*
|--------------------------------------------------------------------------
| Twitter Images
|--------------------------------------------------------------------------
|
| Do you want to enable the Twitter Images settings?
|
*/

'twitter' => true,

],

/*
|--------------------------------------------------------------------------
| Trackers
|--------------------------------------------------------------------------
|
| Configure the options for your trackers
|
*/

'trackers' => [

/*
|--------------------------------------------------------------------------
| Site Verification
|--------------------------------------------------------------------------
|
| Do you want to enable the Site Verification settings?
|
*/

'site_verification' => true,

/*
|--------------------------------------------------------------------------
| Fathom Analytics
|--------------------------------------------------------------------------
|
| Do you want to enable the Fathom Analytics settings?
|
*/

'fathom' => true,

/*
|--------------------------------------------------------------------------
| Cloudflare Analytics
|--------------------------------------------------------------------------
|
| Do you want to enable the Cloudflare Analytics settings?
|
*/

'cloudflare' => true,

/*
|--------------------------------------------------------------------------
| Google Tag Manager
|--------------------------------------------------------------------------
|
| Do you want to enable the Google Tag Manager settings?
|
*/

'google_tag_manager' => true,

],

];
20 changes: 20 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"private": true,
"scripts": {
"development": "mix",
"watch": "mix watch",
"watch-poll": "mix watch -- --watch-options-poll=1000",
"hot": "mix watch --hot",
"production": "mix --production"
},
"dependencies": {
"axios": "^0.21.1",
"tailwindcss": "^2.1.2",
"vue": "^2.6.12"
},
"devDependencies": {
"laravel-mix": "^6.0.19",
"vue-loader": "^15.9.7",
"vue-template-compiler": "^2.6.12"
}
}
23 changes: 23 additions & 0 deletions phpunit.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php"
backupGlobals="false"
backupStaticAttributes="false"
colors="true"
verbose="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
printerClass="NunoMaduro\Collision\Adapters\Phpunit\Printer">
<testsuites>
<testsuite name="Test Suite">
<directory>./tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory suffix=".php">./src</directory>
</whitelist>
</filter>
</phpunit>
3 changes: 3 additions & 0 deletions resources/css/advanced-seo.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
Empty file added resources/js/advanced-seo.js
Empty file.
Loading

0 comments on commit 06c307d

Please sign in to comment.