Giter Site home page Giter Site logo

artistro08 / tailor-starter Goto Github PK

View Code? Open in Web Editor NEW
23.0 3.0 4.0 2.3 MB

A builder theme for October CMS v3.2 - v3.3 based on Bootstrap 5 to speed up website creation

Home Page: https://octobercms.com/theme/artistro08-tailorstartertheme

HTML 99.82% Shell 0.18%
boilerplate-template bootstrap5 ecommerce octobercms octobercms-theme theme

tailor-starter's Introduction

Introduction

A builder theme for October CMS v3.2 based on Bootstrap 5 to speed up website creation. It uses October CMS's Tailor Feature to create re-usable content throughout the site

Theme Philosophy

This theme is meant to be themed. It provides a lot of options out of the box for building content, but also leaves part of the elements simple to theme at your discretion. The general idea behind it is that you can quickly build out a structure and import styles from a bootstrap theme without doing too much work.

Prerequisites

To get started with this theme, you'll need the following

  • October CMS v3.x
  • A knowledge of Tailor
  • Some knowledge of PHP

Plugin Dependencies

This theme depends on the following plugins:

Get Started

Install the theme and dependencies via artisan:

php artisan theme:install Artistro08.TailorStarterTheme

All theme dependencies should be installed automatically

Once installed, run the seeding function for the theme:

php artisan theme:seed artistro08-tailorstartertheme --root

This will initialize the Tailor structure, so you can add content.

Note

This theme automatically creates a child theme. The directory name is artistro08-tailorstarter-child. Use that theme to make edits to the code. To learn more info about child themes, check here. Whenever you make changes to the theme in the editor, it copies the data and puts it in the child theme.

Once you've seeded the theme, head over to the content settings in the backend and select the Homepage. Optionally, fill out the Site Name field as well. Find this at /[backend_url]/tailor/globals/content_settings where [backend_url] is your backend URI set in your .env

Documentation

Documentation can be found here

Contributing

If you would like to contribute to this theme, please submit a pull request to the develop branch. Any help is welcome!

License

MIT License

Copyright (c) 2022 Devin Green

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

tailor-starter's People

Contributors

artistro08 avatar chrisvidal avatar webfalter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tailor-starter's Issues

reCaptcha settings?

After removing the martinforms plugin, thelink to pevious reCapatch plugin settings is not working anymore

image

Add Option to Disable Vertical Spacing

There should be an option to disable the vertical spacing between sections. This would improve the cohesiveness of sections that belong with each other, but use different blocks

v5.0.0 Breaking changes

there are a number of issue rising up when:

  • you previously made some customization in the tailor blueprints

there are stored in the App folder and are still applied even after updating the theme with latest version.
Would be nice to have a process to clean this up somehow.

like running the child theme seed command should solve any of overrided/added blueprint issue

Create Form Submission for Tailor

Would be awesome if we could use Tailor to integrate Magic Forms into the theme with some Form builder logic

  • Create Tailor Blueprint with appropriate fields
  • Put Logic into Magic Forms
  • Profit

Namespace Change may Break Things

So in light of submitting the plugin to the October CMS Marketplace for easier integration of projects, I had to change the namespace for the plugin and the theme.

This may break things, but so far, I haven't had an issue. If you do have one, let me know and I'll do my best to fix things.

Theme Seeding Error

Not sure why is this showing up suddenly:

after upgrading to 6.3.1, I run the theme seeding:

php artisan theme:seed artistro08-tailorstartertheme --root
Seeding Theme...
Importing Blueprints
Migrating Content Tables
Nothing to migrate.
Importing Data

In ThemeSeed.php line 149:
                                                                                                                                           
  [/Users/christophevidal/Sites/oc-acf/themes/artistro08-tailorstartertheme/seeds/data.yaml] SQLSTATE[23000]: Integrity constraint violat  
  ion: 1062 Duplicate entry '1' for key 'xc_698afed670f147dd9dcfdc2a0f903ff2c.PRIMARY' (SQL: insert into `xc_698afed670f147dd9dcfdc2a0f90  
  3ff2c` (`blueprint_uuid`, `id`, `title`, `slug`, `is_enabled`, `published_at`, `expired_at`, `content_group`, `content`, `sharing_image  
  `, `meta_title`, `meta_description`, `exclude_in_sitemap`, `site_id`, `nest_left`, `nest_right`, `nest_depth`, `published_at_date`, `up  
  dated_at`, `created_at`) values (698afed6-70f1-47dd-9dcf-dc2a0f903ff2, 1, Home, home, 1, ?, ?, simple, <p>Takimata sanctus no eos labor  
  e dolor sit dignissim consetetur. Gubergren sit aliquyam est sanctus. Sea consequat erat clita sit dolore blandit feugiat kasd. Dolore   
  rebum ea duo ut at stet sed feugiat diam blandit hendrerit. Lorem est nobis diam duo lorem eum blandit ut diam sit sed nisl. Feugiat no  
  strud takimata accusam option. Accusam iriure tempor odio exerci at magna ullamcorper. Autem labore stet vulputate dolore te takimata d  
  uis. Dolor vero dolores facilisis dolores eos rebum diam lorem vel ut sit. Takimata et no dolores sea dolores sit tation nulla lorem te  
  mpor rebum lobortis diam nonumy odio voluptua est. Sit sadipscing invidunt at facilisis hendrerit duis ea sanctus dolor nonumy. Magna i  
  psum vero sed.</p>, , Home, , 0, 1, 7, 8, 0, 2023-02-17 06:57:22, 2023-02-17 06:57:22, 2023-02-17 06:57:22))                             
                                                                                                                                           

