Giter Club home page Giter Club logo

hugo-bootstrap-premium's Introduction

Hugo-bootstrap-premium

A theme with multilingual themes support, bootstrap, bootswatch(optional), mathjax, font-awesome, highlightjs, popover opt-in form (optional), MailMunch (optional) and SumoMe (optional).

NOTE: This theme is copied from Hyde-Y. Not everything is ported to bootstrap. Feel free to make changes and open pull requests.

Forked from Hyde-Y

Screenshots

preview

Hugo-bootstrap-premium theme used with showRightSidebar = true and [params.theme] name = "paper" .

preview

Hugo-bootstrap-premium theme with default settings.

Installation with Appernetic Static Site Generator as a Service

  1. Select "Themes".
  2. At the bottom of the Themes page paste the git link from GitHub (see image fig 1).
  3. If you want to update your config settings file click the "Copy theme config" button in the theme modal popup (WARNING! The current settings file will be overwritten), otherwise follow step 4.
  4. In Settings change the line under [params.popover] enablepopover = false if you don't use the popover.
  5. To configure menues and footer you need access to the data folder, read more in section "Access data folders".
  6. Click the button: Preview or Publish.
  7. Wait 10 min or clear your local browser cache to see changes at GitHub. In preview content is updated imediatley but CSS changes need a cache clear to be visible.

preview

Figure 1. Copy git link from GitHub.

Access data folders

In Appernetic.io you only have access to the Content folder and the config settings file.

To access the data folder you have two options:

Option 1

  1. First fork this theme repo.
  2. View your forked repo at GitHub in your browser, find the data folder and add a Menu.toml file.
  3. Clone your forked repo in Appernetic.io

Option 2

  1. Fork this repo.
  2. Use Git or GitHub Desktop on your local computer to clone your forked theme repo.
  3. Create a Menu.toml file in your data folder with you favorite editor.
  4. Sync with your GitHub theme repo.

Installation with Hugo

$ cd your_site_repo/
$ mkdir themes
$ cd themes
$ git clone https://github.com/appernetic/hugo-bootstrap-premium

See the official Hugo themes documentation for more info.

Usage

This theme expects a relatively standard Hugo blog/personal site layout:

.
└── content
    ├── post
    |   ├── post1.md
    |   └── post2.sv.md // format for language specific files.
    ├── code
    |   ├── project1.md
    |   ├── project2.md
    ├── exempel.sv.md  // format for language specific files.
    └── other_page.md

Just run hugo --theme=hugo-bootstrap-premium to generate your site!

Configuration

Hugo

An example of what your site's config.toml could look like. All theme-specific parameters are under [params] and standard Hugo parameters are used where possible.

# hostname (and path) to the root eg. http://spf13.com/
baseurl = "/"

DefaultContentLanguage = "en"

# If you want all of the languages to be put below their respective language code,
# enable DefaultContentLanguageInSubdir = true. Without enabling it english content
# will be in the root and other languages in their respective subfolder such as /sv/.
# See [Languages] settings at the end of this file.

# Language
languageCode = "en"

# SES friendly url:s
canonifyurls = true

# Metadata format
# "yaml", "toml", "json"
metaDataFormat = "toml"

# Theme to use (located in /themes/THEMENAME/)
theme = "hugo-bootstrap-premium"

# Pagination
paginate = 10
paginatePath = "page"

# Enable Disqus integration
disqusShortname = "your_disqus_shortname"

[permalinks]
    post = "/:year/:month/:day/:filename/"
    code = "/:filename/"

[taxonomies]
    tag = "tags"
    topic = "topics"

[author]
    name = "yourname"
    email = "[email protected]"

#
# All parameters below here are optional and can be mixed and matched.
#

[params.popover]
  # This is a highly configurable popover form.
  enablepopover = false #enable or disable popover: true/false.
  posturl = "https://zapier.com/hooks/..."
  headerimage = "//placehold.it/1000x600"
  expirecookie = 5 #show it again after number of days to visitor that has not subscribed.
  cookiename = "mycookie1" #give the cookie a unique name variable (avoid spaces and strange characters).
  signupheader = "Join Our Newsletter"
  showmodaltimeout = 10000 #show popover modal after time interval in milliseconds.
  mouseleave = true #show popover when mouse leaves window: true/false.
  modalsize = "" #lg or sm. Empty is md. If phone is detected lg is used.
  imagedescription = "Placeholder image for this popover modal optin form"
  signuptext = "Signup today for free and be the first to get notified on new updates."
  inputplaceholder = "Enter your email"
  submitbutton = "Subscribe"
  successmessage = "Thanks for your subscription!"
  errormessage = "Submitting form failed!"
  optin = true #opt-in: true/false

