Coder Social home page Coder Social logo

xianmin / hugo-theme-jane Goto Github PK

View Code? Open in Web Editor NEW
905.0 13.0 280.0 4.05 MB

A readable & concise theme for Hugo

Home Page: https://xianmin.github.io/hugo-theme-jane/

License: MIT License

HTML 55.02% CSS 2.66% JavaScript 5.09% XSLT 2.76% SCSS 34.48%
hugo hugo-theme hugo-blog-theme theme hugo-site

hugo-theme-jane's Introduction

jane-preview

hugo-theme-jane

Jane is a readable theme for Hugo. It's a fork of hugo-theme-even with a lot of additional changes.

Demo | 中文说明

This theme focuses on improving the reading experience.

Other Key features:

  • Responsive and mobile friendly
  • Multilingual Mode support
  • Shortcodes : image, blockquote, music, etc.
  • Separate design for Tags & Categories Page
  • Social network linking
  • Better Pagination, TOC, footnote behavior
  • Use the awesome Chroma syntax highlighting
  • Custom css, Custom js, Custom head support
  • Sub menu support
  • Search Optimization

Quick Start

Note: This tutorial assumes that you are using Hugo for the first time . Hugo is one of the most popular open-source static site generators. You can check the Hugo Official Docs for more help.

1. Install Hugo

Download the appropriate version for your platform from Hugo Releases. Once downloaded, the binary can be run from anywhere. Ideally, you should install it somewhere in your PATH for easy use. /usr/local/bin is the most probable location.

2. Create a New Site

hugo new site myBlog

The above will create a new Hugo site in a folder named myBlog.

3. Use Hugo-Theme-Jane

Clone this repository into themes folder:

cd myBlog
git clone https://github.com/xianmin/hugo-theme-jane.git --depth=1 themes/jane
Alternative, installation as a module

If you have Go installed you can install the theme as a hugo module, then there will be no need to clone it into the themes folder:

hugo mod init example.com/my-blog

After that, you would need to use github.com/xianmin/hugo-theme-jane as your theme and not hugo-theme-jane in your config.toml file.

Copy the example site content:

cp -r themes/jane/exampleSite/content ./

Copy the default site config:

cp themes/jane/exampleSite/config.toml ./

Take a look at the example site:

hugo server

Open http://localhost:1313/ , you will see your site running with the example content.

4. Start a Blog

The default config file config.toml is located in your site root directory. You can customize it to match the details of your site. Documentation about configuring Hugo can be found in the Official Documentation

The default content files are located in the ./content/post directory.

5. Generate Your Website

Run hugo , this generates your website to the public/ directory by default.

Nice work!

If you have extra time or want to know more about Hugo , check out the awesome Hugo Official Docs .

Site Configuration

Take a look in the exampleSite folder.

This directory contains an example config file and the content for the demo. It serves as an example setup for you to configure to your liking.

Copy the config.toml to the root directory of your website. Overwrite the existing config file if necessary.

Single Post Configuration

Front Matter : Hugo allows you to add front matter in yaml, toml, or json to your content files.

YAML Example:

---
# Common-Defined
title: "An Example Post"
date: 2018-01-01T16:01:23+08:00
lastmod: 2018-01-02T16:01:23+08:00
draft: false
tags: ["tag-1", "tag-2", "tag-3"]
categories: ["index"]
author: "xianmin"

# User-Defined
# You can close(false) or open(true) something for this content.
# P.S. comment can only be closed
comment: false
toc: false
# You can also define another contentCopyright
contentCopyright: '<a rel="license noopener" href="https://creativecommons.org/licenses/by-nc-nd/4.0/" target="_blank">CC BY-NC-ND 4.0</a>'
reward: false
mathjax: true
---

Multilingual (Language) Support

Hugo-Theme-Jane supports the creation of websites with multiple languages side by side.

You should define the available languages in a languages section in your site configuration.

Translations are collected from the i18n/ folder.

To use the translations:

# use Chinese translation
defaultContentLanguage = "zh-cn"  # Default language to use (if you set up multilingual support)
[Languages.zh-cn]
  languageCode = "zh-cn"

To use the Multilingual Mode, see Multilingual Mode | Hugo .

Contributing

If you are interested in fixing issues and contributing directly to this theme, please see the document How to Contribute .

There are many ways to contribute to the Jane theme:

  • submitting pull requests
  • reporting issues
  • providing new translations
  • creating suggestions
  • correct inappropriate English expression (ok, my English is not good)

Contributors

This project exists thanks to all the people who contribute:

License

Hugo-theme-jane is licensed under the MIT license. Check the LICENSE file for details.

hugo-theme-jane's People

Contributors

