Giter VIP home page Giter VIP logo

tatsu's Introduction

Tatsu the Dragon

Tatsu

A flexible theme derived from the BASIS theme that allows a site editor or manager to make maximum color/visual customizations through the user interface.

The latest release is 1.x-2.x, which completely removes the dependency on the BASIS theme. This is a major release and is not backwards compatible. Please, exercise caution if upgrading from the 1.x-1.x branch.

We will continue to support Version 1.x-1.x was a sub-theme of Basis, but no new features will be added to that version.

We think that there is demand for this kind of theme in the contrib space and welcome both feature and design suggestions. Let's make this a community project.

Tatsu currently includes Bootstrap css and js files. Version 1.x-2.x also includes a UI for supplemental CSS changes, based on the Color module.

We found the name Tatsu on a list of good names for Dragons and later learned that it is also the name of a roller coaster in California, USA.

INSTALLATION

Recommended (to acheive results in screen shot)

  • Go to /admin/appearance/list and set Tatsu to default theme
  • Experiment with the power of a flexible layout template admin/structure/layouts/settings/flexible-template/add

Go to /admin/structure/layouts/manage/home

  • Remove "Primary Navigation" block from Header region
  • Set "Header" block to use "Primary navigation" menu
  • Move "Welcome" block to first Hero region

Other tips

  • Configurable Block Style for custom block styling through the user interface.
  • Color Module - enable the color module, which gives a UI for changing the theme colors without commiting any code.

VERSION 1.x-2.x CHANGES

ISSUES

Bugs and Feature requests should be reported in the Issue Queue: https://github.com/backdrop-contrib/tatsu/issues

CHANGES (from Basis)

  • Small changes to hero blocks to make them fit gether nicely.
  • Removed the background color from behind the site name.
  • Adding some useful css classes that can be added to blocks through UI

Configuration Recipes

We are also creating a library of configuration recipes that should work well with this theme. https://github.com/backdrop-contrib/config_recipes

MAINTAINERS

