Giter VIP home page Giter VIP logo

hylia's Introduction

A simple starter kit for Eleventy

Hylia is a lightweight Eleventy starter kit with Netlify CMS pre-configured, so that you can one-click install a progressive, accessible blog in minutes. It also gives you a well organised starting point to extend it for yourself.

Get started now by deploying Hylia to Netlify.

Deploy to Netlify

Features

Hylia version 0.7.0 features:

✍️ A pre-configured Netlify CMS setup
🎨 Customisable design tokens to make it your own
🌍 Customisable global data and navigation
📂 Tags and tag archives
✅ Progressively enhanced, semantic and accessible
🎈 Super lightweight front-end
🚰 Sass powered CSS system with utility class generator
⚙️ Service worker that caches pages so people can read your articles offline
🚀 An RSS feed for your posts
💌 A basic contact form, ready for Netlify Forms

Roadmap

💬 Netlify Forms powered comments
💡 Dark/Light mode toggle Added in 0.4.0
🗣 Webmentions
📖 Pagination
🐦 Web sharing API integration
🗒 Offline mode with links to cached pages
📄 Documentation site
💅 Proper Sass documentation
✍️ Proper CMS documentation
🖼 A facility for you to be able to add your logo / branding


Getting started

Method one: One-Click Deploy to Netlify

You can deploy Hylia to Netlify with one click and you’ll be up and running in minutes!

Deploy to Netlify

I recorded a quick start video of me deploying Hylia to Netlify and getting the CMS set up. Check it out here.

Method two: Clone / Fork

  1. Clone or fork this repo: git clone https://github.com/hankchizljaw/hylia
  2. cd into the project directory and run npm install
  3. Once all the dependencies are installed run npm start
  4. Open your browser at http://localhost:8080 and away you go!

Terminal commands

Serve the site locally

npm start

Build a production version of the site

npm run production

Compile Sass

npm run sass:process

Re-generate design tokens for Sass

npm run sass:tokens

Getting started with the CMS

Before you can use the CMS, you need to do some config in Netlify. Luckily they provide a very handy guide to get started.

In short, though:

  • Once you’ve set up the site on Netlify, go to “Settings” > “Identity” and enable Identity
  • Scroll down to the “Git Gateway” area, click “Enable Git Gateway” and follow the steps
  • Click the “Identity” tab at the top
  • Once you’ve enabled identity, click “Invite Users”
  • Check the invite link in your inbox and click the link in the email that’s sent to you
  • Set a password in the popup box
  • Go to /admin on your site and login
  • You’re in and ready to edit your content!

Design Tokens and Styleguide

Design Tokens

Although Hylia has a pretty simple design, you can configure the core design tokens that control the colours, size ratio and fonts.


Note: Credit must be given to the hard work Jina Anne did in order for the concept of design tokens to even exist. You should watch this video, then read this article and then sign up for this course to expand your knowledge.


To change the design tokens in the CMS, find the “Globals” in the sidebar then in the presented options, select “Theme Settings”.

To change the design tokens directly, edit _src/data/tokens.json.

The tokens are converted into maps that the Sass uses to compile the front-end CSS, so make sure that you maintain the correct structure of tokens.json.

Styleguide

Your version of Hylia ships with a Styleguide by default. You can see a demo of the Styleguide at https://hylia.website/styleguide/.

You can edit the Styleguide by opening src/styleguide.njk. If you don’t want the Styleguide, delete that file and the page will vanish.

Sass

Hylia is based on the WIP v2 version of Stalfos, which currently has no documentation (I know, I’m bad). Here is some very basic documentation for elements of the new framework that you will encounter on this project.

Configuration

The whole Sass system is powered by central config file, which lives here: _src/scss/_config.scss.

Before Sass is compiled, a _tokens.scss file is generated from the design tokens config which is required.

Key elements:

  • $stalfos-size-scale: A token driven size scale which by default, is a “Major Third” scale
  • $stalfos-colors: A token driven map of colours
  • $stalfos-util-prefix: All pre-built, framework utilities will have this prefix. Example: the wrapper utility is '.sf-wrapper' because the default prefix is 'sf-'
  • $metrics: Various misc metrics to use around the site
  • $stalfos-config: This powers everything from utility class generation to breakpoints to enabling/disabling pre-built components/utilities