aborruso avatar athurg avatar beihai0xff avatar choicky avatar darthagnon avatar deining avatar fallleaf avatar git-so avatar h0cheung avatar kasramp avatar kkkgo avatar kujihhoe avatar maczam avatar nirocfz avatar niupalovetudou avatar p0n1 avatar paskal avatar pau1ie avatar philrw avatar razonyang avatar ristobin avatar sboukortt avatar shaform avatar shalk avatar user1121114685 avatar william-yeh avatar xianmin avatar yangwenmai avatar ysqi avatar zebradil 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

hugo-theme-jane's Issues

Could someone explain how to apply the custom.css

More a howto question than an issue really:
I would like to use Jane for my personal website, it is fantastic. I only struggle with applying custom.css. I found the definition in config.toml and put a custom.css in the approriate place(s), but the rendering doesn't seem to change upon "hugo server". Does someone have a minimal example how it works?

Front-End-Checklist

thedaviddias/Front-End-Checklist: 🗂 The perfect Front-End Checklist for modern websites and meticulous developers

How to use?

All items in the Front-End Checklist are required for the majority of the projects, but some elements can be omitted or are not essential (in the case of an administration web app, you may not need RSS feed for example). We choose to use 3 levels of flexibility:

  • Low means that the item is recommended but can be omitted in some particular situations.
  • Medium means that the item is highly recommended and can eventually be omitted in some really particular cases. Some elements, if omitted, can have bad repercussions in terms of performance or SEO.
  • High means that the item can't be omitted by any reason. You may cause a dysfunction in your page or have accessibility or SEO issues. The testing priority needs to be on these elements first.

Some resources possess an emoticon to help you understand which type of content / help you may find on the checklist:

  • 📖: documentation or article
  • 🛠: online tool / testing tool
  • 📹: media or video content

Head

Notes: You can find a list of everything that could be found in the <head> of an HTML document.

Meta tag

  • Doctype: High The Doctype is HTML5 and is at the top of all your HTML pages.
<!doctype html> <!-- HTML5 -->

The next 2 meta tags (Charset and Viewport) need to come first in the head.

  • Charset: High The charset (UTF-8) is declared correctly.
<!-- Set character encoding for the document -->
<meta charset="utf-8">
  • Viewport: High The viewport is declared correctly.
<!-- Viewport for responsive web design -->
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
  • Title: High A title is used on all pages (SEO: Google calculates the pixel width of the characters used in the title, and it cuts off between 472 and 482 pixels. The average character limit would be around 55-characters).
<!-- Document Title -->
<title>Page Title less than 55 characters</title>
  • Description: High A meta description is provided, it is unique and doesn't possess more than 150 characters.
<!-- Meta Description -->
<meta name="description" content="Description of the page less than 150 characters">
  • Favicons: Medium Each favicon has been created and displays correctly. If you have only a favicon.ico, put it at the root of your site. Normally you won't need to use any markup. However, it's still good practice to link to it using the example below. Today, PNG format is recommended over .ico format (dimensions: 32x32px).
<!-- Standard favicon -->
<link rel="icon" type="image/x-icon" href="https://example.com/favicon.ico">
<!-- Recommended favicon format -->
<link rel="icon" type="image/png" href="https://example.com/favicon.png">
  • Apple Web App Meta: Low Apple meta-tags are present.
<!-- Apple Touch Icon (at least 200x200px) -->
<link rel="apple-touch-icon" href="/custom-icon.png">

<!-- To run web application in full-screen -->
<meta name="apple-mobile-web-app-capable" content="yes">

<!-- Status Bar Style (see Supported Meta Tags below for available values) -->
<!-- Has no effect unless you have the previous meta tag -->
<meta name="apple-mobile-web-app-status-bar-style" content="black">
  • Windows Tiles: Low Windows tiles are present and linked.
<!-- Microsoft Tiles -->
<meta name="msapplication-config" content="browserconfig.xml" />

Minimum required xml markup for the browserconfig.xml file is as follows:

<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
   <msapplication>
     <tile>
        <square70x70logo src="small.png"/>
        <square150x150logo src="medium.png"/>
        <wide310x150logo src="wide.png"/>
        <square310x310logo src="large.png"/>
     </tile>
   </msapplication>
</browserconfig>
  • Canonical: Medium Use rel="canonical" to avoid duplicate content.
<!-- Helps prevent duplicate content issues -->
<link rel="canonical" href="http://example.com/2017/09/a-new-article-to-read.html">

HTML tags

  • Language attribute: High The lang attribute of your website is specified and related to the language of the current page.
<html lang="en">
  • Direction attribute: Medium The direction of lecture is specified on the html tag (It can be used on another HTML tag).
<html dir="rtl">
  • Alternate language: Low The language tag of your website is specified and related to the language of the current page.
