Skip to content

Commit

Permalink
Merge pull request #136 from thephpleague/feature/new-documentation
Browse files Browse the repository at this point in the history
New documentation website
  • Loading branch information
nyamsprod authored Jun 15, 2024
2 parents 69f6437 + 05be933 commit 4d6d4a3
Show file tree
Hide file tree
Showing 50 changed files with 3,480 additions and 1,003 deletions.
2 changes: 1 addition & 1 deletion docs/5.0/bounds.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
layout: default
title: The Bounds enum
title: The Bounds Enumeration
---

# The Bounds Enumeration
Expand Down
11 changes: 6 additions & 5 deletions docs/5.0/index.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
---
layout: default
title: Examples
title: Overview
---

# Overview

[![Author](//img.shields.io/badge/[email protected]?style=flat-square)](//twitter.com/nyamsprod)
[![Latest Version](//img.shields.io/github/release/thephpleague/period.svg?style=flat-square)](//github.com/thephpleague/period/releases)
[![Software License](//img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE)
[![Total Downloads](//img.shields.io/packagist/dt/league/period.svg?style=flat-square)](//packagist.org/packages/league/period)
[![Author](https://img.shields.io/badge/[email protected]?style=flat-square)](https://phpc.social/@nyamsprod)
[![Latest Version](https://img.shields.io/github/release/thephpleague/period.svg?style=flat-square)](https://github.com/thephpleague/period/releases)
[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](https://github.com/thephpleague/period/blob/master/LICENSE)
[![Total Downloads](https://img.shields.io/packagist/dt/league/period.svg?style=flat-square)](https://packagist.org/packages/league/period)
![php 8.1+](https://img.shields.io/badge/php-min%208.1.0-red.svg)

`Period` is PHP's missing time range API. this package cover all basic operations regarding time ranges.

Expand Down
2 changes: 1 addition & 1 deletion docs/5.0/sequence/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ layout: default
title: The Sequence class
---

# The Sequence object
# The Sequence class

If you need to manipulate multiple `Period` instances you can now manage them easily using the provided `Sequence` class.
This class is a **List** similar to an array that uses incremental integer keys.
Expand Down
4 changes: 2 additions & 2 deletions docs/_data/project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ releases:
current:
version: '5.0'
requires: 'PHP >= 8.1'
latest: '5.0'
latest: '5.3.2'
supported_until: 'TBD'
documentation_link: '/5.0/'
previous:
Expand All @@ -34,4 +34,4 @@ highlights:
- Covers all basic manipulations related to time range
- Enables working with simple or complex time ranges logic
composer: '$ composer require league/period'
support: 'Once a new major version is released, the previous stable release remains supported for six more months through patches and security fixes.'
support: 'Once a new **major** version is released, the previous stable release remains supported for **six more months** through patches and security fixes.'
241 changes: 155 additions & 86 deletions docs/_layouts/default.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,21 @@
{% assign upgrading = true %}
{% endif %}
{% capture version_home %}/{{ version }}/{% endcapture %}
<!DOCTYPE html>
<html>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="{{ site.data.project.description }}">
<meta name="docsearch:version" content="{{ version }}">
<title>{{ page.title }} - {{ site.data.project.title }}</title>
<link rel="icon" type="image/x-icon" href="//theme.thephpleague.com/img/favicon.ico" />
<link rel="icon" href="/assets/img/period-logo.svg" type="image/svg+xml">
<link rel="apple-touch-icon-precomposed" href="//theme.thephpleague.com/img/apple-touch-icon-precomposed.png">
<link rel="stylesheet" href="//theme.thephpleague.com/css/all.css?2">
<link rel="stylesheet" href="/custom.css?21">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500&family=Onest:wght@300;400;500;600;700;900&display=swap" rel="stylesheet">
<link href="/output.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css">
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.data.project.google_analytics_tracking_id }}"></script>
<script>
Expand All @@ -27,95 +29,162 @@
gtag('config', '{{ site.data.project.google_analytics_tracking_id }}');
</script>
</head>
<body>
<header>
<div class="header-content">
<h1 class="title"><a href="/">{{ site.data.project.title }}</a></h1>
<div class="search"><input type="search" id="doc-search" placeholder="search the docs..."></div>
<nav class="versions">
<h2>{% if upgrading == true %}Notes{% else %}v{{ version }}{% endif %} &#9662;</h2>
<ul>
{% for v in site.data.menu.version %}
<li {% if version == v[0] and upgrading == false %}class="selected"{% endif %}><a href="/{{ v[0] }}/">v{{ v[0] }}</a></li>
{% endfor %}
<li {% if upgrading == true %}class="selected"{% endif %}><a href="/releases/">Notes</a></li>
</ul>
</nav>
</div>
</header>

<input type="checkbox" id="menu">
<label for="menu" onclick>
<div class="closed">&#9776;</div>
<div class="open">&#10799;</div>
</label>

<main>
<menu>
<div class="versions-small">
<h2>Versions</h2>
<ul>
{% for v in site.data.menu.version %}
<li {% if version == v[0] and upgrading == false %}class="selected"{% endif %}>
<a href="/{{ v[0] }}/">{{ v[0] }}</a>
</li>
{% endfor %}
<li {% if upgrading == true %}class="selected"{% endif %}><a href="/releases/">Releases Notes</a></li>
</ul>
<body class="bg-white text-dark font-onest antialiased relative">
<div class="relative z-10">
<header class="flex items-center sm:justify-center pl-6 pr-6 pb-6 max-w-7xl mx-auto pb-32">
<div class="flex gap-6 md:gap-0 md:flex-row justify-between md:items-center p-3 md:p-6 w-full max-w-7xl">
<a class="flex items-center gap-2 sm:gap-3" href="/">
<img src="/assets/img/period-logo.svg" alt="Logo" class="w-[40px] sm:w-[50px] h-[40px] sm:h-[50px]"/>
<div class="font-black">PERIOD</div>
</a>
</div>

{% if upgrading == false %}
{% for section in site.data.menu.version[version] %}
<div class="menu-section">
<h2>{{ section[0] }}</h2>
<ul>
{% for link in section[1] %}
<div class="flex gap-6 md:gap-0 md:flex-row justify-between md:items-center p-3 md:p-6 w-full max-w-7xl">
<input type="search" id="doc-search" class="w-64" placeholder="search the docs...">
</div>
</header>
<main class="relative flex justify-center mx-auto max-w-8xl sm:px-2 lg:px-8 xl:px-12">
<label for="navigation" class="fixed top-5 right-5 z-50 flex items-center justify-center w-12 h-12 mb-4 ml-4 bg-white border rounded-full shadow-lg cursor-pointer text-slate-600 border-slate-300 lg:hidden transition duration-200 ease-in-out active:scale-95">
<svg xmlns="http://www.w3.org/2000/svg" class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
<path stroke-linecap="round" stroke-linejoin="round" d="M4 8h16M4 16h16" />
</svg>
</label>
<input type="checkbox" name="navigation" id="navigation" class="hidden peer" />
<div class="fixed top-[3.5rem] h-screen shadow-xl px-4 left-0 hidden peer-checked:block lg:relative lg:top-0 lg:h-auto lg:px-0 lg:block lg:flex-none lg:shadow-none bg-slate-100 lg:bg-transparent">
<div class="absolute inset-y-0 right-0 w-full lg:w-[50vw]"></div>
<nav class="sticky top-[4.5rem] w-64 pr-8 text-base lg:text-sm xl:w-72 xl:pr-16">
<ul role="list" class="-ml-0.5 h-[calc(100vh-4.5rem)] overflow-y-auto py-7 pl-0.5 space-y-8">
{% if upgrading == false %}
{% for section in site.data.menu.version[version] %}
<h3 class="font-semibold tracking-tight text-slate-900">{{ section[0] }}</h3>
<ul role="list" class="pl-3 mt-3 space-y-2">
{% for link in section[1] %}
<li {% if page.url == link[1] %}class="selected"{% endif %}>
<a href="{{ link[1] }}">{{ link[0] }}</a>
<a href="{{ link[1] }}" class="text-slate-900 hover:text-slate-800">{{ link[0] }}</a>
</li>
{% endfor %}
</ul>
{% endfor %}
</ul>
</div>
{% endfor %}
{% else %}
{% for section in site.data.menu.upgrading %}
<h2>{{ section[0] }}</h2>
<ul>
{% for link in section[1] %}
{% else %}
{% for section in site.data.menu.upgrading %}
<h3 class="font-semibold tracking-tight text-slate-900">{{ section[0] }}</h3>
<ul role="list" class="pl-3 mt-3 space-y-2">
{% for link in section[1] %}
<li {% if page.url == link[1] %}class="selected"{% endif %}>
<a href="{{ link[1] }}">{{ link[0] }}</a>
<a href="{{ link[1] }}" class="text-slate-900 hover:text-slate-800">{{ link[0] }}</a>
</li>
{% endfor %}
</ul>
{% endfor %}
{% endif %}
<h3 class="font-semibold tracking-tight text-slate-900">Release Notes</h3>
<ul role="list" class="pl-3 mt-3 space-y-2">
<li {% if upgrading == true %}class="selected"{% endif %}><a href="/releases/">Releases Notes</a></li>
</ul>
<h3 class="font-semibold tracking-tight text-slate-900">Older versions</h3>
<ul role="list" class="pl-3 mt-3 space-y-2">
{% for v in site.data.menu.version %}
<li {% if version == v[0] and upgrading == false %}class="selected"{% endif %}>
<a href="/{{ v[0] }}/">{{ v[0] }} {% if v[0] == site.data.project.releases.current.version %}(latest stable){% endif %}</a>
</li>
{% endfor %}
</ul>
</ul>
{% endfor %}
{% endif %}
</menu>
<article>
{% if version == site.data.project.releases.next.version %}
<p class="message-notice">This is the documentation for the upcoming <code>version {{ version }}</code>. This is a work in progress</p>
{% endif %}

{% if version == site.data.project.releases.previous.version %}
<p class="message-notice">This is the documentation for <code>version {{ version }}</code> which will be supported until <strong>{{ site.data.project.releases.previous.supported_until }}</strong>. Please consider upgrading your code to <a href="{{ site.data.project.releases.current.documentation_link }}">the latest stable version</a></p>
{% endif %}

{% if version == site.data.project.releases.legacy.version %}
<p class="message-notice">This is the documentation for the unsupported <code>version {{ version }}</code>. Please consider upgrading your code to <a href="{{ site.data.project.releases.current.documentation_link }}">the latest stable version</a></p>
{% endif %}

{{ content }}
</article>

</main>

<aside class="sponsors hide">
<p>Love this package ? <a href="https://github.com/sponsors/{{ site.data.project.author.github_account }}">Support its development!</a></p>
</aside>

<footer>
<span>&copy; Copyright <a href="//thephpleague.com">The League of Extraordinary Packages</a>.</span>
<span>Site design by <a href="//reinink.ca">Jonathan Reinink</a> and <a href="//nyamsprod.com">Ignace Nyamagana Butera</a>.</span>
</footer>
</nav>
</div>
<div class="flex-auto max-w-2xl min-w-0 px-4 py-10 lg:max-w-4xl lg:pr-0 lg:pl-8 xl:px-16">
<article class="content">
{% if version == site.data.project.releases.next.version %}
<p class="message-notice">This is the documentation for the upcoming <code>version {{ version }}</code>. This is a work in progress</p>
{% endif %}

{% if version == site.data.project.releases.previous.version %}
<p class="message-notice">This is the documentation for <code>version {{ version }}</code> which will be supported until <strong>{{ site.data.project.releases.previous.supported_until }}</strong>. Please consider upgrading your code to <a href="{{ site.data.project.releases.current.documentation_link }}">the latest stable version</a></p>
{% endif %}

{% if version == site.data.project.releases.legacy.version %}
<p class="message-notice">This is the documentation for the unsupported <code>version {{ version }}</code>. Please consider upgrading your code to <a href="{{ site.data.project.releases.current.documentation_link }}">the latest stable version</a></p>
{% endif %}
{{ content }}
</article>
</div>
</main>
<footer class="p-6 max-w-7xl mx-auto pb-32">
<hr class="border-t border-light border-opacity-50 max-w-7xl mx-auto" />

<div class="flex flex-col lg:flex-row gap-12 my-16 px-6 md:px-0">
<a href="https://csv.thephpleague.com/" class="flex gap-3 lg:justify-between items-start transition-all hover-block">
<img src="/assets/img/csv-logo.svg" alt="CSV Logo" class="" />

<div class="flex flex-col">
<div class="font-black text-lg text-dark">CSV</div>

<p class="text-light">Data manipulation made easy in PHP</p>
</div>
</a>

<a href="https://uri.thephpleague.com/" class="flex gap-3 lg:justify-between items-start transition-all hover-block">
<img src="/assets/img/uri-logo.svg" alt="URI Logo" class="" />

<div class="flex flex-col">
<div class="font-black text-lg text-dark">URI</div>

<p class="text-light">Modern API to process URIs in PHP</p>
</div>
</a>

<a href="https://period.thephpleague.com/" class="flex gap-3 lg:justify-between items-start transition-all hover-block">
<img src="/assets/img/period-logo.svg" alt="Period Logo" class="" />

<div class="flex flex-col">
<div class="font-black text-lg text-dark">PERIOD</div>

<p class="text-light">Time range API for PHP</p>
</div>
</a>
</div>

<hr class="border-t border-light border-opacity-50 max-w-7xl mx-auto mb-16" />

<div class="gap-12 sm:gap-32 grid sm:grid-cols-1 md:grid-cols-3 lg:grid-cols-4">
<div class="flex flex-col gap-3 sm:col-span-3 lg:col-span-1">
<div class="text-period-base font-black text-xl">Copyright</div>

<a href="//thephpleague.com" class="font-mono tracking-tighter text-sm underline transition-all hover-text">The League of <br />Extraordinary Packages</a>
</div>

<div class="flex flex-col gap-3">
<div class="text-dark font-black text-xl">Questions?</div>

<p class="font-mono text-sm tracking-tighter">
<a href="https://github.com/thephpleague/csv" target="_blank" class="transition-all hover-text">
CSV was created by Ignace Nyamagana Butera.
Find him on Twitter at <span class="underline">@nyamsprod</span>.
</a>
</p>
</div>

<div class="flex flex-col gap-3">
<div class="text-dark font-black text-xl">Design</div>

<p class="font-mono text-sm tracking-tighter">
<a href="https://twitter.com/sandr" target="_blank" class="transition-all hover-text">
Brand and site design by <span class="underline">Sander van der Kolk</span>
</a>
</p>
</div>

<div class="flex flex-col gap-3">
<div class="font-black text-xl">License package</div>

<p class="font-mono text-sm tracking-tighter">
<a href="https://github.com/thephpleague/csv" target="_blank" class="transition-all hover-text underline">
The MIT License (MIT)
</a>
</p>
</div>
</div>
</footer>
</div>
<script src="/custom.js?7"></script>
<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
<script> docsearch({
Expand Down
Loading

0 comments on commit 4d6d4a3

Please sign in to comment.