[params]
  # bootswatch theme name, select one: cerulean, cosmo, cyborg, darkly,
  # default, flatly, journal,  lumen, paper, readable, sandstone, simplex,
  # slate, spacelab, superhero, united, yeti.

  bootswatchtheme = "paper"


    # menu for changing language. This changes languages with js and stores the choice with the help
    # of JavaScript in a Cookie. Then the path is rewritten with pathnamereplace.js. The name of the
    # md files needs to have the same name for each language abbreviation to work correctly. Example:
    # showcase.en.md and showcase.sv.md. It only works if DefaultContentLanguageInSubdir = true
    switchlang = false

    # You can use markdown here.
    BrandImage = "http://blog.appernetic.io/images/apperneticlogo.png" #top header brand image.
    brand = "Appernetic blog" # brand image alt text.
    topline = "few words about your site"
    footline = "code with <i class='fa fa-heart'></i>"

    # Show a sidebar menu
    showRightSidebar = true

    # Text for the top menu link, which goes the root URL for the site.
    # Default (if omitted) is "Home".
    home = "home"

    mailmunchid = "" # Mailmunch site id
    sumomeid = "" # Sumome id

    # Select a syntax highight.
    # Check the static/css/highlight directory for options.
    highlight = "default"

    # Google Analytics.
    googleAnalytics = "Your Google Analytics tracking code"

    # Sidebar social links.
    github = "enten/hugo-boilerplate" # Your Github profile ID
    bitbucket = "" # Your Bitbucket profile ID
    linkedin = "" # Your LinkedIn profile ID (from public URL)
    googleplus = "" # Your Google+ profile ID
    facebook = "" # Your Facebook profile ID
    twitter = "" # Your Twitter profile ID
    youtube = ""  # Your Youtube channel ID
    flattr = ""  # populate with your flattr uid

[blackfriday]
    angledQuotes = true
    fractions = false
    hrefTargetBlank = false
    latexDashes = true
    plainIdAnchors = true
    extensions = []
    extensionmask = []

    # Menus
    # If you want active menu items highlighted for internal pages don't add them here, they need to be added in each files front matter.
    # like this:
    #[menu]
    #     [menu.main]
    #        name = "Showcase"
    #        weight = 3
    #        identifier = "showcase"
    # i18n menus. A menu will be added for each language to the right in the top menu. This menu will switch to the selected language. Remember to add the corresponding language in pathnamereplace.js.
    #[[Languages.sv.menu.switchlang]]
    #  name = "English"
    #  identifier = ""
    #  weight = 4
    #  url = "en"

    [Languages]
    [Languages.en]
    weight = 1
    copyright = "(c) 2016 Copyright my blog"
    title = "My blog" # Site title
    [[Languages.en.menu.main]]
    name = "Blog"
    pre = ""
    weight = 2
    identifier = "post"
    url = "/post/"

    [[Languages.en.menu.main]]
    name = "About"
    weight = 1
    identifier = ""
    url = "https://appernetic.io/app/#/about"
    pre = "<i class='fa fa-road'></i>"

    [[Languages.en.menu.main]]
    name = "Dashboard"
    identifier = ""
    weight = 3
    url = "https://appernetic.io/app/"

    [[Languages.en.menu.footer]] # add  links to the bottom right corner.
    name = "Disclaimer"
    pre = "<i>&middot;</i>"
    identifier = "disclaimer"
    weight = 1
    url = "/disclaimer/"

    [[Languages.en.menu.footer]]
    name = "Terms"
    identifier = "terms"
    weight = 2
    url = "/terms/"

    [Languages.sv]
    weight = 2
    title = "Min blog" # Site title
    copyright = "(c) 2016 Alla rättigheter"

    [[Languages.sv.menu.main]]
    name = "Bloggen"
    pre = ""
    weight = 2
    identifier = "post"
    url = "/sv/post/"

    [[Languages.sv.menu.footer]] # add  links to the bottom right corner.
    name = "Ansvarsfriskrivning"
    pre = "<i>&middot;</i>"
    identifier = "friskrivning"
    weight = 1
    url = "/sv/friskrivning/"

    [[Languages.sv.menu.footer]]
    name = "Vilkor"
    identifier = "vilkor"
    weight = 2
    url = "/sv/vilkor/"


    [Languages.sv.taxonomies]
    tag = "Taggar"
    topic = "Ämne"


Menu

Add menu items in config.toml to configure the top menu navigation links. Example below.

[[menu.main]]
name = "Blog"
pre = ""
weight = 1
identifier = "post"
url = "/post/"

# Example of link in Swedish
[Languages.sv]
[[Languages.sv.menu.main]]
name = "Blogg"
pre = ""
weight = 2
identifier = "post"
url = "/post/"

Footer menu

Add footer menu items in config.toml to configure the footer navigation links. Example below.

[Languages.en]
[[Languages.en.menu.footer]] # add  links to the bottom right corner.
name = "Disclaimer"
pre = "<i>&middot;</i>"
identifier = "disclaimer"
weight = 1
url = "/disclaimer/"