<link rel="alternate" href="https://es.example.com/" hreflang="es">
  • Conditional comments: Low Conditional comments are present for IE if needed.
  • RSS feed: Low If your project is a blog or has articles, an RSS link was provided.

  • CSS Critical: Medium The CSS critical (or "above the fold") collects all the CSS used to render the visible portion of the page. It is embedded before your principal CSS call and between <style></style> in a single line (minified).

  • CSS order: High All CSS files are loaded before any JavaScript files in the <head>. (Except the case where sometimes JS files are loaded asynchronously on top of your page).

Social meta

Facebook OG and Twitter Cards are, for any website, highly recommended. The other social media tags can be considered if you target a particular presence on those and want to ensure the display.

  • Facebook Open Graph: Low All Facebook Open Graph (OG) are tested and no one is missing or with a false information. Images need to be at least 600 x 315 pixels, although 1200 x 630 pixels is recommended.

Notes: Using og:image:width and og:image:height will specify the image dimensions to the crawler so that it can render the image immediately without having to asynchronously download and process it.

<meta property="og:type" content="website">
<meta property="og:url" content="https://example.com/page.html">
<meta property="og:title" content="Content Title">
<meta property="og:image" content="https://example.com/image.jpg">
<meta property="og:description" content="Description Here">
<meta property="og:site_name" content="Site Name">
<meta property="og:locale" content="en_US">
<!-- Next tags are optional but recommended -->
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
  • Twitter Card: Low
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@site_account">
<meta name="twitter:creator" content="@individual_account">
<meta name="twitter:url" content="https://example.com/page.html">
<meta name="twitter:title" content="Content Title">
<meta name="twitter:description" content="Content description less than 200 characters">
<meta name="twitter:image" content="https://example.com/image.jpg">

⬆ back to top


HTML

Best practices

  • HTML5 Semantic Elements: High HTML5 Semantic Elements are used appropriately (header, section, footer, main...).
  • Error pages: High Error 404 page and 5xx exist. Remember that the 5xx error pages need to have their CSS integrated (no external call on the current server).

  • Noopener: Medium In case you are using external links with target="_blank", your link should have a rel="noopener" attribute to prevent tab nabbing. If you need to support older versions of Firefox, use rel="noopener noreferrer".

  • Clean up comments: Low Unnecessary code needs to be removed before sending the page to production.

HTML testing

  • W3C compliant: High All pages need to be tested with the W3C validator to identify possible issues in the HTML code.
  • HTML Lint: High I use tools to help me analyze any issues I could have on my HTML code.
  • Link checker: High There are no broken links in my page, verify that you don't have any 404 error.
  • Adblockers test: Medium Your website shows your content correctly with adblockers enabled (You can provide a message encouraging people to disable their adblocker).

⬆ back to top


Webfonts

Notes: Using webfonts may cause Flash Of Unstyled Text/Flash Of Invisible Text - consider having fallback fonts and/or utilizing webfont loaders to control behavior.

  • Webfont format: High WOFF, WOFF2 and TTF are supported by all modern browsers.
  • Webfont size: High Webfont sizes don't exceed 2 MB (all variants included).

  • Webfont loader: Low Control loading behavior with a webfont loader

⬆ back to top


CSS

Notes: Take a look at CSS guidelines and Sass Guidelines followed by most Front-End developers. If you have a doubt about CSS properties, you can visit CSS Reference. There is also a short Code Guide for consistency.

  • Responsive Web Design: High The website is using responsive web design.
  • CSS Print: Medium A print stylesheet is provided and is correct on each page.
  • Preprocessors: Low Your project is using a CSS preprocessor (e.g Sass, Less, Stylus).
  • Unique ID: High If IDs are used, they are unique to a page.
  • Reset CSS: High A CSS reset (reset, normalize or reboot) is used and up to date. (If you are using a CSS Framework like Bootstrap or Foundation, a Normalize is already included into it.)
  • JS prefix: Low All classes (or id- used in JavaScript files) begin with js- and are not styled into the CSS files.
<div id="js-slider" class="my-slider">
<!-- Or -->
<div id="id-used-by-cms" class="js-slider my-slider">
  • embedded or inline CSS: High Avoid at all cost embedding CSS in <style> tags or using inline CSS: only use for valid reasons (e.g. background-image for slider, critical CSS).
  • Vendor prefixes: High CSS vendor prefixes are used and are generated accordingly with your browser support compatibility.

Performance

  • Concatenation: High CSS files are concatenated in a single file (Not for HTTP/2).
  • Minification: High All CSS files are minified.
  • Non-blocking: Medium CSS files need to be non-blocking to prevent the DOM from taking time to load.
  • Unused CSS: Low Remove unused CSS.