How to create a new utility class with the generator

The utility class generator lets you generate whatever you want, with no opinions on class name or properties affected.

To add a new class, add another item to the exists $stalfos-config map. This example adds a utility for floating elements.

'float':('items':('left':'left','right': 'right'
  ),
  'output': 'responsive',
  'property': 'float'
);

The output is set to responsive which means every breakpoint will generate a prefixed class for itself. If you only wanted elements to float left in the md breakpoint, you’d now be able to add a class of md:float-left to your HTML elements.

If you only want standard utility classes generating, set the output to standard.

Functions

get-color($key)

Function tries to match the passed $key with the $stalfos-colors map. Returns null if it can’t find a match.

get-config-value($key, $group)

Returns back a 1 dimensional (key value pair) config value if available.

get-size($ratio-key)

Function tries to match the passed $ratio-key with the $stalfos-size-scale. Returns null if it can’t find a match.

Mixins

apply-utility($key, $value-key)

Grabs the property and value of one of the $stalfos-config utilities that the generator will generate a class for.

media-query($key)

Pass in the key of one of your breakpoints set in $stalfos-config['breakpoints'] and this mixin will generate the @media query with your configured value.

CMS

Hylia has Netlify CMS pre-configured as standard. You can customise the configuration by editing src/admin/config.yml.

Content that you can edit

The basic CMS setup allows you to edit the following:

  • Home page: Edit the content on your homepage
  • Posts: Create and edit blog posts
  • Generic pages: Create generic pages that use a similar layout to posts
  • Global site data: Various bits of global site data such as your url, title, posts per page and author details
  • Navigation: Edit your primary navigation items
  • Theme: Edit the design tokens that power the site’s theme

Get involved

This project is super early and feedback is very much welcome. In order to keep things running smooth, please consult the contribution guide and code of conduct.

The stuff that I need the most help with is:

hylia's People

Contributors

36degrees avatar aarongustafson avatar acarlson0000 avatar andy-set-studio avatar autosponge avatar brandonaaron avatar brendansparrow avatar charlesroper avatar chrisburnell avatar d2s avatar dberesford avatar equivalentideas avatar erquhart avatar jamesforan avatar jolg42 avatar madebymike avatar marcusrelacion avatar mikacaldera avatar remy avatar thomasmassmann avatar yaaax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hylia's Issues

Documentation: How do the `[ class ]` styles work?

I'm not familiar with the square-bracketed classes. It looks to be something to do with config-set styles but it would be great to have explicit documentation (or a link to some) that explains how it works in this context.

pre-webmention setup

Hi Andy, you said you wanted help with webmentions - did you mean sending or receiving?

If you're going to send them, adding microformats-2 to the templates will make them work better - indiewebify.me will walk you through that.
Then you can use a tool to send webmentions after the site updates - eg https://telegraph.p3k.io/ or https://webmention.app/ or https://mention.tech/

To receive them, if you don't want to run your own code you can use a tool like http://webmention.io, http://webmention.herokuapp.com or https://mention.tech/

Come chat about it at https://chat.indieweb.org/dev/

Tag functionality

Hello, thank you for your hard work on this! My question has to do with how to use multiple tags in the netlify cms side of using hylia for blog post creation w/ 11ty.

The image below on line 33-37 shows that you intended for it to be able to be used with multiple tags:
image

However this is what happens when I try to do that in the cms (all are put into one tag):
image

I have tried varying versions of tags separated by , and - but either way it just merges into one big tag.

The only way around this I found was to go into the code here and use this format:
image

Which creates the two separate tags as seen here:
image

But I believe that defeats the whole purpose of using Hylia with the netlify cms. Is this something that I am doing wrong or is it something that is current limitation?

Fix 2 severe security vulnerabilities please

Solution :
Kindly upgrade lodash to version 4.17.13 or later.
Upgrade bl to version 0.9.5 or later.

Also, I am seeing a bunch of vulnerabilities while doing npm install.
found 238 vulnerabilities (2 moderate, 236 high)
How to tackle this in the long run?
I am new to eleventy and static site generators.
However, I am open to helping with PRs if you can guide me.

Navigation without full reload

Currently, it does a full page reload when we navigate I think its quite bad user experience to wait for the full reload so navigation without full page would be best if provided.

Add an author collection and link to it from pages