[Languages.sv]
[[Languages.sv.menu.footer]] # add  links to the bottom right corner.
name = "Ansvarsfriskrivning"
pre = "<i>&middot;</i>"
identifier = "friskrivning"
weight = 1
url = "/sv/friskrivning/"

[[Languages.sv.menu.footer]]
name = "Vilkor"
identifier = "vilkor"
weight = 2
url = "/sv/vilkor/"

Multilingual Themes support

Implemented is multilingual support based on the article multilingual themes support.

i18n bundles is located in themes/hugo-bootstrap-premium/i18n/

I have created en.yaml and sv.yaml bundles.

Redirect for languages

A visitor can manually change language if you enable switchlang = true in the [params] section in the config file and also enable DefaultContentLanguageInSubdir = true. Then add a menu section for each language like this in the config file:

[[Languages.en.menu.switchlang]]
name = "Svenska"
identifier = ""
weight = 4
url = "sv"

[[Languages.sv.menu.switchlang]]
  name = "English"
  identifier = ""
  weight = 4
  url = "en"

This changes languages with js and stores the choice with the help of JavaScript in a Cookie. Then the path is rewritten with pathnamereplace.js. The md files needs to have the same name for each language abbreviation to work correctly. Example: showcase.en.md and showcase.sv.md.

If the visitor switch language when on a blog post we redirect to respective /post/ sub dir.

Popover e-mail subscription opt-in form

The popover e-mail opt-in form is a bootstrap modal (also commonly referred to as a light box). You can configure it in the config.toml settings file. It detects mobile devices and sets a cookie. It will use a large modal and large buttons for mobile devices. You can enable/disable it, configure delay, activate popover if mouse leave window, number of days to not show it to visitors that has not subscribed, show an image etc. It is perfect to use it with services such as Zapier in combination with Mailchimp. The form will POST the variables: Email as a string and Optin as a boolean to the URL of your choice. The variables is case sensitive.

Remember to change the cookie name in settings to a unique name if you use the popover, there is a very small possibility that a visitor from another website has a cookie set with the same name you have set.

The popover is built with:

  • Angular.js 1.4.9
  • angular-modal-service v0.6.8
  • isMobile.js v0.3.9
  • angular-storage

In static/js/popover/ you will find a minified and a un-minified version of popover.js.

Workarounds to bugs that are not solved

  • I couldn't use uibModalInstance. Somehow dots is escaped in variables that are between script tags in Hugo compiled html files. So it was not possible to pass url's from the config file to the angular app. Possible not tested workaround for uib modal is to use: {{ .Site.Params.popover.posturl | safeJS }}
  • I had to use angular-modal-service and couldn't get animation to work. So therefore no animations!
  • I could only get $location.absLangURL() to work in Angular so I had to do my own function to make the modal to work in the preview (in Appernetic).

Bugs

  • If the POST url is wrong you will not get the error message in the popover. Instead you get a success message or only an error in the browser console such as: XMLHttpRequest cannot load https://zapier.com/hooks/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://preview.appernetic.io' is therefore not allowed access. The response had HTTP status code 404.
  • And yes, it works on GitHub Pages if you have the correct Zapier hook!

Sumome and MailMunch forms

You can use the theme with both SumoMe and MailMunch by adding the respective id's. If you use MailMunch it is easy to have it send your subscribers to MailChimp.

MathJax support

Thanks to dselivanov, this theme now has support for MathJax.

With this setup, everything is in place for a natural usage of MathJax on pages generated using Hugo. In order to include inline mathematics, just put LaTeX code in between `$ TeX Code $` or `\( TeX Code \)` example: `\( \left [ – \frac{\hbar^2}{2 m} \frac{\partial^2}{\partial x^2} + V \right ] \Psi = i \hbar \frac{\partial}{\partial t} \Psi \)`. To include display style mathematics, just put LaTeX code in between <div>$$TeX Code$$</div>. All the math will be properly typeset and displayed within your Hugo generated web page! You might have to tweak the CSS to have it adopted to your style.

Read more about the MathJax implementation.

Tips

  • If you've added theme = "hugo-bootstrap-premium" to your config.toml, you don't need to keep using the --theme=hugo-bootstrap-premium flag!
  • Although all of the syntax highlight CSS files under the theme's static/css/highlight are bundled with the site, only the one you choose will be included in the page and delivered to the browser.
  • Change the favicon by providing your own as static/favicon.png (and static/touch-icon-144-precomposed.png for Apple devices) in your site directory.
  • Hugo makes it easy to override theme layout and behaviour, read about it here.
  • Pagination is set to 10 items by default, change it by updating paginate = 10 in your config.toml.

Changes and enhancements by Appernetic from the Murali Rath theme version

  • Added multilingual themes support.
  • Moved footer menu data to the config file.
  • Added menu support based on Hugo conventions.
  • Added popover e-mail subscription opt-in form.
  • Added Sumome and MailMunch forms.
  • Added more space between top menu and content.
  • Removed class="clearfix" in sidebar links.
  • Added instructions in the README for use with Appernetic.io.
  • Added exampleSite folder.
  • Added correct image links to images in the README file.