CSS testing

  • Stylelint: High All CSS or SCSS files are without any errors.
  • Responsive web design: High All pages were tested at the following breakpoints: 320px, 768px, 1024px (can be more / different according to your analytics).

  • CSS Validator: Medium The CSS was tested and pertinent errors were corrected.

  • Desktop Browsers: High All pages were tested on all current desktop browsers (Safari, Firefox, Chrome, Internet Explorer, EDGE...).
  • Mobile Browsers: High All pages were tested on all current mobile browsers (Native browser, Chrome, Safari...).
  • OS: High All pages were tested on all current OS (Windows, Android, iOS, Mac...).
  • Design fidelity: Low Depending the project and the quality of the creatives, you may be asked to be close to the design. You can use some tools to compare creatives with your code implementation and ensure consistency.

Pixel Perfect - Chrome Extension

  • Reading direction: High All pages need to be tested for LTR and RTL languages if they need to be supported.

⬆ back to top


Images

Notes: For a complete understanding of image optimization, check the free ebook Essential Image Optimization from Addy Osmani.

Best practices

  • Optimization: High All images are optimized to be rendered in the browser. WebP format could be used for critical pages (like Homepage).
  • 🛠 Imagemin
  • 🛠 Use ImageOptim to optimise your images for free.
  • 🛠 Use Kraken.io awesome alternative for both png and jpg optimization. Up to 1mb per files on free plan.
  • 🛠 TinyPNG losslessly optimise png, apng (animated png) and jpg images. Free and paid version available.
  • 🛠 ZorroSVG jpg-like compression for transparent images using svg masking.
  • 🛠 SVGO a Nodejs-based tool for optimizing SVG vector graphics files.
  • 🛠 SVGOMG a web-based GUI version of SVGO for optimising your svgs online.
  • Picture/Srcset: Medium You use picture/srcset to provide the most appropriate image for the current viewport of the user.
  • Retina: Low You provide layout images 2x or 3x, support retina display.
  • Sprite: Medium Small images are in a sprite file (in the case of icons, they can be in an SVG sprite image).
  • Width and Height: High Set width and height attributes on <img> if the final rendered image size is known (can be omitted for CSS sizing).
  • Alternative text: High All <img> have an alternative text which describe the image visually.
  • Lazy loading: Medium Images are lazyloaded (A noscript fallback is always provided).

⬆ back to top


JavaScript

Best practices

  • JavaScript Inline: High You don't have any JavaScript code inline (mixed with your HTML code).
  • Concatenation: High JavaScript files are concatenated.
  • Minification: High JavaScript files are minified (you can add the .min suffix).
  • JavaScript security: High
  • noscript tag: Medium Use <noscript> tag in the HTML body if a script type on the page is unsupported or if scripting is currently turned off in the browser. This will be helpful in client-side rendering heavy apps such as React.js, see examples.
<noscript>
  You need to enable JavaScript to run this app.
</noscript>
  • Non-blocking: Medium JavaScript files are loaded asynchronously using async or deferred using defer attribute.
  • Optimized and updated JS libraries: Medium All JavaScript libraries used in your project are necessary (prefer Vanilla Javascript for simple functionalities), updated to their latest version and don't overwhelm your JavaScript with unnecessary methods.
  • Modernizr: Low If you need to target some specific features you can use a custom Modernizr to add classes in your <html> tag.

JavaScript testing

  • ESLint: High No errors are flagged by ESLint (based on your configuration or standards rules).

⬆ back to top


Security

Scan and check your web site

Best practices

  • HTTPS: Medium HTTPS is used on every pages and for all external content (plugins, images...).
  • HTTP Strict Transport Security (HSTS): Medium The HTTP header is set to 'Strict-Transport-Security'.
  • Cross Site Request Forgery (CSRF): High You ensure that requests made to your server-side are legitimate and originate from your website / app to prevent CSRF attacks.
  • Cross Site Scripting (XSS): High Your page or website is free from XSS possible issues.
  • Content Type Options: Medium Prevents Google Chrome and Internet Explorer from trying to mime-sniff the content-type of a response away from the one being declared by the server.
  • X-Frame-Options (XFO): Medium Protects your visitors against clickjacking attacks.
  • Content Security Policy: Medium Defines how content is loaded on your site and from where it is permitted to be loaded. Can also be used to protect against clickjacking attacks.

⬆ back to top


Performance

Best practices

  • Goals to achieve: Medium Your pages should reach these goals:
    • First Meaningful Paint under 1 second
    • Time To Interactive under 5 seconds for the "average" configuration (a $200 Android on a slow 3G network with 400ms RTT and 400kbps transfer speed) and under 2 seconds for repeat visits
    • Critical file size under 170Kb gzipped
  • Minified HTML: Medium Your HTML is minified.

  • Lazy loading: Medium Images, scripts and CSS need to be lazy loaded to improve the response time of the current page (See details in their respective sections).

  • Cookie size: Medium If you are using cookies be sure each cookie doesn't exceed 4096 bytes and your domain name doesn't have more than 20 cookies.

  • Third party components: Medium Third party iframes or components relying on external JS (like sharing buttons) are replaced by static components when possible, thus limiting calls to external APIs and keeping your users activity private.

