I'm getting closer to the next stable version of Clay so I'm working on a redesign of the Blog app. It'll have a more modern style, along with some multiuser features that won't be enabled here. I'm really liking the markup I designed for it, now I just need to work in the changes to ClaySS so I can try it out within Clay. My goal for the next stable version is to have it live by Christmas, or at least a beta version of it. So far I'd say it's doable, but if I run into any issues they may push it into January.
I smoked a Boston Butt for Thanksgiving for 12 hours today. It was falling apart in the pan when I put it in the fridge :) I really wanted to do a ham, but none of the butchers here sell them raw, so I went with the next best I could find. I'm frying my first turkey in the morning, don't worry, it isn't frozen.
Earlier I talked about deprecating Summernote, which was a difficult choice. I've decided I'm going with Markdown for an editor, instead of HTML. HTML is difficult to manage in the database over time, because site styling changes and you could end up with several different HTML content structures. I've always hated storing formatted text anyway. Markdown allows me to store it unformatted and format it on the fly, which is nice. I can also store the formatted text AND the Markdown, so if my Markdown formatting changes it can just reprocess the text to be stored. Pretty handy I think. I can reformat HTML, which I'll have to do on my blog for the update, but working with DOM structures is far more complicated than Markdown, in my opinion. Luckily Markdown is gaining popularity and is easy to use once you get the hang of it. I find it even faster, because I don't have to stop typing to click a formatting button.
Anyway, that's what's been going on for me, Happy Thanksgiving!
With all of the CSS and JS changes, I've decided to retool the dashboard, mostly to cut down on ajax calls. It'll also give theme designers more options for the dashboard and allow me to build in more features that were being restricted by the ajax calls. The dashboard will still use ajax, but it'll be more for background processes and not as much for loading content. The downside is it drops one of the features I liked best, which was to use the dashboard and never change the page I was on. To solve that, the dashboard close button will take you back to the page you were on before entering any dashboard functions.
Lots of changes, but overall I think Clay is getting better everyday.
I'm still working on ClaySS and I love it more everytime I work on it. Choosing universal labels for colors has been a pain, but I think I have it figured out. The problem is how many colors to have the theme developer select and then where to put them. To compensate for the opinionated design, there are also color utility classes that let you pick a color (text and/or background) in the template. I haven't had to use them yet, but they are there.
I'm currently updating app templates and when I am finished with that I'll be adding ClaySS component classes for various parts of the page, such as heading, footer, aside, section, etc.
Someone asked me why I'm building ClaySS, instead of using Bootstrap or one of the Material Design frameworks. Honestly, I could use one of them, but I'd rather use all of them. There are things I like about all of them and things I don't. ClaySS is essentially a bunch of variables tied to classes with variable names. I can assign whatever styling I want to a variable or even change the name of the class with a variable. I can set color schemes with a few variables or individually set every color with it's individual variable. If a class isn't what I want, I can override it completely. I can do that it it be totally independent of any other theme within Clay. I can also build a few utility classes that do almost everything and then modify them with as many extra classes as I want. That's why I'm building ClaySS. If I only use bootstrap, somewhere someone will see something and say, "oh, they are using Bootstrap." I don't want that. Most people won't care or even know what Bootstrap is, but I do. I don't want to be tied down to someone's opinion, it's the same reason I built Clay, I care and that's why I do it.
I've been working on a new navbar for the top of the page. It has been hardcoded into a template in the past, but it will soon be customizable from the Dashboard. I plan to build a few different types of drop-down menu options and some other goodies into it. It will also have several options for responsive display that add different effects.
This is all part of the CSS framework and the Clay 1.2 upgrades. I'm also moving ahead and knocking out some of the milestones for 1.4, which should get us to 2.0 a little faster. More on that later.
I'm building my first theme with the CSS framework. I'm loving the grid system. There are still tons of styles to add before it replaces Clay's CSS, but it's on it's way. The first theme will be entirely new and then I'll probably go back and convert the current theme. Hopefully in a few weeks I can introduce the new Potter default theme.
I'm back to work on the ClaySS CSS framework. The thing I think that makes this framework different is the way it doesn't just use SASS, it is being built to provide useful styles, but also leaves room for building onto it. Every style has variables for every setting, so it is completely customizable. It will also include all of the styling for Clay, including applications, in a single generated stylesheet.
The way it works is the theme has an scss file that contains all of it's custom CSS and variables and an include to ClaySS. When the css is compiled, it pulls in everything else and overrides whatever it is customizing. This prevents an application from overriding the theme and allows you to quickly update a theme for compatibility. It also allows you to use a single CSS file and not have to link so many stylesheets.
ClaySS also provides many utility styles, which means individual applications won't have as many application-specific styles. Finally, it allows me to build in a modular fashion, which divides everything by type and function. The variables are namespaced modularly as well, so if you identify a style to update, you use a variable following the namespace pattern and shouldn't have to dig to find out what that variable is called.
Once it is further along, I'll write a blog post about using iotaCSS and how I've used it within ClaySS.
I added search filters to the Bible app tonight. I can now filter by Old or New Testament and by Book. It displays the books available in the search results, then you can narrow it from there. I'm happy with it so far.
I added several layout options to the Bible app today. I also added a search, which is extremely accurate. It's coming along nicely, so I should have the first version online soon. It will just be the Bible, without all of the extras, at first. The next version I'll attempt to add the concordance. That part will be difficult, I'm afraid, but will be one of the more useful features for me. Getting excited to share it with the world 😀
I've made a lot of progress on the Bible app. I'm going with a very basic display at first, but it will have very good navigation and will be readable. I'm just not doing anything fancy, because my styling framework will be changing soon. It would be a waste of time to put a lot of effort into using something that will completely change over the next month.
Now that I have the Bible display working, I'll begin working on some study tools to go into it. I'll also be working on a basic search engine for it, with a plan to add precision and related search later.
I have a ton of features I plan for it to have, so even when the web site goes live, there will be fairly frequent updates for a while. A nice side effect is many of the features I'm adding will use new capabilities in Clay itself, such as the search engine.