Code Monkey home page Code Monkey logo

wren's People

Contributors

dependabot[bot] avatar foggalong avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

wren's Issues

Better Navbar Icons

The current navigation icons are taken from Wren v0.2, themselves taken from various Numix designs which are now 7-8 years old. Reckon I can do a lot better now and it'll give the site a more modern feel. Small filesize should still be prioritised.

As part of this it would also be nice to expand the range of fallback icons beyond just page, e.g. portfolio, videos, etc.

Categories, Tags, and Home

I know that Jekyll has categories and tags natively, but this doesn't seem to be a feature that Minima exposed as a theme. Will have to do some digging as see if/how it could be utilised.

Wren 0.2 had tags, each of which had their own post list pages and RSS feeds, and then the main "all posts" page also had a tag cloud like was seen on a lot of early 2000s blogs. That also means fixing this issue is sufficient to make the final scraps of Wren 0.2 code redundant.

Fixing this will also be an opportunity to shift away from "home" still being referenced as the blogs/posts page in some of the behind the scenes code.

LaTeX over Nav Bar

LaTeX with MathJax appears over the navbar when in mobile mode. Noticed it when looking at the ellipse blog.

Add-Back Minima's Code Inclusions

Minima has files in place to allow the user to include custom HTML in the header, footer, etc without having to modify the main files responsible for them. I initially ripped these out but already can see how they would be useful for me using Wren for more than one project, much less anyone else needing to use it.

Improvements to Meta

The meta include has already been given a spruce up from what it was in stock Minima, but could extra features I'd like to get in:

  • Liquid reading_time which rounds to the nearest minute (rather than down)
    • BUG: in GitHub pages, the reading_time overflows and displays page content
  • Reddit-style 'Last modified at...' title text, rather than appending ~ YYYY-MM-DD

Fix SVG Cacheing

The method used to recolour SVGs live is preventing them to cache, meaning they flicker every time a new page is loaded. Need to investigate whether this can be done directly with CSS rather than using HTML's <use>.

Arbitrary Social Links

An anti-feature inherited from Minima is that it's not possible to include either:

  1. arbitrary social links in the footer, for services not covered,
  2. multiple links for one service (except Mastadon and GitLab).

Both these would be nice features to have.

First Published on X

An optional 'first published on' icon feature, see it a lot on blogs that've moved around different hosts. Idea would be a YAML header entry like:

first_published on: Wordpress

which Jekyll then turned into an icon for that service to display as part of meta.html.

Switch from Categories to Tags

Wren uses categories as the labelling system for posts. I've just learned, contrary to documentation I read a couple weeks ago, there are in fact a difference between categories and tags in Jekyll. The big two:

  1. Categories are hierarchical, so if multiple labels are specified latter labels are treated as subsets of the former. Tags on the other hand are structurally flat.
  2. Categories appear in post URLs, tags don't.

The first doesn't affect stock Wren because it's not an exposed feature but the second does; Wren's labels are designed to be fluid over time but as is this will result in a heckin' number of broken links. This could be fixed by specifying the permalink structure in _config.yml but that effectively kills the category hierarchy feature if a user did want to expose it through a plugin.

Only solution I can see is to switch from categories to tags as the exposed labelling feature.

Inline Attributes Disable Image Centring

When adding an inline attribute to an image to control its width, as in

![polyyolks]({{ 'path/polyyolks.jpeg' | relative_url}}){: style="max-width: 300px;" }

the automatic centring of the image by markdown is turned off and it aligns to left. This can be fixed by adding display: block; into the style of images as standard (which can be overridden in Wren by using the left or right image class).

Paginator Implementation

The only big feature from Minima which hasn't been given any attention at all is the support for Paginator. All the CSS and Liquid needed is there, but when I tried switching it on even with stock Minima it just didn't work. Will need some investigation.

Multiple of any Social Link

It's possible to have multiple GitLab, Mastodon, and extra-links because of the way they're generated, but can only have one link for everything else. Would be cool to enable that behaviour for any of the links

Error Pages Not Included

When the theme is accessed either using the gem or the jekyll-remote-themes the prebuilt error pages don't go with it, meaning pages like 404.html 404. Unsure if this is a technical limitation with Jekyll/gemspecs like _data being inaccessible was

Reading Time Wrong

I have no idea why - the code is the same code from before (which worked) just integrated into the main script.

Video Embedding

I've added a Liquid template for video embedding on my own blog but think the feature is useful enough that it should live in stock Wren.

Wiki Revamp

All the wiki documentation is entirely outdated, all talking about how to use Wren 0.2 ⚰️ The main sections which need updating are:

  • Explaining how to use Wren with GitHub pages
  • Explaining how to use Wren not on GitHub pages
  • Explanation of some philosophical choices (e.g. no comments)
  • Walkthrough of the Liquid files (since commenting them is messy)
  • Example of how to change the style parameters Wren exposes
  • Update contributing guidelines

Icons Don't Resize with Navbar

There's a setting to resize the navbar like so

$nav-bar-height: 48px !default;

However going larger than 48 will not increase the size of the icons in the navbar accordingly and going lower than 48 will actually start to crop parts of the icons away. My guess is this is to do with the height and width being specified in the <svg element itself but I'm not certain.

How Do Gemspec

Even if I don't have capacity to package it as a Gem right now, it would be good practice if the repo is vaguely structured such that it could be in future. I think as is now, things like having variables in the _config.yml just directly in site.X rather than site.wren.x could cause problems and similarly with the SASS files just being in _sass.

Also, how do gemspec?

Config Merge on `wren_social_data` with Remote Theme Fails

Describe the bug
The wren_social_data YAML in the theme's config isn't merged into the user's config when they're using Wren through jekyll-remote-theme remotely.

To Reproduce
Steps to reproduce the behaviour:

  1. Set remote theme: jekyll-wren
  2. Remove wren_social_data from _config.yml
  3. Scroll down to footer
  4. See broken social buttons

Expected behaviour
Would expect Jekyll to pick up the wren_social_data YAML from the theme's config so that the user doesn't have to have the data saved in theirs. This happen if using Wren's gem but not when using the theme remotely.

Use alongside existing website

I'd love an option to use Wren alongside an existing website. This would involve:

  • making home button link back to base site
  • moving the blog page to the main page
  • turning the 'about me' page into an 'about this blog' page

Image Improvements

Would be nice to improve images, making it so white images don't blend into the white background, their centring works more reliably (seems #35 isn't the only trigger there), and that alt text also appears as image title text.

Fallback Icon for Navigation Bar

Unlike with the social link list, it's currently possible to add arbitrary pages to the navigation bar. This is good except there's no fallback icon to go to; thinking "page" and just a default document icon.

Author Lists

I don't see myself ever using this for a multi-user blog, but it should be fairly trivial (famous last words) to add an authors list similar to the categories list in d4ffeb9.

TODO: v0.2 Beta

Before I'm happy to start using Wren for my own blog (and others) the following things need completing. When these are done I'll release the beta, v0.2 Bewick.

Bugs

  • Reading time calculator needs integrating
  • Crash if no catagories given with first blog
  • Catagory Cloud doesn't stick to the limits given
  • Catagory is spelt wrong everywhere

Features

  • Switch to included HTML, CSS, XML, & PHP setup
  • Limit recent blogs to 5 items
  • Limit RSS feeds to 25 items

Enhancements

  • Make comments system optional
  • Remove link text decorations
  • Needs testing with another URL
  • Dates still look out of place on recent blogs list
  • Recolour <h4> and <h4.a>
  • Using non-html5 'align' property

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.