Preparing upcoming requests

  • DNS resolution: Low DNS of third-party services that may be needed are resolved in advance during idle time using dns-prefetch.
<link rel="dns-prefetch" href="https://example.com">
  • Preconnection: Low DNS lookup, TCP handshake and TLS negotiation with services that will be needed soon is done in advance during idle time using preconnect.
<link rel="preconnect" href="https://example.com">
  • Prefetching: Low Resources that will be needed soon (e.g. lazy loaded images) are requested in advance during idle time using prefetch.
<link rel="prefetch" href="image.png">
  • Preloading: Low Resources needed in the current page (e.g. scripts placed at the end of <body>) in advance using preload.
<link rel="preload" href="app.js">

Performance testing

  • Google PageSpeed: High All your pages were tested (not only the homepage) and have a score of at least 90/100.

⬆ back to top


Accessibility

Notes: You can watch the playlist A11ycasts with Rob Dodson 📹

Best practices

  • Progressive enhancement: Medium Major functionality like main navigation and search should work without JavaScript enabled.
  • Color contrast: Medium Color contrast should at least pass WCAG AA (AAA for mobile).

Headings

  • H1: High All pages have an H1 which is not the title of the website.
  • Headings: High Headings should be used properly and in the right order (H1 to H6).

Semantics

  • Specific HTML5 input types are used: Medium This is especially important for mobile devices that show customized keypads and widgets for different types.

Form

  • Label: High A label is associated with each input form element. In case a label can't be displayed, use aria-label instead.

Accessibility testing

  • Accessibility standards testing: High Use the WAVE tool to test if your page respects the accessibility standards.
  • Keyboard navigation: High Test your website using only your keyboard in a previsible order. All interactive elements are reachable and usable.
  • Screen-reader: Medium All pages were tested in a screen-reader (VoiceOver, ChromeVox, NVDA or Lynx).
  • Focus style: High If the focus is disabled, it is replaced by visible state in CSS.

⬆ back to top


SEO

  • Google Analytics: High Google Analytics is installed and correctly configured.
  • Headings logic: Medium Heading text helps to understand the content in the current page.
  • sitemap.xml: High A sitemap.xml exists and was submitted to Google Search Console (previously Google Webmaster Tools).
  • robots.txt: High The robots.txt is not blocking webpages.
  • Structured Data: High Pages using structured data are tested and are without errors. Structured data helps crawlers understand the content in the current page.
  • Sitemap HTML: Medium An HTML sitemap is provided and is accessible via a link in the footer of your website.
  • Pagination link tags: Medium Provide rel="prev" and rel="next" to indicate paginated content.
<!-- Example: Pagination link tags for page 2 of a paginated list -->
<link rel="prev" href="https://example.com/?page=1">
<link rel="next" href="https://example.com/?page=3">

bug - url gets messed up with mobile navigation

new to hugo and github commenting. apologies if writing too much or incorrectly.

building a new blog using jane theme. lots of visual tweaking. can view working site https://chad-bennett.github.io/home/

when on mobile navigation, clicking a link in the sidebar adds to url instead of updating it.
for example, when on "categories/" page and select "tags" link it goes to "categories/tags/" instead of "tags/"

only happens on mobile navigation. works completely fine on regular navigation.

How to add new menu like Project

This theme is really beautiful. I love it. But I got some problems.

I'd like to add a Project page:

[[menu.main]]
  name = "Projects"
  weight = 20
  identifier = "projects"
  url = "/projects/"

