|
9 | 9 | {%- endblock -%}
|
10 | 10 |
|
11 | 11 | {% block main %}
|
12 |
| - <div class="mx-auto max-w-screen-xl px-2 sm:px-4 relative max-lg:py-10 lg:h-[500px] flex flex-col justify-center"> |
| 12 | + <div class="mx-auto max-w-screen-xl px-2 sm:px-4 relative max-lg:py-10 p-[116px]"> |
13 | 13 | <h1 class="font-bold max-sm:text-5xl text-6xl tracking-wide leading-[70px] max-w-[450px] mb-8 z-10">UNIFIED DATA PROCESSING FRAMEWORK</h1>
|
14 |
| - <a href="https://packagist.org/packages/flow-php/etl" target="_blank" class="w-fit py-2 px-3 tracking-widest before:content-['$'] before:mr-2 bg-orange-100 rounded">composer require flow-php/etl</a> |
15 |
| - <img src="{{ asset('images/elephant.svg') }}" alt="elephant" class="max-lg:hidden max-w-[720px] absolute right-0 top-2"> |
| 14 | + <code class="w-fit py-2 px-3 before:content-['$'] bg-orange-100 rounded"> |
| 15 | + <span id="command">composer require flow-php/etl</span> |
| 16 | + <button class="[&.copied]:after:content-['Copied!'] after:absolute after:translate-x-6 select-none" title="copy command" data-clipboard-target="#command" {{ stimulus_controller('clipboard') }}> |
| 17 | + <img src="{{ asset('images/icons/copy.svg') }}" alt="copy command" class="inline w-5"> |
| 18 | + </button> |
| 19 | + </code> |
| 20 | + <img src="{{ asset('images/elephant.svg') }}" alt="elephant" class="max-lg:hidden max-w-[720px] absolute right-0 top-0"> |
16 | 21 | </div>
|
17 | 22 |
|
18 | 23 | <div class="bg-blue-200">
|
19 |
| - <div class="mx-auto max-w-screen-xl flex items-center justify-center text-center max-sm:flex-col lg:pr-[550px] xl:pr-[650px]"> |
20 |
| - <div class="p-2 my-2 rounded basis-1/2"> |
| 24 | + <div class="mx-auto max-w-screen-xl flex items-center justify-center text-center max-sm:flex-col lg:pr-[550px] xl:pr-[600px]"> |
| 25 | + <div class="p-2 my-2 basis-1/3"> |
21 | 26 | <img src="{{ asset('images/icons/extract.svg') }}" alt="extract" class="inline">
|
22 | 27 | <h2 class="my-2 text-2xl font-semibold tracking-wide">Extracts</h2>
|
23 | 28 | <p>Read from various data sources.</p>
|
24 | 29 | </div>
|
25 | 30 |
|
26 | 31 | <img src="{{ asset('images/icons/arrow-right.svg') }}" alt="arrow right" class="max-sm:rotate-90">
|
27 | 32 |
|
28 |
| - <div class="p-2 my-2 ml-4 rounded basis-1/2"> |
| 33 | + <div class="p-2 my-2 ml-4 basis-1/3"> |
29 | 34 | <img src="{{ asset('images/icons/transform.svg') }}" alt="transform" class="inline">
|
30 | 35 | <h2 class="my-2 text-2xl font-semibold tracking-wide">Transforms</h2>
|
31 | 36 | <p>Shape and optimize for your needs</p>
|
32 | 37 | </div>
|
33 | 38 |
|
34 | 39 | <img src="{{ asset('images/icons/arrow-right.svg') }}" alt="arrow right" class="max-sm:rotate-90">
|
35 | 40 |
|
36 |
| - <div class="p-2 my-2 rounded basis-1/2"> |
| 41 | + <div class="p-2 my-2 basis-1/3"> |
37 | 42 | <img src="{{ asset('images/icons/load.svg') }}" alt="load" class="inline">
|
38 | 43 | <h2 class="my-2 text-2xl font-semibold tracking-wide">Loads</h2>
|
39 | 44 | <p>Store and secure in one of many available data sinks.</p>
|
40 | 45 | </div>
|
41 | 46 | </div>
|
42 | 47 | </div>
|
43 | 48 |
|
44 |
| - <div class="relative py-10 px-2 sm:px-4 mx-auto max-w-screen-xl" data-hx-boost="true"> |
| 49 | + <div class="py-10 px-2 sm:px-4 mx-auto max-w-screen-xl" data-hx-boost="true"> |
45 | 50 | <nav class="font-medium text-center bg-orange-100 rounded">
|
46 | 51 | <ul class="flex whitespace-nowrap overflow-auto justify-between">
|
47 | 52 | {% for topic in topics %}
|
48 |
| - <li class="grow rounded"> |
| 53 | + <li class="grow"> |
49 | 54 | <a href="{{ path('topic', {topic: topic}) }}#example" class="{% if currentTopic == topic %}active {% elseif currentTopic is null and loop.first %}active {% endif %}inline-block leading-10 px-4 py-2 w-full [&.active]:bg-orange-300 rounded">
|
50 | 55 | {{ topic|humanize }}
|
51 | 56 | </a>
|
|
56 | 61 |
|
57 | 62 | <div class="pb-4 -mt-20 pt-20">
|
58 | 63 | <nav>
|
59 |
| - <ul class="flex flex-nowrap whitespace-nowrap overflow-auto py-4"> |
| 64 | + <ul class="flex whitespace-nowrap overflow-auto py-4"> |
60 | 65 | {% for example in examples %}
|
61 |
| - <li class="group-[:not(:has(:target))]/examples:first:bg-orange-300 rounded"> |
| 66 | + <li> |
62 | 67 | <a href="{{ path('example', {topic: currentTopic, example: example}) }}#example" class="{% if currentExample == example %}active {% elseif currentExample is null and loop.first %}active {% endif %}w-max tracking-wide flex items-center leading-8 px-2 [&.active]:bg-orange-300 rounded">
|
63 | 68 | <img src="{{ asset('images/favicons/favicon-16x16.png') }}" alt="flow php icon" class="mr-2">
|
64 | 69 | {{ example|humanize }}
|
|
70 | 75 |
|
71 | 76 | <div id="example" class="-mt-36 pt-36">
|
72 | 77 | {% apply spaceless %}
|
73 |
| - <pre class="rounded p-4 overflow-auto shadow-2xl shadow-gray rounded border-gray border-2"> |
74 |
| - <code class="language-php !p-0 !bg-transparent" {{ stimulus_controller('syntax_highlight') }}> |
| 78 | + <pre class="rounded p-4 overflow-auto shadow-2xl shadow-gray rounded border-gray border-2 relative"> |
| 79 | + <button class="absolute top-0 right-0 bg-orange-100 rounded px-4 leading-9 [&.copied]:before:content-['Copied!'] before:absolute before:-translate-x-24" title="copy code" data-clipboard-target="#code" {{ stimulus_controller('clipboard') }}> |
| 80 | + <img src="{{ asset('images/icons/copy.svg') }}" alt="copy code" class="inline w-5"> |
| 81 | + </button> |
| 82 | + <code id="code" class="language-php !p-0 !bg-transparent" {{ stimulus_controller('syntax_highlight') }}> |
75 | 83 | {{- code | escape('html') -}}
|
76 | 84 | </code>
|
77 | 85 | </pre>
|
|
0 commit comments