Known bugs

  • No known bugs.

Changes and enhancements by Murali Rath from the original theme

  • Modified to work with bootstrap and bootswatch
  • ...many other small layout tweaks!

Attribution

Obviously largely a port of the awesome Hyde-Y theme.

Questions, ideas, bugs, pull requests?

All feedback is welcome! Head over to the issue tracker.

License

Open sourced under the MIT license.

Sponsors

List of all the great people and organisations that help us fund this open source work.

If you want to help support, check out my Patreon @ https://www.patreon.com/appernetic

hugo-bootstrap-premium's People

Contributors

artem-sidorenko avatar bep avatar dselivanov avatar gtz42 avatar kd7uiy avatar molnfront avatar raghur avatar sofixa 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

hugo-bootstrap-premium's Issues

The Theme's Demo on the Hugo Website is missing its Hugo Pipes Assets

Hi @appernetic

On the Hugo Themes website the demo of the Hugo Bootstrap Premium Theme has its Hugo Pipes Assets missing.

For a workaround please see the Common Permalink Issues in the updated README of the Hugo Themes repository.

If you are using Hugo Pipes to publish your theme's resources due to bug gohugoio/hugo#5226 you will need to temporarily use .RelPermalink in the templates, so that these assets are served correctly on the website.

For example change line 29 of /layouts/partials/base/imports.html/ to:
<link rel="stylesheet" href="{{ $css.RelPermalink }}" integrity="{{ $css.Data.Integrity }}">

Please do this change in the theme's templates and let me know.

Thanks!

CC / @digitalcraftsman

"resources" not defined ERROR

I got this error when using the theme with the exampleSite config file:

Building sites … ERROR 2018/08/02 11:22:12 Failed to add template "theme/partials/base/imports.html" in path "/home/ubuntu/newsrv/repo/github_17408926/appernetic-hugo-project/themes/hugo-bootstrap-premium/layouts/partials/base/imports.html": template: theme/partials/base/imports.html:7: function "resources" not defined ERROR 2018/08/02 11:22:12 Failed to add template "theme/partials/base/scripts.html" in path "/home/ubuntu/newsrv/repo/github_17408926/appernetic-hugo-project/themes/hugo-bootstrap-premium/layouts/partials/base/scripts.html": template: theme/partials/base/scripts.html:10: function "resources" not defined ERROR 2018/08/02 11:22:12 theme/partials/base/imports.html : template: theme/partials/base/imports.html:7: function "resources" not defined ERROR 2018/08/02 11:22:12 theme/partials/base/scripts.html : template: theme/partials/base/scripts.html:10: function "resources" not defined ERROR 2018/08/02 11:22:12 Error while rendering "page" in "post/": template: theme/_default/single.html:1:3: executing "theme/_default/single.html" at : error calling partial: template: theme/partials/head.html:10:5: executing "theme/partials/head.html" at : error calling partial: template: "theme/partials/base/imports.html" is an incomplete or empty template

How can I solve this?

inverse navbar?

Is there a setting to use the inverse navbar options for each theme? Or do we need to modify the header files directly?

Different date formats for each language

Hello.
I play with language settings but I don't find a simple solution to change the date format per language. E.g. in German it would be "2. Jan 2006" while "2 Jan, 2006" in English.

I can change the format in data/Formats.yaml.
I saw that this is then used in themes/hugo-bootstrap-premium/layouts/partials/modules/page/date.html and in themes/hugo-bootstrap-premium/layouts/partials/modules/site/lastupdate.html. I don't know how to neatly make it language adaptive.
Do you have a solution for this?

Great theme and documentation, thanks for sharing.

Sidebar Not Visible

Unable to see sidebar on the latest code in master.

Config file snippet:

[params]
    # You can use markdown here.
    BrandImage = "http://blog.appernetic.io/images/apperneticlogo.png" #top header brand image.
    Brand = "Enterprise Integration Blog" # brand image alt text.
    topline = "few words about your site"
    footline = "code with <i class='fa fa-heart'></i>"

    # Show a sidebar menu
    showRightSidebar = true

posible ads?

Sorry for this request..

is posible to add adsense on the theme site.

this theme is awesome, i like it.

thanks..

"Back to top" not working.

Hi guys,

"Back to top" feature not working for me. I'm not sure if it is general issue or not working for me only.

Steps to reproduce:
I'm using Firefox 38.8.0

  1. Go to https://blog.appernetic.io/
  2. Scroll down, to the bottom of page.
  3. Click "back to top" link.

Cheers.

Pagination