In Connection.php line 760:
                                                                                                                                           
  SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1' for key 'xc_698afed670f147dd9dcfdc2a0f903ff2c.PRIMARY' (SQL:   
  insert into `xc_698afed670f147dd9dcfdc2a0f903ff2c` (`blueprint_uuid`, `id`, `title`, `slug`, `is_enabled`, `published_at`, `expired_at`  
  , `content_group`, `content`, `sharing_image`, `meta_title`, `meta_description`, `exclude_in_sitemap`, `site_id`, `nest_left`, `nest_ri  
  ght`, `nest_depth`, `published_at_date`, `updated_at`, `created_at`) values (698afed6-70f1-47dd-9dcf-dc2a0f903ff2, 1, Home, home, 1, ?,  
   ?, simple, <p>Takimata sanctus no eos labore dolor sit dignissim consetetur. Gubergren sit aliquyam est sanctus. Sea consequat erat cl  
  ita sit dolore blandit feugiat kasd. Dolore rebum ea duo ut at stet sed feugiat diam blandit hendrerit. Lorem est nobis diam duo lorem   
  eum blandit ut diam sit sed nisl. Feugiat nostrud takimata accusam option. Accusam iriure tempor odio exerci at magna ullamcorper. Aute  
  m labore stet vulputate dolore te takimata duis. Dolor vero dolores facilisis dolores eos rebum diam lorem vel ut sit. Takimata et no d  
  olores sea dolores sit tation nulla lorem tempor rebum lobortis diam nonumy odio voluptua est. Sit sadipscing invidunt at facilisis hen  
  drerit duis ea sanctus dolor nonumy. Magna ipsum vero sed.</p>, , Home, , 0, 1, 7, 8, 0, 2023-02-17 06:57:22, 2023-02-17 06:57:22, 2023  
  -02-17 06:57:22))                                                                                                                        
                                                                                                                                           

In Exception.php line 18:
                                                                                                                                    
  SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1' for key 'xc_698afed670f147dd9dcfdc2a0f903ff2c.PRIMARY'  
                                                                                                                                    

In PDOStatement.php line 117:
                                                                                                                                    
  SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1' for key 'xc_698afed670f147dd9dcfdc2a0f903ff2c.PRIMARY'  

Make Tailor Sections have Pagination

It would be nice to get rid of the dedicated pages for sections in Tailor and have pagination in each component. This one makes things SEO and custom page options easier to work with.

Quality of Life improvements

Update Buttons to include Items from Events, Products, etc..

Button Checklist:

Hero Section Checklist:

  • Include Events
  • Include Products
  • Include Product Categories
  • Include Product List

Section > Column > "Text With Buttons" Checklist:

  • Include Events
  • Include Products
  • Include Product Categories
  • Include Product List

Section > Column > "Buttons" Checklist:

  • Include Events
  • Include Products
  • Include Product Categories
  • Include Product List

Misc Stuff

  • Add Outlines to Buttons
  • Fix buttons that go to the homepage slug instead of the root path.

Clean Up Code

  • Remove Unused resources from simple page
  • Exclude Title from Hero section in builder, use content instead
  • Fix active state on home menu item
  • Fix Global lookup for the stripe success and cancel pages.

Bootstrap setup

I noticed that, for instance, the buttons style definition, are not using the CSS variable but the hardcoded colors.

for example:

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0b5ed7;
  --bs-btn-hover-border-color: #0a58ca;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a58ca;
  --bs-btn-active-border-color: #0a53be;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0d6efd;
  --bs-btn-disabled-border-color: #0d6efd;
}

where it could be

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0b5ed7;
  --bs-btn-hover-border-color: #0a58ca;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0a58ca;
  --bs-btn-active-border-color: #0a53be;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--bs-primary);
  --bs-btn-disabled-border-color: var(--bs-primary);
}

Event date

Is there a particular reason why we can't input past events?
I am in a case where I need to key in past events.

General Code Review & Cleanup

The code here is good, but some of the code does not follow consistent naming conventions. The aim here is to clean up the code and release it in a minor release.

TODO

  • Check all files for naming conventions
  • Rename and update the template links accordingly
  • Double check consistency throughout the site
  • Publish as a minor release

Add Option to Hide Event Times