I'd like to recreate the full 'author bio' from my existing blog so we can support multiple authors (and choose one from a dropdown to pre-fill their bio). May be out of scope for a basic template, wdyt?

Question: Year / Month / Post Pathing

I'm new to Eleventy and trying Hylia for the first time. I am wondering how to best do relative image links with image subdirectories per post?

I have imported from Wordpress similar to this post.

I have the following structure with blog posts organized by year/month/post and images in a subfolder of each post.

image-structure

I copied the images over with this in eleventy.js:

// for now - this is mostly to keep images nested with their posts
config.addPassthroughCopy('src/posts/**/images/*');

The post collections in the same file:

  // Custom collections
  const livePosts = post => post.date <= now && !post.data.draft;
  config.addCollection('posts', collection => {
    return [
      ...collection.getFilteredByGlob('./src/posts/**/*.md').filter(livePosts)
    ].reverse();
  });

  config.addCollection('postFeed', collection => {
    return [...collection.getFilteredByGlob('./src/posts/**/*.md').filter(livePosts)]
      .reverse()
      .slice(0, site.maxPostsPerPage);
  });

The markdown posts have relative image links like:

![Open PowerShell here](images/OpenPowerShellHere.png)

When running the generation I see errors like:

`TemplateWriterWriteError` was thrown
> ENOENT: no such file or directory,
open '/Users/hudgeo/Projects/blog/03-hylia/srcimages/OpenPowerShellHere.png'

Related issue with posts being in their own folder and url expecting prefixed file:

image

My repo is here

I'm just trying to figure out what configuration or layout changes to make for this structure or whether its easier to go with a different structure?

Thanks in advance

Forestry Remote Login Integration

I installed Hylia, choosing it as one of Forestry's 11ty starter templates. I then set up an admin, setting the path to /portal instead of the default, /admin, because admin in this theme refers to Netlify CMS.

I see a portal directory set up in the root of my project, and admin_path: "/portal" specified under .forestry > settings.yaml.

I'm using Netlify for deployment only, and my url is https://hylia-forest.netlify.com. So, by visiting https://hylia-forest.netlify.com/portal, I expected to see a Forestry remote login for my site as picture here: https://forestry.io/docs/editing/remote-admin/, but instead receive a 404.

So, what is the best way to integrate this?

Site link to example.com in Netlify CMS

First of all, Andy, thank you. Hylia is a wonderful resource.

I dipped a toe into its waters yesterday and have noticed that, when in Netlify CMS, the top right link goes to example.com. This is my first time exposure to Netlify CMS. I presume that the top right link is meant to be to the site being edited.

I don't think I've overlooked something in Netlify settings.

netlify-cms_site-link

Duplicate navigation landmarks need labels

https://www.w3.org/TR/wai-aria-practices/examples/landmarks/navigation.html

The template's default is 2 <nav> elements, one in the header and another in the footer. They have identical content. But, this pattern violates the SC.

Suggestions:

  • remove the footer nav. (label becomes optional).
  • clone the template and add labels to each. header_nav and footer_nav (although naming them becomes somewhat troublesome, at least for me). I didn't see a way to pass data to the templates so this might need to be a short_code instead (seems hard).
  • remove the <nav> element from the partial and only wrap the header version with it. The footer will just have a list of links. Still helpful, but not a (duplicate) landmark.

(src/feed.njk) Error: Collection is empty in rssLastUpdatedDate filter

Hi there,

First of all thank you so much for this great starter kit, beautifully integrated !
I'm a big fan of Andy Bell's work ;)

I get this error after remove all example posts and building (through netlify or locally even with npm start) :
Problem writing Eleventy templates: (more in DEBUG output)

> Having trouble rendering njk template ./src/feed.njk
> `TemplateContentRenderError` was thrown
> (./src/feed.njk)
   Error: Collection is empty in rssLastUpdatedDate filter.

It looks like an easy issue to fix, I'll do a Pull Request in 5 mn :)

Transform adds figure to paragraph

The transformation of article images to figures replaces the image with a figure and figcaption. Now figures are not allowed in p tags, which by default is the parent of the image. Some browsers will render empty p tags above and below the figure, which leads to additional unwanted space.

I fixed this locally by changing the transformation to this:

image.parentElement.replaceWith(figure)