Also, I create a new folder called projects in content. And put some markdown files in projects.
When I click 'projects' (http://localhost:1313/projects/) in the navigation bar, the page is empty.

Any suggestion? I guess I need to learn more about Hugo.

Add French translation

Thanks a lot for your hard work everyone, I migrated my old django app to hugo super easily thanks to your theme.

However, I was getting a bit confused why the fr prefix was not added before the : when displaying the link of a post in the "summarize" partial template.
I realised the fr.yaml file were missing in the i18n folder.

I'll make a PR as soon as possible to fix this.

build error

D:\diary\mydiary>hugo.exe version
Hugo Static Site Generator v0.38.2 windows/amd64 BuildDate: 2018-04-09T08:17:46Z

Started building sites ...
ERROR 2018/04/12 09:24:34 Error while rendering "home" in "": template: D:\diary\mydiary\themes\hugo-theme-jane\layouts\index.html:11:5: executing "D:\\diary\\mydiary\\themes\\hugo-theme-jane\\layouts\\index.html" at <partial "head.html" ...>: error calling partial: template: theme/partials/head.html:26:116: executing "theme/partials/head.html" at <safeHTML>: wrong number of args for safeHTML: want 1 got 0
ERROR 2018/04/12 09:24:34 Error while rendering "taxonomyTerm" in "": template: D:\diary\mydiary\themes\hugo-theme-jane\layouts\_default\terms.html:11:5: executing "D:\\diary\\mydiary\\themes\\hugo-theme-jane\\layouts\\_default\\terms.html" at <partial "head.html" ...>: error calling partial: template: theme/partials/head.html:26:116: executing "theme/partials/head.html" at <safeHTML>: wrong number of args for safeHTML: want 1 got 0
ERROR 2018/04/12 09:24:34 Error while rendering "404" in "": template: D:\diary\mydiary\themes\hugo-theme-jane\layouts\404.html:11:5: executing "D:\\diary\\mydiary\\themes\\hugo-theme-jane\\layouts\\404.html" at <partial "head.html" ...>: error calling partial: template: theme/partials/head.html:26:116: executing "theme/partials/head.html" at <safeHTML>: wrong number of args for safeHTML: want 1 got 0
Total in 106 ms
Started building sites ...
Total in 51 ms

Create option to use link style pagination rather than the numbered pages

Pagination links were recently changed so that they show numbered pages rather than the original "Previous" and "Next" links. This doesn't work as well when there are a large number of pages. I've attached a screenshot of what it looks like on my blog's home page. That's a lot of page links :). I preferred the old navigation.

Perhaps an option for choosing the original link-only or numbered pagination links could be added.

pagination

Trouble creating a new "section"

This is probably out of scope for a theme question, but I'm stumped trying to create a new section.

I would like small, title-less posts to go in a /micro/ section but so far no combination of changes I've tried have been successful. Could this be due to Jane's use of {{define content}} in templates?

I've tried creating a new layouts/_default/list.html template, a layout in /layouts/micro/list.html etc. but I never end up with more than an empty page showing none of the "micro" posts.

I've tested with a few other themes and those work by just creating content in /content/micro/ as I'd expect.

Sorry for the off-topic question, but I'd love a nudge in the right direction.

Thanks

image preview doesn't work in normal image mode while photoswipe is enable

While I enable directive photoswipe in file config.toml, image preview doesn't work in normal image mode

![This is an image in `static/image` folder.](/image/example.jpg)

But images can be previewed via {{< figure >}} shortcode.

{{</* figure src="/image/example.jpg" title="figure image with title" */>}}

Does theme jane doesn't support image preview in normal image mode any more?

Support {{< series >}} shortcode to generate post list

Usage:

  1. {{< series my-series >}} generate series post list
  2. {{< series tag="my-tag" >}} generate tag post list
  3. {{< series category="my-category" >}} generate category post list

Result example:

<ul>
  <li>series 1 - this is first post</li>
  <li>series 2 - this is second post</li>
  <li>series 3 - this is third post</li>
</ul>

About the first usage {{< series my-series >}} , you need set series via the YAML front-matter of the article. like this:

title: "Some article"
series: ["my-series"] # The series for this article

Error executing 'hugo'

Greetings.
when I execute the command 'hugo' to build the static site I get this error

Building sites … ERROR 2018/03/30 10:07:51 Error while rendering "taxonomyTerm" in "": template: /home/deckon/Documentos/Hugo/blog/themes/jane/layouts/_default/terms.html:42:19: executing "content" at <len $.Site.Taxonomie...>: error calling len: len of untyped nil

bug with changyan comment block

when in mobile mode, part of Changyan comment block overlap with navbar , which hide the "cancel" button of Changyan. Is there a way to fix this?

npm run dev:assets failing due to TypeError

I was trying to build the theme on my dev environment (OS: ArchLinux) but I've got this weird error:

$ npm run dev:assets                                                                                                                                                

> [email protected] dev:assets /home/my_user/projects/jane
> webpack --watch --display='errors-only'


Webpack is watching the files…

(node:23444) UnhandledPromiseRejectionWarning: TypeError: Cannot create property 'message' on string 'Checksum error in glyf'
    at /home/my_user/projects/jane/node_modules/iconfont-webpack-plugin/lib/loader.js:34:19
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:23444) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:23444) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I looked at the "iconfont-webpack-plugin" repo and no issue were reported about this problem, so I am wondering if it's not related to my local installation...

I'll continue to investigate and update this issue if I find anything.

Where is the documentation for all the settings used in the example site?

Hi,

In the example website config: https://github.com/xianmin/hugo-theme-jane/blob/master/exampleSite/config.toml there are quite a few params that I cannot find any documentation on. I am looking at this list of configuration params which is supposedly the complete list: https://gohugo.io/getting-started/configuration/