CREDITS

  • Thanks to Wes Ruvalcaba (https://github.com/wesruv) for all the work he did on the BASIS theme along with anyone else who helped with BASIS.

  • Work on Tatsu is support by Triplo LLC (https://www.triplo.co)

  • Thanks to everyone that has worked on the Zen Theme for Drupal. We have been inspired by your work and borrowed as heavily as possible from your ideas and documentation.

LICENSE

This project is GPL v2 software. See the LICENSE.txt file in this directory for complete text.

tatsu's People

Contributors

bugfolder avatar oadaeh avatar stpaultim avatar teamtriplo avatar wylbur avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tatsu's Issues

Missing CSS and JS Bootstrap files

It appears some CSS and JS Bootstrap files are being called for locally and not being found.

To reproduce:

  1. Enable Tatsu and set as default theme.
  2. Go to the Home page and examine the HTML in your favorite web inspector. You should see two 404 errors for:

http://mysite/themes/tatsu/css/bootstrap/bootstrap.min.css.map
http://mysite/themes/tatsu/js/bootstrap.bundle.min.js.map

Adding these files from the Bootstrap 4.3.1 repository (to match the existing bundled CSS and JS) fixes the problem.

PR to follow.

Delete all CSS that can be inherited from BASIS

We need to go through the CSS provided by BASIS and keep a file with all the CSS that is effected by the color module. The rest can be inherited from BASIS. But, we need the color module in Tatsu to have access to all the classes that it needs to change.

From: #18

Need to remove border bottom from first item primary menu.

There is a 1px grey border-bottom visible on the first item in the primary menu. It appears to be related to code in css/basis-component-colors.css

`/* components/menu-dropdown.css */

.js .menu-dropdown li,
.js .menu-dropdown a.has-submenu.highlighted {
border-bottom: 1px solid #bbbbbb;
}
`

It only appears on the first item "Home" and shows even when another item is selected. Removing the line appears to fix the issue.
tatsu-primary-menu-first-element-bkgnd-bottom-edge

Special Links on profile page

I am testing some modules and found this situation, where the masquerade and private messages modules both added custom links to the profile page. They are rendered very poorly.

I think we could better prepare for this and I'm going to try to add a PR to fix this.

image

Atten @Wylbur

Add Tatsu Layout to theme

I'm not sure if this is the best way to handle this. However, I wanted to provide color module support for a layout with multiple hero regions.

I could simply offer this layout on it's own in contrib, but since I've added color support for regions contained, I've decided to try and add the layout to the theme.

Please, provide feedback if this is a bad idea.

Release for 1.2?

Is there a plan to have a release of 1.2 so it can be installed through the interface rather than having to manually download and upload the files?

Cut ties with Basis - make Tatsu it's own theme

In issue #18 I decided to make Tatsu a sub-theme of Basis, based in part on encouragement from others. The idea was that Tatsu could inherit improvements and bug fixes from Basis.

Current work/experimentation with color module, makes me think we are making significant enough changes to Tatsu from Basis that the drawbacks of being a sub-theme may outweigh the benefits.

Open branch for 1.x-2.x

Starting to make some big changes and don't want to break things for anyone that might be using this theme already. Will try to keep 1.x-1.x a bit more stabile while taking next steps with 1.x-2.x

Menu Dropdown Arrow appears as small dot

Steps to reproduce

  1. Start with a site with at least one page that has its menu entry as a child of the top level of the primary navigation
  2. Install Tatsu 1.2 (might apply to released version but stopped using that) and set default
  3. view menu

Expected result

down arrow appears to right of menu item

Actual result

small dot appears to right of menu item

chrome_9Wo9OkN8VV

Cause

basis-component-colors.css is overriding the configured CSS. Pull request to follow.

Create a logo for Tatsu

Maybe I'm getting ahead of the curve, but I'd love to have a custom logo for Tatsu. Maybe some Dragon related as that is how we came to the name Tatsu. It's named after a Dragon. There is also a Six Flags roller coaster with the same name.

"The modern Japanese language has numerous "dragon" words, including indigenous Tatsu from Old Japanese ta-tu, Sino-Japanese ryū or ryō 竜 from Chinese lóng 龍, nāga ナーガ from Sanskrit nāga, and doragon ドラゴン from English "dragon" (the latter being used almost exclusively to refer to the European dragon and derived fictional creatures)."

https://en.wikipedia.org/wiki/Japanese_dragon

Maybe we could use this for inspiration, it must be in the public domain. Just posting this in case anyone else is inspired.

Should Bootstrap be part of Tatsu

I added the Bootstrap CSS and JS libraries today to help with mobile friendly menus. Not sure if we should keep these libraries. Will see if make use of them in other ways.

User Story: Site Editor create two 'hero blocks' with custom content and set each to different background color

I would like for a site editor to be able to create two full width blocks on the home page of the site with custom content in each and then be able to use the color module (theme settings) to select a different color background for each one.

See here:

Screen_Capture_Result

This is currently possible in the Tatsu theme, but I am looking for feedback on whether or not there is a better way to do this. I will describe the current solution in the first comment.

Provide helpful classes to site editors

Short of creating a UI for site editors to adjust the height of hero images or change the width of some text panels, I've started to create some classes that editors can add to blocks or regions to effect their display.

I'm wondering what other classes might be useful in the short term (maybe we can replace these with actual UI config)?

I would also like to look at existing libraries rather than recreate these from scratch. Other people have put more thought into this. Ideas?

Would adding bootstrap be an obvious option? Does it have what I am looking for?

Here are my initial ideas.
See tatsu/css/custom/tatsu-classes.css

  • hero-large (default - height: 600px)
  • hero-medium (default - height: 400px)
  • hero-small (default - height: 200px)
  • hero-extra-small (default - height: 100px)
  • content-narrow {padding-left: 30%; padding-right: 30%;}
  • content-medium {padding-left: 20%; padding-right: 20%;}
  • content-wide {padding-left: 10%;padding-right: 10%;}
  • content-center {text-align: center;}

Also, I'm open to naming suggestions. I will try to do research on this soon, but welcome input.

Should sub-theme be required

As I started to experiment with a sub-theming starter kit this weekend, it occurred to me that maybe a sub-theme should be required for things like color module support. Why keep copies of the color module file in both Tatsu and the sub-theme, if we expect most/all users to create a sub-theme.

#1) When I completely moved color module support to the sub-theme, I ran into technical problems
#2) As I think about use cases, I can imagine that some users will be able to benefit from Tatsu without the need or skills to create a sub-theme. I don't think I want to require that, but I'm open to feedback.

Created this issue to get feedback, but I don't think I want to require users to create a sub-theme if they use Tatsu.

General feedback on Tatsu

Have you tried Tatsu? Are you using Tatsu?

Please, leave a note hear with your feedback or comments.
I'd like like to hear if anyone is using it and if not, why not (recognizing that it's still a little rough).

1.x-2.x release checklist

Adding a ticket that includes updated items for the new 1.2 release.

Things to update before 1.x-2.x release

  • Updated Screenshot
  • Update Readme

Improve "Custom CSS" Setting (Full Width)

We borrowed code from the Pelerine theme to provide a custom CSS block in Tatsu.

image

However, this UI is not very nice, because of the narrow width of the field. It would be nice to make it full width as it appears in Pereline.

image

I don't think we can use the same solution, because Pereline is not using the color module and has solved this problem by creating it's own custom preview and putting it in the same column as the other settings - then using CSS to float left and right.

By default, we can't do the same with the color module preview, because it is rendered in a different div by default.

Any ideas on how to fix this that will work with the Color Module preview?

Make Tatsu a sub-theme of Basis instead of forking the code

@klonos asked in Gitter why I choose to fork the code from Basis rather than creating Tatsu as a sub theme of Basis.

Initially, I just thought it would give me more control over the theme and I did not see a large benefit in making it a sub-theme. I think my experience in Drupal was was creating sub themes off of other contrib themes and I did not want to require users to install two different themes. But, because basis is in core - that distinction is not relevant. From a user point of view it will work the same as sub-theme or stand alone theme.

I am reconsidering my decision and may make Tatsu a sub theme of Basis.

Comments?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.