It seems that if the number of posts exceeds the pagination limit, the effect of selecting the next page (that is, #2) redirects to "https://page/2/"

There are errors but it works

Hi @appernetic ,

There are some errors when starting the example site, but it works well.

git clone https://github.com/appernetic/hugo-bootstrap-premium
cd hugo-bootstrap-premium/exampleSite
mkdir themes; cd themes;
ln -s ../../../hugo-bootstrap-premium
cd ..

hugo server
Started building sites ...
ERROR 2017/05/12 17:30:03 error processing shortcode _internal/shortcodes/relref.html 
 ERR: template: _internal/shortcodes/relref.html:1:76: executing "_internal/shortcodes/relref.html" at <relref .Page (.Get 0...>: error calling relref: No page found with path or logical name "tutorials/installing-on-windows.md".

ERROR 2017/05/12 17:30:03 error processing shortcode _internal/shortcodes/relref.html 
 ERR: template: _internal/shortcodes/relref.html:1:76: executing "_internal/shortcodes/relref.html" at <relref .Page (.Get 0...>: error calling relref: No page found with path or logical name "tutorials/installing-on-mac.md".

Wei

Changed behavior of absURL in Hugo v 0.17

<link rel="stylesheet" href="{{ "/css/highlight/" | absURL }}default.css"> does not work any longer.

To have it work we need to remove the first / like this:

<link rel="stylesheet" href="{{ "css/highlight/" | absURL }}default.css">

Bundling of fonts, js, css

Hello,

Thanks for a great hugo theme! I migrate my personal blog from octopress to hugo and use your theme there.

Within this theme are some components already bundled (e.g fontawesome), but some not (e.g. angular.js, google fonts). For my sites I usually try to avoid any not needed requests to other sites (performance, stability, privacy..).

So the question, are you open to have other things here bundled as well? If yes, I could provide some PRs

Error when building site, and also social links?

Hi,
This theme is great. But for some reason, when I build the site, I get the following warning:
WARNING: calling IsSet with unsupported type "ptr" (*hugolib.MenuEntry) will always return false.

This happens whether I use it on my site or with the ExampleSite in your package. I am using the latest Hugo v0.26 on Ubuntu 16.04, and this is the only theme giving me this error.

Also, is there supposed to be social links showing up on the right sidebar? I have the sidebar enabled and many of the social links (like Facebook and Github) having an ID number (and commented out the rest), but I cannot get them to show up upon building the site.

Thanks!

static home page?

Is it possible to use this theme with a static home page as the landing page rather than the list of blog posts?

Language menu switcher

I am trying this out and it looks very good with mulilanguage support, but I can't get the lanuage switcher to work. I followed the instructions and made the change in the pathnamereplace.js file. But with that enabled my browser page does these refreshes and flickers constantly. But I do notice in the js file it says this has been tested with Chrome 36 etc, This is pretty old. Is this still working for others?

Also I don't see any discus commenting available, although that's enabled in the conf.

footnotes and toc links not working

For some reason footnotes and toc links don't work properly. For example clicking on footnote one in a post should take me to http://myblog/2018/08/my-first-post/#fn:1 but instead goes to http://myblog/2018/08/my-first-post/#!#fn:1. Note the extra #!. Something similar happens with toc links on pages where a toc is used. Any idea why that #! is being pre-pended?

Error when bulding with Hugo 0.48

Building my site using hugo-bootstrap-premiums works fine with Hugo 0.47, but with Hugo 0.48 I get the following error:

Error while rendering "taxonomy" in "": template: _default/list.html:7:31: executing "_default/list.html" at <.Paginator.Pages>: undefined variable: $index

Any ideas why that might be?

customCSS no longer works

using a customCSS that lives in /static/css no longer works.
The issue is that the minifier is looking for the file in the /themes/... folder and not the project static folder:

Error while rendering "home" in "": template: index.html:1:3: executing "index.html" at <partial "head" .>: 

error calling partial: template: partials/head.html:10:5: executing "partials/head.html" at <partial "base/import...>: 

error calling partial: template: partials/base/imports.html:55:44: executing "partials/base/imports.html" at <resources.Get>: 

error calling Get: stat /home/data/<myproject>/themes/hugo-bootstrap-premium/assets/css/mycustom.css: no such file or directory

The offending code is:

{{ range .Site.Params.customCSS }}
    {{ $.Scratch.Add "css" (slice (resources.Get .)) }}
{{ end }}

Since this commit:

c8e6075#diff-6494f455c8ec6e853adbc3b0c9bdb7a8

Cannot build on hugo v0.34 (Arch Linux)

I'm not sure if you will be able to help with this. I'm using your theme on my blog, which I love. It was working until October 2017. But when I tried to update it this week I got the errors at the end of this message. The XML files (like index.xml) would show the updates, but new HTML files were not getting created.

I think I might not have the multi language configuration disabled properly, but it was working back in October.

I'm running Arch, and after downgrading hugo to 0.30 it worked. Any ideas?

Site files - https://github.com/victorbrca/blog_hug
Public - https://github.com/victorbrca/blog

Any help, link to documentation if very welcomed.

$ hugo -vv
INFO 2018/01/26 18:20:02 Using config file: /home/victor/Git/sites/blog_hugo/config.toml
Building sites … INFO 2018/01/26 18:20:02 syncing static files to /home/victor/Git/sites/blog_hugo/public/
WARN 2018/01/26 18:20:02 No translation bundle found for default language "en"
WARN 2018/01/26 18:20:02 Translation func for language en not found, use default.
WARN 2018/01/26 18:20:02 i18n not initialized, check that you have language file (in i18n) that matches the site language or the default language.
INFO 2018/01/26 18:20:02 found taxonomies: map[string]string{"tag":"tags", "topic":"topics"}
WARN 2018/01/26 18:20:02 [en] Unable to locate layout for "page": [post/single.en.html.html theme/post/single.en.html.html post/single.html.html theme/post/single.html.html post/single.en.html theme/post/single.en.html post/single.html theme/post/single.html _default/single.en.html.html theme/_default/single.en.html.html _default/single.html.html theme/_default/single.html.html _default/single.en.html theme/_default/single.en.html _default/single.html theme/_default/single.html]
WARN 2018/01/26 18:20:02 [en] Unable to locate layout for "page": [page/single.en.html.html theme/page/single.en.html.html page/single.html.html theme/page/single.html.html page/single.en.html theme/page/single.en.html page/single.html theme/page/single.html _default/single.en.html.html theme/_default/single.en.html.html _default/single.html.html theme/_default/single.html.html _default/single.en.html theme/_default/single.en.html _default/single.html theme/_default/single.html]
WARN 2018/01/26 18:20:02 [en] Unable to locate layout for "taxonomy": [tags/tag.en.html.html theme/tags/tag.en.html.html tags/taxonomy.en.html.html theme/tags/taxonomy.en.html.html tags/list.en.html.html theme/tags/list.en.html.html tags/tag.html.html theme/tags/tag.html.html tags/taxonomy.html.html theme/tags/taxonomy.html.html tags/list.html.html theme/tags/list.html.html tags/tag.en.html theme/tags/tag.en.html tags/taxonomy.en.html theme/tags/taxonomy.en.html tags/list.en.html theme/tags/list.en.html tags/tag.html theme/tags/tag.html tags/taxonomy.html theme/tags/taxonomy.html tags/list.html theme/tags/list.html taxonomy/tag.en.html.html theme/taxonomy/tag.en.html.html taxonomy/taxonomy.en.html.html theme/taxonomy/taxonomy.en.html.html taxonomy/list.en.html.html theme/taxonomy/list.en.html.html taxonomy/tag.html.html theme/taxonomy/tag.html.html taxonomy/taxonomy.html.html theme/taxonomy/taxonomy.html.html taxonomy/list.html.html theme/taxonomy/list.html.html taxonomy/tag.en.html theme/taxonomy/tag.en.html taxonomy/taxonomy.en.html theme/taxonomy/taxonomy.en.html taxonomy/list.en.html theme/taxonomy/list.en.html taxonomy/tag.html theme/taxonomy/tag.html taxonomy/taxonomy.html theme/taxonomy/taxonomy.html taxonomy/list.html theme/taxonomy/list.html tag/tag.en.html.html theme/tag/tag.en.html.html tag/taxonomy.en.html.html theme/tag/taxonomy.en.html.html tag/list.en.html.html theme/tag/list.en.html.html tag/tag.html.html theme/tag/tag.html.html tag/taxonomy.html.html theme/tag/taxonomy.html.html tag/list.html.html theme/tag/list.html.html tag/tag.en.html theme/tag/tag.en.html tag/taxonomy.en.html theme/tag/taxonomy.en.html tag/list.en.html theme/tag/list.en.html tag/tag.html theme/tag/tag.html tag/taxonomy.html theme/tag/taxonomy.html tag/list.html theme/tag/list.html _default/tag.en.html.html theme/_default/tag.en.html.html _default/taxonomy.en.html.html theme/_default/taxonomy.en.html.html _default/list.en.html.html theme/_default/list.en.html.html _default/tag.html.html theme/_default/tag.html.html _default/taxonomy.html.html theme/_default/taxonomy.html.html _default/list.html.html theme/_default/list.html.html _default/tag.en.html theme/_default/tag.en.html _default/taxonomy.en.html theme/_default/taxonomy.en.html _default/list.en.html theme/_default/list.en.html _default/tag.html theme/_default/tag.html _default/taxonomy.html theme/_default/taxonomy.html _default/list.html theme/_default/list.html]
WARN 2018/01/26 18:20:02 [en] Unable to locate layout for "taxonomyTerm": [topics/topic.terms.en.html.html theme/topics/topic.terms.en.html.html topics/terms.en.html.html theme/topics/terms.en.html.html topics/list.en.html.html theme/topics/list.en.html.html topics/topic.terms.html.html theme/topics/topic.terms.html.html topics/terms.html.html theme/topics/terms.html.html topics/list.html.html theme/topics/list.html.html topics/topic.terms.en.html theme/topics/topic.terms.en.html topics/terms.en.html theme/topics/terms.en.html topics/list.en.html theme/topics/list.en.html topics/topic.terms.html theme/topics/topic.terms.html topics/terms.html theme/topics/terms.html topics/list.html theme/topics/list.html taxonomy/topic.terms.en.html.html theme/taxonomy/topic.terms.en.html.html taxonomy/terms.en.html.html theme/taxonomy/terms.en.html.html taxonomy/list.en.html.html theme/taxonomy/list.en.html.html taxonomy/topic.terms.html.html theme/taxonomy/topic.terms.html.html taxonomy/terms.html.html theme/taxonomy/terms.html.html taxonomy/list.html.html theme/taxonomy/list.html.html taxonomy/topic.terms.en.html theme/taxonomy/topic.terms.en.html taxonomy/terms.en.html theme/taxonomy/terms.en.html taxonomy/list.en.html theme/taxonomy/list.en.html taxonomy/topic.terms.html theme/taxonomy/topic.terms.html taxonomy/terms.html theme/taxonomy/terms.html taxonomy/list.html theme/taxonomy/list.html topic/topic.terms.en.html.html theme/topic/topic.terms.en.html.html topic/terms.en.html.html theme/topic/terms.en.html.html topic/list.en.html.html theme/topic/list.en.html.html topic/topic.terms.html.html theme/topic/topic.terms.html.html topic/terms.html.html theme/topic/terms.html.html topic/list.html.html theme/topic/list.html.html topic/topic.terms.en.html theme/topic/topic.terms.en.html topic/terms.en.html theme/topic/terms.en.html topic/list.en.html theme/topic/list.en.html topic/topic.terms.html theme/topic/topic.terms.html topic/terms.html theme/topic/terms.html topic/list.html theme/topic/list.html _default/topic.terms.en.html.html theme/_default/topic.terms.en.html.html _default/terms.en.html.html theme/_default/terms.en.html.html _default/list.en.html.html theme/_default/list.en.html.html _default/topic.terms.html.html theme/_default/topic.terms.html.html _default/terms.html.html theme/_default/terms.html.html _default/list.html.html theme/_default/list.html.html _default/topic.terms.en.html theme/_default/topic.terms.en.html _default/terms.en.html theme/_default/terms.en.html _default/list.en.html theme/_default/list.en.html _default/topic.terms.html theme/_default/topic.terms.html _default/terms.html theme/_default/terms.html _default/list.html theme/_default/list.html]
WARN 2018/01/26 18:20:02 [en] Unable to locate layout for "section": [post/post.en.html.html theme/post/post.en.html.html post/section.en.html.html theme/post/section.en.html.html post/list.en.html.html theme/post/list.en.html.html post/post.html.html theme/post/post.html.html post/section.html.html theme/post/section.html.html post/list.html.html theme/post/list.html.html post/post.en.html theme/post/post.en.html post/section.en.html theme/post/section.en.html post/list.en.html theme/post/list.en.html post/post.html theme/post/post.html post/section.html theme/post/section.html post/list.html theme/post/list.html post/post.en.html.html theme/post/post.en.html.html post/section.en.html.html theme/post/section.en.html.html post/list.en.html.html theme/post/list.en.html.html post/post.html.html theme/post/post.html.html post/section.html.html theme/post/section.html.html post/list.html.html theme/post/list.html.html post/post.en.html theme/post/post.en.html post/section.en.html theme/post/section.en.html post/list.en.html theme/post/list.en.html post/post.html theme/post/post.html post/section.html theme/post/section.html post/list.html theme/post/list.html section/post.en.html.html theme/section/post.en.html.html section/section.en.html.html theme/section/section.en.html.html section/list.en.html.html theme/section/list.en.html.html section/post.html.html theme/section/post.html.html section/section.html.html theme/section/section.html.html section/list.html.html theme/section/list.html.html section/post.en.html theme/section/post.en.html section/section.en.html theme/section/section.en.html section/list.en.html theme/section/list.en.html section/post.html theme/section/post.html section/section.html theme/section/section.html section/list.html theme/section/list.html _default/post.en.html.html theme/_default/post.en.html.html _default/section.en.html.html theme/_default/section.en.html.html _default/list.en.html.html theme/_default/list.en.html.html _default/post.html.html theme/_default/post.html.html _default/section.html.html theme/_default/section.html.html _default/list.html.html theme/_default/list.html.html _default/post.en.html theme/_default/post.en.html _default/section.en.html theme/_default/section.en.html _default/list.en.html theme/_default/list.en.html _default/post.html theme/_default/post.html _default/section.html theme/_default/section.html _default/list.html theme/_default/list.html]
WARN 2018/01/26 18:20:02 [en] Unable to locate layout for "home": [page/index.en.html.html theme/page/index.en.html.html page/home.en.html.html theme/page/home.en.html.html page/list.en.html.html theme/page/list.en.html.html page/index.html.html theme/page/index.html.html page/home.html.html theme/page/home.html.html page/list.html.html theme/page/list.html.html page/index.en.html theme/page/index.en.html page/home.en.html theme/page/home.en.html page/list.en.html theme/page/list.en.html page/index.html theme/page/index.html page/home.html theme/page/home.html page/list.html theme/page/list.html index.en.html.html theme/index.en.html.html home.en.html.html theme/home.en.html.html list.en.html.html theme/list.en.html.html index.html.html theme/index.html.html home.html.html theme/home.html.html list.html.html theme/list.html.html index.en.html theme/index.en.html home.en.html theme/home.en.html list.en.html theme/list.en.html index.html theme/index.html home.html theme/home.html list.html theme/list.html _default/index.en.html.html theme/_default/index.en.html.html _default/home.en.html.html theme/_default/home.en.html.html _default/list.en.html.html theme/_default/list.en.html.html _default/index.html.html theme/_default/index.html.html _default/home.html.html theme/_default/home.html.html _default/list.html.html theme/_default/list.html.html _default/index.en.html theme/_default/index.en.html _default/home.en.html theme/_default/home.en.html _default/list.en.html theme/_default/list.en.html _default/index.html theme/_default/index.html _default/home.html theme/_default/home.html _default/list.html theme/_default/list.html]
WARN 2018/01/26 18:20:02 [en] Unable to locate layout for "taxonomyTerm": [tags/tag.terms.en.html.html theme/tags/tag.terms.en.html.html tags/terms.en.html.html theme/tags/terms.en.html.html tags/list.en.html.html theme/tags/list.en.html.html tags/tag.terms.html.html theme/tags/tag.terms.html.html tags/terms.html.html theme/tags/terms.html.html tags/list.html.html theme/tags/list.html.html tags/tag.terms.en.html theme/tags/tag.terms.en.html tags/terms.en.html theme/tags/terms.en.html tags/list.en.html theme/tags/list.en.html tags/tag.terms.html theme/tags/tag.terms.html tags/terms.html theme/tags/terms.html tags/list.html theme/tags/list.html taxonomy/tag.terms.en.html.html theme/taxonomy/tag.terms.en.html.html taxonomy/terms.en.html.html theme/taxonomy/terms.en.html.html taxonomy/list.en.html.html theme/taxonomy/list.en.html.html taxonomy/tag.terms.html.html theme/taxonomy/tag.terms.html.html taxonomy/terms.html.html theme/taxonomy/terms.html.html taxonomy/list.html.html theme/taxonomy/list.html.html taxonomy/tag.terms.en.html theme/taxonomy/tag.terms.en.html taxonomy/terms.en.html theme/taxonomy/terms.en.html taxonomy/list.en.html theme/taxonomy/list.en.html taxonomy/tag.terms.html theme/taxonomy/tag.terms.html taxonomy/terms.html theme/taxonomy/terms.html taxonomy/list.html theme/taxonomy/list.html tag/tag.terms.en.html.html theme/tag/tag.terms.en.html.html tag/terms.en.html.html theme/tag/terms.en.html.html tag/list.en.html.html theme/tag/list.en.html.html tag/tag.terms.html.html theme/tag/tag.terms.html.html tag/terms.html.html theme/tag/terms.html.html tag/list.html.html theme/tag/list.html.html tag/tag.terms.en.html theme/tag/tag.terms.en.html tag/terms.en.html theme/tag/terms.en.html tag/list.en.html theme/tag/list.en.html tag/tag.terms.html theme/tag/tag.terms.html tag/terms.html theme/tag/terms.html tag/list.html theme/tag/list.html _default/tag.terms.en.html.html theme/_default/tag.terms.en.html.html _default/terms.en.html.html theme/_default/terms.en.html.html _default/list.en.html.html theme/_default/list.en.html.html _default/tag.terms.html.html theme/_default/tag.terms.html.html _default/terms.html.html theme/_default/terms.html.html _default/list.html.html theme/_default/list.html.html _default/tag.terms.en.html theme/_default/tag.terms.en.html _default/terms.en.html theme/_default/terms.en.html _default/list.en.html theme/_default/list.en.html _default/tag.terms.html theme/_default/tag.terms.html _default/terms.html theme/_default/terms.html _default/list.html theme/_default/list.html]
WARN 2018/01/26 18:20:02 [en] Unable to locate layout for "404": [404.html]

                   | EN   
+------------------+-----+
  Pages            |  17  
  Paginator pages  |   0  
  Non-page files   |   0  
  Static files     | 136  
  Processed images |   0  
  Aliases          |   0  
  Sitemaps         |   1  
  Cleaned          |   0  

Total in 83 ms

how can I add trailing slash to tags?

Hello,

I would like to add trailing slashes to tags. Currently this is not done. This becomes a problem when deploying in nginx. It can be solved by adding rules to nginx, but I would like to understand how the tag links are generated, and why they are added to links to posts, but not to tags.

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.