one example of a param not in the list is [param.gitment], but there seems to be quite a few not in the list. Where do I find the documentation on all available params.

Also, your theme uses gitment which turns issue tracking on github into a comment system. Are you aware of anything like that for butbucket.org? I am hoping to get gohugo working with jane on bitbucket.org.

Thanks!

Does anyone need twitter emoji parser?

For now, if you set enableEmoji = true in your site’s configuration, hugo will parse the emoji like this:

deepinscreenshot_select-area_20180505105358

l find a library: https://github.com/twitter/twemoji

If you use twemoji, your site's emoji could convert unicode to image, like this:

deepinscreenshot_select-area_20180505105328

If anyone like this feature, maybe I can consider adding an option to use it.

Quick Use Hugo-Theme-Jane Error

Issue 1

Quicking start theme jane refer to https://github.com/xianmin/hugo-theme-jane#quick-start, it prompts error info while executing hugo server

Building sites … ERROR 2018/05/09 10:59:42 error processing shortcode "theme/shortcodes/gallery.html" for page "post/image-preview.md": template: theme/shortcodes/gallery.html:12:18: executing "theme/shortcodes/gallery.html" at <readDir (print "/sta...>: error calling readDir: Failed to read Directory /static//image/ with error message open /home/ubuntu/myBlog/static/image: no such file or directory
Total in 556 ms
Error: Error building site: logged 1 error(s)

Line 12 in file myBlog/themes/jane/layouts/shortcodes/gallery.html is

{{- $files := readDir (print "/static/" .) }}

It refers to path ~/myBlog/static/image, but directory ~/myBlog/static/ is empty.

The solution

The souluiton is add the following command before executing hugo server

cp -R themes/jane/static/image/ static/

Issue 2

The example site content file myBlog/content/post/image-preview.md fails to load target image example.jpg. On demo site http://en.xianmin.org/hugo-theme-jane/post/image-preview/, demo image path is

/hugo-theme-jane/image/example.jpg

#line 27
![This is an image in `static/image` folder.](/hugo-theme-jane/image/example.jpg)

The solution

After testing, changing file path to /image/example.jpg will fix the issue.

#line 27
![This is an image in `static/image` folder.](/image/example.jpg)

Image page link

http://localhost:1313/image/example.jpg

Show list of available translations in the Menu

Thanks for @Zebradil ! His pull request #27 add a feature: Show available translations under post title.

screen shot 2018-04-03 at 23 51 23

I think, if a site is Multilingual site, it's best to switch languages somewhere and show available languages.
Maybe in the rightmost of Menu.

This proposal need sub menu #31 support first.

Portuguese translation

Hey guys!
First of all, many thanks for your incredible work.
2nd: I don't know nothing about code, but I love Hugo and Markdown.
3rd: I'm running a multilingual site. And I've achieved this because you made this easier. Spanish is the default language, alongside English and Portuguese. I've made some changes on your Spanish i18n file, and developed the Portuguese one.
I've attached the files on txt, because is the shortest way I've found to do this, so far.
es.txt
pt.txt
Best regards!
See you soon!
And, again, many thanks!
Ricardo

add ChangeLog

Currently, the version of this project is v1.2.0.
And this project does not have an change log yet.
The next step, I will create it.

Pagination doesn't have default value

Hello!

$subj:

Building sites … ERROR 2018/03/23 19:25:15 Error while rendering "taxonomy" in "": template: /srv/hugo/themes/hugo-theme-jane/layouts/_default/taxonomy.html:4:17: executing "content" at <.Paginate>: error calling Paginate: 'pager size' must be a positive integer

I think, paginate could have some default if it's not defined in site configuration, as well as params.archive-paginate. Examples of same thing done: cboettig/hugo-now-ui#9, yursan9/manis-hugo-theme#4 (you might want to add defaults somewhere else as well).

By the way, your theme is amazing. If there is any way I could help you, please tell me.

Header content width may need adjusting

Hi,
I love the changes you've made to "even", thanks!

This is pretty minor, but thought I'd point it out.

I've noticed that at certain browser widths, the header content runs off the side of the window. (See attached). The main content is also offset to the right. This occurs on both Firefox and Safari (Mac). I reproduced on your demo site, so I don't think it's caused by anything specific to my environment.

blog-screenshot

"zh-CN" is an invalid value for defaultContentLanguage

In readme.md, the config value of defaultContentLanguage is "zh-CN". When run:

hugo server

It will produce an error:

Error: site config value "zh-CN" for defaultContentLanguage does not match any language definition

If we change the value to "zh-cn", it will be OK. Maybe we should fix it in readme.md.

hoek node module vulnerability (CVE-2018-3728) defined in jane/package-lock.json

https://nvd.nist.gov/vuln/detail/CVE-2018-3728

hoek node module before 4.2.0 and 5.0.x before 5.0.3 suffers from a Modification of Assumed-Immutable Data (MAID) vulnerability via 'merge' and 'applyToDefaults' functions, which allows a malicious user to modify the prototype of "Object" via proto, causing the addition or modification of an existing property that will exist on all objects.

file jane/package-lock.json

    "hoek": {
      "version": "2.16.3",
      "resolved": "http://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz",
      "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
      "dev": true
    }

2018-05-02_12-37-17
2018-05-02_12-39-38

RSS errors

Hi,
I have two errors when I run hugo:

  • I have index.xml as output in my public folder, but if I open http://localhost:1313/index.xml, I have 404 page not found (I do not have the 404 jane page);
  • the RSS icon is associated to a wrong URL

immagine

How to solve these?

I'm using Hugo Static Site Generator v0.42.1 linux/amd64.

Thank you very much

TAG页面的链接

目前TAG列表页面中,针对每个TAG生成的链接是类似

<a href="/tags/TAG_NAME">

但实际上这个URL路径对应的是一个目录。建议修改为

<a href="/tags/TAG_NAME/">

加一个路径分割的斜杠。

如果不加这个会有什么问题呢?以Nginx为例,当使用了端口转发时,如果Nginx监听的端口和用户访问的端口不一致,就会出现问题。

具体来说,Nginx在对URL对象是目录、且URL并不是斜杠结尾的时候,会直接返回301重定向。重定向的地址中,host是客户端访问的HOST,但是端口就是Nginx监听的端口,而不是客户端访问的PORT

比如说:Nginx监听在8081端口,外部采用端口转发将8082转发到Nginx的8081端口。

那么客户端访问

http://test.com:8082/tag/myname

这个时候Nginx会返回301重定向,重定向的目的地是:

http://test.com:8081/tag/myname/

访问就失败了。

这个当然Nginx也有一部分责任(301地址端口不正确),模板也应该有一部分责任(对路径的访问应该加上斜杠,而不是让web服务器去猜)。

当然管理员也可以调整一下nginx的配置解决这个问题。不过nginx的默认行为就是如此。建议这里修改一下,在路径上加上一个斜杠。

Allow for custom content in head

I use non-Google analytics (Matomo) and I also have a bunch of IndieWeb items (webmention endpoint, etc.) that belong at the end of the <head> element. Is there a way to include these without editing head.html itself? If not, can there be?

Something strange about taxonomies

Hello, I'm new to hugo. I really love this theme. However, when I am deploying my blog with this theme, I found something strange about taxonomies.

If I use this command hugo new about.md, this will setup about.md at PathtoMyBlog\content\about.md . Then I add a categories: ["aboutme"] label to this markdown file. When running hugo server -D, the categories of the site it generates seems to have a strange behavior.
That is, If I open http://localhost:1313/categories/ , it does show the category "about" and http://localhost:1313/about/ at this page. But however, when I open http://localhost:1313/categories/aboutme/, it shows nothing and it does not show 404 page.

So it is really different between these 2 pages. I know it is strange to set a category label for an about-me page but I am curious about which page shows the right thing.

BTW, I want to set this lable because I find that when I use cell phone, the drop-down menu at the top of the page will lose its children menu. So I want to add it into a taxonomy page but will not be shown in the category of tag pages. I have tried to add a custom taxonomy hidecategories that will not be shown at the top menu just like what the document of hugo says, but at this http://localhost:1313/hidecategories/ page, nothing will be shown. Could you tell me a way to deal with this problem? Maybe I should modify the code in taxonomy.html?

Notice: ♻️ Migration from highlight.js to Chroma

A big thank you to @Zebradil Pull Request #43. Now the theme code highlighting migrate from highlight.js to Chroma.

If you use the old hugo-theme-jane version, there is one thing to note. To enable new code highlighting, you need add some config in your site config.toml :

# Highlight options. See https://gohugo.io/content-management/syntax-highlighting/
pygmentsCodeFences = true # Enable syntax highlighting with GitHub flavoured code fences
pygmentsUseClasses = true # Use CSS classes to format highlighted code
pygmentsCodefencesGuessSyntax = true
pygmentsOptions = "linenos=table"

related commit: e683155

related issues: Why chose client-side code highlighting over builtin server-side func? · Issue #28

related links:

victor-hugo and jane

Hi,
first of all thank you for this beautiful theme.

I'm trying to develop a hugo website in netlify using victor-hugo boilerplate and Jane as theme.

When I work locally, I have no problem, when I open the build webiste in netlify, I have no dist/jane.min.css file in remote website.

Probably I must copy and paste some file from victor-hugo/site/themes/hugo-theme-jane/src to victor-hugo/src, but I do not know wich. Could you give me some help?

Thank you

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.