Is the assumption ok that every image (from markdown content) will have a surrounding p tag? Or would it be better to test for the parent and its content?

Slate color definition is missing from config.yml

I've noticed that the Slate color definition is missing from config.yml so it can be used in the admin panel. This results in Slate not being adopted as a token and not being available for Sass / CSS Variables to use. I can provide a PR with a fix is this is OK.

PS. Thanks for the great starter! I started using it yesterday and I'm loving it so far.

Remove useless NetlifyCMS config

Hi Andy,

I've found a small bug in the NetlifyCMS configuration file.
According to NetlifyCMS documentation: "'create': for folder collections only;".

The "create" option on the "Pages" collection (which is a 'file' collection') is unused and can be removed.

Generic page renders as source code

What I did:

  1. Create a new Hylia site
  2. Enabled the Git identity to be able to login to the CMS
  3. Made a new Generic Page
  4. Published it

And it renders the source code which you can see here:

image

Add h-card to the homepage

Hello Andy, thank you for releasing Hylia and to everyone who has contributed to the project. You are all awesome and I appreciate it in a deep and personal way.

I'm also keen on IndieWeb related efforts. 🌈

I haven't found an h-card on Hylia so far, so I added the bare minimum info in order to validate an h-card on my website via https://indiewebify.com/validate-h-card.

All it took were some minor edits to the site-head.njk (there may be a better place for this)

Still to do: Add photo (I really do need a headshot), add email, note/bio stuff.

Question: can generate outputs for all files on `npm start` only, and not every time a file is edited?

I have close to 50 blog posts in my Hylia site currently. When I write a new blog post, I first launch the development server with npm start, which takes some time to build the whole site... that is ok. However, it also builds the whole site whenever I edit the blog post, making the experience a bit slow.

I understand that different pages may be affected (such as if I add a new tag) and they need be rebuilt, but I really don't care about those other pages, only about the blog post being edited.

So, is it possible to tell Hylia to only regenerate the page that has changed? (Even if the state of the site will be inconsistent... I don't care about that, it's my local setup, and I can always run npm start again)

Thanks

Provide some guidance / a system for including additional front-end scripts

Currently the one script included is the theme switcher, linked to individually in the base layout. Many users will want to include additional scripts for things like modals for example.

It would be handy to have some kind of compile going on, so additional scripts could be dropped into the scripts folder, or have their npm modules referenced somehow, and then include them all like the scss setup.

I'm not sure what the best approach here is :)

Npm start failing on windows

PS C:\Data\Projects\blog> npm start

> [email protected] start C:\Data\Projects\blog
> concurrently 'npm run sass:process -- --watch' 'npm run cms:bundle -- --watch' 'chokidar "src/_includes/**" -c "npm run cms:precompile"' 'npm run serve'

[0] 'np' is not recognized as an internal or external command,
[0] operable program or batch file.
[1] 'run' is not recognized as an internal or external command,
[1] operable program or batch file.
[2] The filename, directory name, or volume label syntax is incorrect.
[3] '--watch'' is not recognized as an internal or external command,
[3] operable program or batch file.
[4] 'np' is not recognized as an internal or external command,
[4] operable program or batch file.
[5] 'run' is not recognized as an internal or external command,
[5] operable program or batch file.
[6] The filename, directory name, or volume label syntax is incorrect.
[7] '--' is not recognized as an internal or external command,
[7] operable program or batch file.
[8] '--watch'' is not recognized as an internal or external command,
[8] operable program or batch file.
[9] 'chokida' is not recognized as an internal or external command,
[9] operable program or batch file.
[10] 'src' is not recognized as an internal or external command,
[10] operable program or batch file.
[11] '-c' is not recognized as an internal or external command,
[11] operable program or batch file.
[13] 'np' is not recognized as an internal or external command,
[13] operable program or batch file.
[14] 'run' is not recognized as an internal or external command,
[14] operable program or batch file.
[15] 'serve'' is not recognized as an internal or external command,
[15] operable program or batch file.
[14] run exited with code 1
[13] np exited with code 1
[11] -c exited with code 1
[10] src/_includes/** exited with code 1
[9] chokida exited with code 1
[8] --watch' exited with code 1
[7] -- exited with code 1
[6] cms:bundle exited with code 1
[5] run exited with code 1
[4] np exited with code 1
[3] --watch' exited with code 1
[2] sass:process exited with code 1
[1] run exited with code 1
[0] np exited with code 1
[15] serve' exited with code 1
[12] npm ERR! missing script: cms:precompile'
[12] npm ERR!
[12] npm ERR! Did you mean this?
[12] npm ERR!     cms:precompile
[12]
[12] npm ERR! A complete log of this run can be found in:
[12] npm ERR!     C:\Users\shree\AppData\Roaming\npm-cache\_logs\2019-08-15T00_48_08_034Z-debug.log
[12] npm run cms:precompile' exited with code 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `concurrently 'npm run sass:process -- --watch' 'npm run cms:bundle -- --watch' 'chokidar "src/_includes/**" -c "npm run cms:precompile"' 'npm run serve'`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\shree\AppData\Roaming\npm-cache\_logs\2019-08-15T00_48_08_084Z-debug.log

Accept more readable date-time format in front matter

Is your feature request related to a problem? Please describe.
I'm migrating a blog from Hugo to 11ty. The date: front-matter fields include timestamp in the format "2019-07-02 22:39:39 +0200" (Hugo accepts it), while 11ty expects iso8601 ("2019-07-02T22:39:39+02:00") in Template.js.

While deploying to netlify this is the error message:

2:58:11 PM: Problem writing Eleventy templates: (more in DEBUG output)
2:58:11 PM: > date front matter value (2019-07-02 22:39:39 +0200) is invalid for ./src/<...>.md (Error):
2:58:11 PM:     Error: date front matter value (2019-07-02 22:39:39 +0200) is invalid for ./src/<...>.md
2:58:11 PM:         at Template.getMappedDate (/opt/build/repo/node_modules/@11ty/eleventy/src/Template.js:611:19)

Note: There's no difference in the date syntax, therefore this does not affect dates without a timestamp.

Describe the solution you'd like
For easier readability and migration is it possible to accept the following date: front-matter format: "2019-07-02 22:39:39 +0200"?

Describe alternatives you've considered

  • An automatic migration script to convert all date: front-matter in a site to iso8601. If there is such a script, please inform.
  • Modifying Template.js only for this deployment. Is this possible with netlify, eg. in the .node-modules folder in the git repo?

Additional context

Included CSS embiggens page size

Hello!
Should the full global.css be included in the <head> of each page? This was making my pages pretty large, so for a personal project I broke the CSS out using the example of the service-worker js file.

I'd be happy to submit this as a PR if you think it would be useful. Caching css is always a nice thing to be able to do.

Update to @11ty/eleventy 0.10

Hi there,

I realized that Hylia was back a few versions, on 11ty 0.8.3, when I went to use a new feature, changing the output directory of a pass-through https://www.11ty.dev/docs/copy/#change-the-output-directory

There's a bunch of new functions and performance improvements across the last two versions of 11ty:

It would be great if we could upgrade.

Take care and thanks for all your fantastic work 💞

Want to contribute

Hey Andy I've just started learning Eleventy
You've mentioned some areas you need help with in the ReadMe.
If you have something specific in mind, I would love to give a hand.

Using Netlify dev instead of NPM start (Solved)

Since Netlify is part of the setup I figured that it would use $netlify dev as well to give myself a break (designer who can code) as npm and node are my least favorite tools to use (love Poi, Compass, Netlify as a designer who codes and dislikes CLI's & greedcorps).

To reproduce simply one-click-deploy a hylia, clone the repo locally, and run $netlify dev “error” (it's not) displayed the following;

Having trouble rendering njk template ./src/admin.njk (TemplateContentRenderError)

(unknown path)
Error: template not found: assets/css/global.css (Template render error):
Template render error: (unknown path)
Error: template not found: assets/css/global.css
at Object._prettifyError (/Users/ghoeve/Documents/blog/blog-hylia/node_modules/nunjucks/src/lib.js:36:11)
at /Users/ghoeve/Documents/blog/blog-hylia/node_modules/nunjucks/src/environment.js:567:19
at eval (eval at _compile (/Users/ghoeve/Documents/blog/blog-hylia/node_modules/nunjucks/src/environment.js:637:18), :14:11)
at createTemplate (/Users/ghoeve/Documents/blog/blog-hylia/node_modules/nunjucks/src/environment.js:295:11)
at next (/Users/ghoeve/Documents/blog/blog-hylia/node_modules/nunjucks/src/lib.js:282:7)
at handle (/Users/ghoeve/Documents/blog/blog-hylia/node_modules/nunjucks/src/environment.js:329:11)
at /Users/ghoeve/Documents/blog/blog-hylia/node_modules/nunjucks/src/environment.js:339:9
at next (/Users/ghoeve/Documents/blog/blog-hylia/node_modules/nunjucks/src/lib.js:280:7)
at Object.asyncIter (/Users/ghoeve/Documents/blog/blog-hylia/node_modules/nunjucks/src/lib.js:286:3)
at Environment.getTemplate (/Users/ghoeve/Documents/blog/blog-hylia/node_modules/nunjucks/src/environment.js:321:9)

Sass sourcemaps

Is there anyway to see the sass sourcemap while in development via dev tools?

Navigation via NetlifyCMS

When creating a new page in NetlifyCMS, is there anyway to have it added automagically added to navigation.json?

Cannot create new page in forestry.io by default

Set up on netlify/forestry via the following methods:

  1. Press button 'netlify' button on this repo to copy repo to my github and build on netlify. Add site on forestry.io.
  2. Start new repo/site on forestry.io using eleventy/forestry starter.

In both cases, no option to create new > page in forestry.io.

Can't run server

Error after clean install:

[3] Eleventy fatal error: (more in DEBUG output)
[3] > Error in your Eleventy config file '/Users/remy/Sites/scratch/hylia/.eleventy.js'. You may need to run `npm install`. (EleventyConfigError)
[3] > Cannot find module '../build/default/canvas' (Error):
[3]     Error: Cannot find module '../build/default/canvas'
[3]         at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
[3]         at Function.Module._load (internal/modules/cjs/loader.js:506:25)
[3]         at Module.require (internal/modules/cjs/loader.js:636:17)
[3]         at require (internal/modules/cjs/helpers.js:20:18)
[3]         at Object.<anonymous> (/Users/remy/Sites/scratch/node_modules/canvas/lib/bindings.js:7:20)
[3]         at Module._compile (internal/modules/cjs/loader.js:688:30)
[3]         at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
[3]         at Module.load (internal/modules/cjs/loader.js:598:32)
[3]         at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
[3]         at Function.Module._load (internal/modules/cjs/loader.js:529:3)

Set favicon as CMS global?

I'm vaguely aware that you don't want your favicon to be loaded in the same way as other images but it would be nice to be able to upload one without digging in the code.

Trying to create Hylia Site: 400 on /.netlify/git/settings

Hi there! Really excited to get a site spun up, it seems you've made it pretty easy :) That said, still having a problem after following your video walkthrough ++ scrounging through github issues.

image

The 400 error is {"code":400,"msg":"Operator microservice headers missing"}

I've tried disabling/enabling Git Gateway, Regenerating API token, Redeploying the site... I even tore everything down and started from scratch again from you video. No dice -- Any idea what might be up?

Fix package.json to work on Windows

Under Git Bash terminal on Windows, the npm start task fails due to Windows not understanding the tasks described in package.json. This is due to two reasons:

  • Windows environment variables are declared differently than *nix OSs
  • Windows does not understand single apostrophes when used in task parameters in package.json.

This can be fixed by doing the following:

  • Use the core-env module to handle correct setup of environment variables across multiple platforms: (https://www.npmjs.com/package/cross-env)
  • Replace single quotes with escaped double quotes, so ' becomes \"

I've tested this on my own installation Windows 7, Git for Windows 2.12.2, Node 10.16.0, Npm 6.9.0 and it seems fine, but would need to be tested by others before merging (in particular, for users with Windows 10).

I'm happy to raise a PR, but I don't have write permissions.

Update references to hankchizljaw

Hi Andy, thanks for the excellent hylia.

in package.json there are four references to andybelldesign. Need to replace those with hankchizljaw.

There are other references in README.md too.

Thanks. Andrew

Document does not have a meta description !?

On auditing hylia over Lighthouse, I found out that the SEO score is 91.

One thing that's causing this is:

No <meta name="Description" content="This is hylia description!">

Please add the same or I can open a PR!

Ohhh and adding this makes the SEO -> 100!!! 😎

Page Compilation renders HTML to the screen

I have added a test page via Netlify CMS during my first try out of Hylia.
The result creates a page which is rendered as visible html markup.

Below is the markdown created by Netlify CMS. Not sure if it is related, but it is created in /page not /pages

---
layout: layouts/page.njk
title: Test Page
permalink: test-page
metaTitle: Test Page
metaDesc: Test Page
socialImage: /images/demo-image-1.jpg
---
This is a Test





Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer sodales arcu at lacinia sollicitudin. Sed varius laoreet sapien quis vestibulum. Sed pretium hendrerit enim sit amet ultrices. Donec lobortis est ac quam sagittis congue. Vivamus tempus eget erat ut placerat. Morbi consequat quam eu dui euismod feugiat. Praesent vel sapien orci. Suspendisse ante massa, pretium nec leo at, auctor consectetur sem. Nulla nec fermentum diam.



Maecenas rhoncus ultrices viverra. Sed sed tortor convallis, vestibulum metus nec, dapibus est. Fusce venenatis euismod turpis, a venenatis justo euismod vitae. Vivamus ornare eros ac purus elementum, et elementum turpis scelerisque. Vivamus quis purus eros. Vivamus consequat diam ut auctor pulvinar. Pellentesque lorem purus, rutrum vel est ut, convallis aliquam ligula.



Curabitur facilisis non ligula sed maximus. Etiam scelerisque pretium ligula, quis viverra magna gravida et. Nunc vehicula lobortis lectus vel ultrices. Praesent blandit commodo bibendum. Mauris tristique mauris quis ultricies facilisis. Nullam et mauris nec neque euismod gravida id eu enim. Nulla facilisi. Vestibulum facilisis est nec nulla aliquam sagittis. Sed in mi quis metus convallis facilisis. Phasellus molestie tempor dignissim. Aenean faucibus, massa a consectetur commodo, purus enim euismod nibh, vel iaculis dui justo tincidunt est. Morbi non vestibulum odio. Nulla sagittis mauris ac ipsum feugiat pulvinar. Curabitur eu metus quam. Donec suscipit urna ac enim condimentum pretium. Etiam id imperdiet sem, vel semper ligula.



Integer pharetra viverra turpis in tempor. Mauris nec egestas justo. Donec suscipit feugiat tincidunt. Curabitur ac magna quam. Pellentesque molestie, magna ut ultricies posuere, felis tellus condimentum eros, auctor tempor nibh tortor sagittis magna. Etiam pharetra felis turpis, sit amet scelerisque dolor dignissim eu. In et ante rutrum, imperdiet libero vel, interdum libero. Praesent nec felis in massa lobortis tempus eleifend ut purus. Nam vestibulum libero eget quam finibus, quis imperdiet leo efficitur. Sed ornare, turpis sagittis facilisis egestas, sem massa tempus urna, dignissim ultrices neque massa eu erat. Mauris eu tellus eu nibh fermentum interdum.



Suspendisse semper, felis vitae pharetra lacinia, turpis tortor ullamcorper quam, ac malesuada enim neque sed nulla. Aliquam eu gravida libero, eu lacinia dolor. Nulla vel urna lacinia, accumsan erat venenatis, ultricies leo. Vestibulum et nulla vel mi efficitur viverra. Mauris a quam quis magna lobortis venenatis at sed nisi. Praesent et tortor quam. Sed fermentum ipsum ut est suscipit semper. Aliquam ut eleifend risus. Ut tempus velit id mauris rutrum viverra et quis enim. In tristique interdum bibendum. Maecenas sed blandit sem. Duis in metus malesuada, vestibulum nunc vel, cursus felis.

Why use @tbranyen/jsdom instead of the official package?

I'm migrating my current Jekyll blog to 11ty with this nice template.

I noticed that this starter project is using @tbranyen/jsdom package to assist with HTML transforms. However, it seems that this package is just a re-up of the well-known jsdom package from Jest team.

Is there any reason why we're not using the official package instead of this one. I cannot find any derivation notice on the npmjs package page and even the home page link of @tbranyen/jsdom pointing to https://github.com/jsdom/jsdom.

Sticky footer by default

Might be a nice improvement to stick the footer:

body {
  scroll-behavior: smooth;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

main {
  flex: 1;
}

(or equivalent)

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.