Skip to content

Commit

Permalink
enhance(ci): Move to GitHub workflows
Browse files Browse the repository at this point in the history
chore(deps): Bump dependencies
enhance(docs): Add real world example
  • Loading branch information
Log1x committed Jan 21, 2021
1 parent f7d5c1d commit fcf458c
Show file tree
Hide file tree
Showing 5 changed files with 154 additions and 37 deletions.
29 changes: 0 additions & 29 deletions .circleci/config.yml

This file was deleted.

46 changes: 46 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Main

on:
push:
branches:
- master
pull_request:
branches:
- master

jobs:
php:
name: PHP ${{ matrix.php }}
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[ci skip]')"
strategy:
matrix:
php: ["7.3", "7.4", "8.0"]

steps:
- name: Checkout the project
uses: actions/checkout@v2

- name: Setup the PHP ${{ matrix.php }} environment on ${{ runner.os }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: xdebug
env:
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Restore the Composer cache directory
id: composercache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"

- uses: actions/cache@v2
with:
path: ${{ steps.composercache.outputs.dir }}
key: ${{ runner.os }}-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: ${{ runner.os }}-${{ matrix.php }}-composer-

- name: Install Composer dependencies
run: composer install --no-progress --prefer-dist --optimize-autoloader --no-suggest

- name: Execute the PHP lint script
run: composer run-script lint
103 changes: 99 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Crumb

![Latest Stable Version](https://img.shields.io/packagist/v/log1x/crumb?style=flat-square)
![Build Status](https://img.shields.io/circleci/build/github/Log1x/crumb?style=flat-square)
![Build Status](https://img.shields.io/github/workflow/status/log1x/crumb/Main)
![Total Downloads](https://img.shields.io/packagist/dt/log1x/crumb?style=flat-square)

A simple breadcrumb package for Sage 10.

## Requirements

- [Sage](https://github.com/roots/sage) >= 10.0
- [PHP](https://secure.php.net/manual/en/install.php) >= 7.2.5
- [PHP](https://secure.php.net/manual/en/install.php) >= 7.3
- [Composer](https://getcomposer.org/download/)

## Installation
Expand All @@ -28,12 +28,107 @@ Publish the breadcrumb configuration file using Acorn:
$ wp acorn vendor:publish --provider="Log1x\Crumb\CrumbServiceProvider"
```

### Basic Usage
### Example

```php
# app/View/Components/Breadcrumb.php

<?php

namespace App\View\Components;

use Roots\Acorn\View\Component;
use Log1x\Crumb\Facades\Crumb;

return Crumb::build()->toArray();
class Breadcrumb extends Component
{
/**
* Create a new component instance.
*
* @return void
*/
public function __construct()
{
//
}

/**
* The breadcrumb items.
*
* @return string
*/
public function items()
{
return Crumb::build()->toArray();
}

/**
* Get the view / contents that represent the component.
*
* @return \Illuminate\View\View|string
*/
public function render()
{
return $this->view('components.breadcrumb');
}
}
```

```php
# views/components/breadcrumb.blade.php

@if (! empty($items))
<nav
aria-label="Breadcrumb"
class="flex items-center py-2 -mx-2 leading-none"
vocab="https://schema.org/"
typeof="BreadcrumbList"
>
@foreach ($items as $item)
@if (empty($item['url']))
<span class="p-2 font-medium cursor-default">
{{ $item['label'] }}
</span>
@else
<span class="p-2" property="itemListElement" typeof="ListItem">
<a
property="item"
typeof="WebPage"
title="Go to {!! $item['label'] !!}."
href="{{ $item['url'] }}"
class="hover:text-indigo-500"
>
<span property="name">
@if ($loop->first)
<svg
class="flex-shrink-0 w-5 h-5"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
fill="currentColor"
aria-hidden="true"
>
<path d="M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z" />
</svg>

<span class="sr-only">{!! $item['label'] !!}</span>
@else
{!! $item['label'] !!}
@endif
</span>
</a>

<meta property="position" content="{{ $loop->iteration }}">
</span>

@if (!$loop->last)
<svg class="flex-shrink-0 w-5 h-5 text-indigo-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
<path fill-rule="evenodd" d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" clip-rule="evenodd" />
</svg>
@endif
@endif
@endforeach
</nav>
@endif
```

## Bug Reports
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
}
},
"require": {
"php": ">=7.2.5"
"php": ">=7.3"
},
"require-dev": {
"squizlabs/php_codesniffer": "^3.5"
Expand Down
11 changes: 8 additions & 3 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit fcf458c

Please sign in to comment.