3.1 KiB
3.1 KiB
title | tags | has_tweets | draft | ||||
---|---|---|---|---|---|---|---|
Rebuilding Bartik (Drupal’s Default Theme) with Vue.js and Tailwind CSS - part 2 |
|
true | true |
{% block excerpt %} In the original post I detailed how I built a clone of Drupal’s Bartik theme with Vue.js and Tailwind CSS. This post details some updates that I’ve made to it since then. {% endblock %}
{% block content %}
Customising Tailwind
let colors = {
'transparent': 'transparent',
'black': '#22292f',
'grey-darkest': '#3d4852',
'grey-dark': '#8795a1',
'grey': '#b8c2cc',
'grey-light': '#dae1e7',
'grey-lighter': '#f0f0f0',
'grey-lightest': '#F6F6F2',
'white': '#ffffff',
'blue-dark': '#2779bd',
'blue': '#3490dc',
'blue-light': '#bcdefa',
}
Extracting Tailwind components for link styling
src/components/Welcome.vue
:
{% raw %}
```vuejs
...
```
<style lang="sass">
#header a
@apply text-white no-underline
&:hover,
&:focus
@apply underline
#main a
@apply text-blue-dark no-underline border-b border-blue border-dotted
&:hover,
&:focus
@apply text-blue border-solid
#footer a
@apply text-white no-underline border-b border-dotted border-white
&:hover,
&:focus
@apply border-none
</style>
{% endraw %}
Extracting a Vue component for Drupal blocks
src/components/DrupalBlock.vue
:
<template>
<div class="drupal-block">
<slot></slot>
</div>
</template>
<style lang="sass" scoped>
.drupal-block
@apply bg-grey-lightest p-4
&:not(:last-child)
@apply mb-4
</style>
src/components/Welcome.vue
:
<drupal-block>
<h2 class="font-serif font-normal text-base text-grey-darkest border-b border-solid border-grey-light mb-3">Search</h2>
<div>
<form action="#" class="flex">
<input type="text" class="border border-solid border-grey p-2 w-full xl:w-auto">
<button type="submit" class="bg-grey-lighter px-3 rounded-full border-b border-solid border-grey-dark ml-2 flex-none">
<img src="img/loupe.svg" class="block">
</button>
</form>
</div>
</drupal-block>
{% endblock %}