There should be an option to hide the event date and times. This feature is needed because the event may not have a time, nor a date.

Add A Contact Form

  • Create Mixin for plugin
  • Add to Builder
  • Add to Section Column
  • Update Documentation

Blueprint Conflict for Blog/Post

I think there is a conflict happening with this blueprint Blog/Post when the demo theme has been installed, used, and migrated. Which ends up as there is no Blog menu at all anywhere.

Add a Blog

Add a blog based on the current demo theme from the October CMS founders.

Question: override the settings blueprint from a child theme

What is the way to go to override the settings blueprint from a child theme?
Knowing that I need to deploy both themes on a server afterward, so I need to keep the overriding code inside my child theme.

If I edit the settings blueprint from the backend editor and migrate it, it saves it under the App folder but nothing under my child theme.

Add Ability to Search Content

Search Feature

This feature would extend the theme to create Search Pages and add a search block to search for stuff.

Proposed Setup

Search Settings

  • Choose which blueprint types are searchable
    • Repeater field
      • Blueprint List (From Companion Plugin)
        • Needs to check if blueprint has a current page to be visible.

Search Block

  • Choose Which Post Type you would like to search (from Settings)
  • Choose the Search Page
  • Placeholder text For Field
  • Search Query (the database column to search under)
    • Repeater Field
      • Add multiple search queries

Search Page Types

  • Simple Search Page
    • Set the returned items in the Manage tab (Pick from Search Settings)
      • Would use the current partials to keep consistent
  • Dynamic Search Page
    • Set the returned items via a block
      • Would use the current partials to keep consistent
    • Would give the user the ability to build out the page

Since we are in a feature freeze, This cannot be done until the documentation is complete.

v5.0.1 path issue

thanks for the release v5.

after a composer update, the theme is not working anymore, issue with a path apparently

The partial 'builder/global/buttons' is not found.

issue is located in file partials/builder/columns/content.htm

{% if column.buttons|length %}
    {% partial 'builder/global/buttons' section = column %}
{% endif %}

Global Settings

If I end in the global settings, like in the picture (collapse)

Bildschirmfoto 2023-02-15 um 15 56 05

The whole thing comes up when you call up the setting again

Bildschirmfoto 2023-02-15 um 15 56 24

Section vertical padding and Disable Top / Bottom Spacing

Section vertical padding and Disable Top / Bottom Spacing is not working properly in general over the different pages and possibility.
For instance, the partial events and products does not handle the disable options and in general the section HTML tag does not have any vertical padding, so the options disable does not do anything.

I will try to submit a general submit for that matter.

Search

this is my search settings

image

I have a About Us page with some dummy content as such

image

and I have no results for the search term donor

image

What am I missing here?

add default app.js

suggest to add an empty js/app.js and already integrated in all the resources component of the existing layouts.
right now, I have to override ALL the layouts just to add my custom app.js. I think it will be helppful for anyone else.

add capacity to add blocks/items

Suggestion to ease the process to add our own blocks/items.

in the page htm, there is this code handling the builder type:

{% if page.entry_type == 'builder' %}
            {% for section in page.builder %}
                {% partial 'builder/items' section=section %}
            {% endfor %}
        {% endif %}

it would be great to have an already prepared empty custom_items partial and have:

{% if page.entry_type == 'builder' %}
            {% for section in page.builder %}
                {% partial 'builder/items' section=section %}
                {% partial 'builder/cusotm_items' section=section %}
            {% endfor %}
        {% endif %}

so we arrange our custom blocks/items with overriding the custom_items partial instead of overriding the items partials which might change in the future when you add yourself some other blocks. Like this, it will not disrupts existing customized theme.

just an idea as I am facing the issue right now as I am creating a builder block type called timetable

Separate Menu Items from Content for Easy Access

Right now, most of the menu items are under the Content menu Item. We would like to separate them.

Proposed structure

  • Pages
  • Menus
    • Main Menu
    • Secondary Men
    • Social Menu
  • Events
  • Shop
    • Products
    • Product Properties
    • Product Categories
    • Orders
  • Icons

Create Order Table

TODO for Orders

Create a Tailor Stream for the Orders

  • Product Title
  • Product Price
  • Product Metadata
  • Order Status
  • Link to stripe order data

Create logic to post order data to the stream

  • Create a function to use mail templates
  • Create Plugin with Mail templates and require it in the theme (via github)
  • Email guests when you change the status

Add Option for Embedding Code Globally

Add an option for including code in the <head> below the closing <body> tag, and and add a block to embed code as well

The latter may not be specifically needed for developers, but more for clients that use the theme

Suggestion header.htm HTML

Is there a reason why you don't encapsulate the tag nav inside a tag header?
I think that would be more accurate for the whole page structure overall.

after latest update with v5.1.0

only the homepage is working, all my previous existing page are an error 404 after the update.
Not sure what is happening, I am looking into it.
EDIT: I had to re-save all the page content to fix this

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.