GithubHelp home page GithubHelp logo

appernetic / hugo-nederburg-theme Goto Github PK

View Code? Open in Web Editor NEW
106.0 13.0 86.0 4.66 MB

Nederburg is a fast and secure hugo theme and is a port of the Tracks WP theme

License: Other

HTML 23.37% CSS 74.52% JavaScript 2.10%
hugo-blog-theme gravatar formspree disqus-comments-thread google-analytics responsive-theme

hugo-nederburg-theme's Introduction

Nederburg theme for hugo

Nederburg is a fast and secure theme.

This Hugo theme was ported from competethemes.

screenshot

Installation

Go to the directory where you have your Hugo site and run:

$ mkdir themes
$ cd themes
$ git clone https://github.com/appernetic/hugo-nederburg-theme.git

For more information read the official setup guide of Hugo or use Appernetic.

Configuration

After installing the Nederburg theme successfully, we recommend you to take a look at the exampleSite directory. You will find a working Hugo site configured with the Nederburg theme that you can use as a starting point for your site.

First, let's take a look at the config.toml. It will be useful to learn how to customize your site. Feel free to play around with the settings.

Gravatar

To have an image in your author bio shown after posts, go to Gravatar and configure it and then add the email address that you have associated with it in the email section in settings:

If you are using the Multiple Writers Features the Gravitar email address will be taken from the writers."Writer Name".email parameter. If you are not using the Multiple Writers Feature and you set the front matter writer property to any value (including blank) the .Site.Params.social.email configuration will be used if it is set other wise the .Site.email property will be used.

Style

Nederburg uses the minified production version of the style sheet from the wordpress version.

More style customizations?

Create css/custom.css in your <<base dir>>/static folder and add all your custom styling.

Comments

The optional comments system is powered by Disqus. If you want to enable comments, create an account in Disqus and write down your shortname in the config file.

disqusShortname = "your-disqus-short-name"

You can disable the comments system by leaving the disqusShortname empty.

Google Analytics

You can optionally enable Google Analytics. Type your tracking code in the ``.

googleAnalytics = "UA-XXXXX-X"

Leave the googleAnalytics key empty to disable it.

Make the contact form work

Since this page will be static, you can use formspree.io as proxy to send the actual email. Each month, visitors can send you up to one thousand emails without incurring extra charges. Begin the setup by following the steps below:

  1. Enter your email address under 'email' in the config.toml
  2. Upload the generated site to your server
  3. Send a dummy email yourself to confirm your account
  4. Click the confirm link in the email from formspree.io
  5. You're done. Happy mailing!

Multiple Writers Features

Thanks to Lukas Herman's PR there is now a multiple writers feature. In order to support multiple writers, an extra key, "writers" is added, in config.toml. The format looks like the following:

  [params.writers."Göran Svensson"]
    link = "https://appernetic.io/"
    email = "[email protected]"
    bio = [
      "Göran is an avid blogger and the founder of <a href='https://appernetic.io/'>Appernetic.io</a>. This is the author bio shown after posts."
    ]
    facebook      = "full Göran profile url in facebook"
    googleplus    = "full profile url in googleplus"
    twitter       = "full profile url in twitter"
    linkedin      = "full profile url in linkedin"
    stackoverflow = "full profile url in stackoverflow"
    instagram     = "full profile url in instagram"
    github        = "full profile url in github"
    pinterest     = "full profile url in pinterest"

If you have a writer and set it in the front matter of the post markdown file it will override the author in the config. See the exampleSite folder for a working solution. Here is an example of a front matter entry for the writer defined above.

writer = "Göran Svensson"

If you do not define a writer in the front matter the post will default to the .Site.Author and use the .Site.Params.social configuration entries for the Author links.

Images

Default is to use the static folder for images. If you want to have images in the post folder you unmark the seetings in the config file.

#UsePostImgFolder = true

Privacy settings for Google Analytics

Thanks to mstroh76 we now have privacy settings for analytics. This is how you configure it (included in exampleSite config.toml):

[privacy]
  # Google Analytics privacy settings - https://gohugo.io/about/hugo-and-gdpr/index.html#googleanalytics
  [privacy.googleAnalytics]
    # set to true to disable service
    disable = false
    # set to true to meet General Data Protection Regulation (GDPR)
    anonymizeIP = false
    respectDoNotTrack = false
    useSessionStorage = false

Nearly finished

In order to see your site in action, run Hugo's built-in local server.

$ hugo server

Now enter localhost:1313 in the address bar of your browser.

Things to do and not (yet) implemented

  • Add the possibility for a description for each category.
  • Add pagination to the front page.
  • Add dropdown menu option to the left sub menu.
  • Add previous next pagination in blog post.
  • Add a search function.
  • Do a SEO check of site structure and code
  • Page speed check
  • Add a default favicon
  • Check that Disqus don’t break anything.

Contributing

Have you found a bug or got an idea for a new feature? Feel free to use the issue tracker to let me know. Or make directly a pull request.

License

This port is released under the GPL License, either version 2, or (at your option) any later version. See the LICENSE file for details.

Thanks

Thanks to Steve Francia for creating Hugo and the awesome community around the project. And also thanks to competethemes for creating this awesome theme.

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

Timothy D. Swieter

hugo-nederburg-theme's People

Contributors

aaronmjacobs avatar andretti1977 avatar argann avatar ayeks avatar brodieg avatar comalice avatar goransv avatar jalexandre0 avatar justinellison avatar justintime avatar khanhicetea avatar lherman-cs avatar matthewmcd avatar mstroh76 avatar pmviva 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-nederburg-theme's Issues

horizontal lines when clicking on side bar

If one resizes the browser window, so that the side bar is shown as three horizontal lines (the "fa-bars"), and then clicks on them, horizontal lines are displayed, and one gets this

hlines

How can this (the horizontal lines) be avoided?

Edit: Since I think the problem is related to something that happens when clicking on the fa-bars, preventing the menu from turning into the fa-bars would be enough for me, but I do not see how to accomplish that either.

Edit 2: (I should have checked this before) The problem seems to be related to specific browsers. I cannot reproduce it under Linux with google chrome, Konqueror, uzbl, or qutebrowser, and I only observe it with Firefox (65.0) on one computer (but not with an older FF on another machine). On an Android phone I do not see it with Firefox or Chrome, though the transition is very slow on Firefox.

Regardless, I'd love to be able to disable the turning into the fa-bars, and keep the sidebar entries always present.

Flickr

Hi there!

I was wondering if there is a way to add Flickr social links easily.

Thanks in advance!!

Theme won't start

Hello!

My blog won't start with your theme:

➜  blog git:(master) ✗  docker-compose run --service-ports blog-preview
Building sites … ERROR 2018/03/20 09:45:43 Error while rendering "page" in "post/": template: /srv/hugo/themes/hugo-nederburg-theme/layouts/_default/single.html:86:51: executing "main" at <absURL>: wrong number of args for absURL: want 1 got 0
ERROR 2018/03/20 09:45:43 Error while rendering "page" in "": template: /srv/hugo/themes/hugo-nederburg-theme/layouts/_default/single.html:86:51: executing "main" at <absURL>: wrong number of args for absURL: want 1 got 0
ERROR 2018/03/20 09:45:43 Error while rendering "home" in "": template: /srv/hugo/themes/hugo-nederburg-theme/layouts/index.html:3:9: executing "/srv/hugo/themes/hugo-nederburg-theme/layouts/index.html" at <partial "head.html" ...>: error calling partial: template: theme/partials/head.html:3:76: executing "theme/partials/head.html" at <safeHTML>: wrong number of args for safeHTML: want 1 got 0

I've tried to move all "content" to "post" subfolder, no luck. I guess input handling could be improved to provide clearer error messages than "wrong number of args for safeHTML".

Thanks for the effort!

Remove date from "About" etc? Limit "preview" text for posts on home page

Thanks for a great theme!!!

These are more questions than issues, so apologies in advance.

  1. I have a date popping up at the top of the "About" and other pages I've set to navigate in the sidebar. This is useful for blog posts, but not for "About" and other pages with relatively static content. If I remove the date from the index.md it just displays 01 January. How can I remove it?

  2. Where does one set the limit on the length of preview text shown for each post on the home page?

Thanks!!!

Add logos in the footer of all pages

Hi,

I would like to add logos in the footer of each page, similar to what was done in the HUGO website (link: https://gohugo.io ). At the end of each page appear the logos of the sponsors. I would like to do something similar using the NEDERBURG theme.

Can someone tell me how to do it.
Thanks in advance!

empty page when clicking on category or tag links

hello,

clicks on tag or category links bring empty pages.
when I change the theme, the issue disappears.
i guess, may be this is connected to unicode in the names of tags and categories?

reference issue #13 contains links to the github source and online web pages.
reference commit #14 fixed part of the problems described in reference issue.

thank you!

function "newScratch" not defined

The hugo website runs perfectly locally, but when I try to deploy to netlify, I get the error:

Failed to add template "_default/single.html" in path "_default/single.html": template: _default/single.html:8: function "newScratch" not defined

Please what can I do?

Tag and category pages

Hello!

I'm new to Hugo and I know this is not really an issue, but rather ignorance, yet I don't know where to read about it, so sorry for the question!

Simply put: how can I enable tags and categories links? When I click on a tag it redirects me to /tags/MY-TAG, but it gives me a 404 error. Reading the template I saw there are both layouts/partials/tag.html and layout/partials/category.html... Should I copy them somewhere?

Thanks very much :)

Disable GoogleAnalytics when not running in production

As in the title, it would be a good thing to disable GoogleAnalytics when not running in production.
There are several ways to do this but the one i prefer is to check for the env var HUGO_ENV.
Here user budparr suggests this code:

{{ if eq (getenv "HUGO_ENV") "production" }}
        {{ template "_internal/google_analytics_async.html" . }}
{{ end }}

You should simply change layouts/partials/head.html. I would do a pull request but since there are many ways to disable it and since that would force your user to provide that env var, i prefer you to solve the issue in the way you prefer

Add site logo to left of title/slogan

I want to add a site logo to the left of the title and slogan (so that it uses approximately the same height as those two lines). Unfortunately the CSS involved in rendering the title and slogan is a little beyond me.

Is there an existing example for implementing this? Alternatively, could someone give me some idea as to how to accomplish it?

Allow customization of copyright in theme config

I would like to add customization of copyright message in the theme configuration, maybe an array of strings, one for each paragraph in the footer, having the actual copyright as a default value.

logo problem

Hello

Firstly many thanks for this theme !
I have used it to create my personal blog, but I have few issues. when I deploy it to netlify there are social media logos on it.
http://wineandmeet.netlify.com/
I have not this issue while building on my personal computer.

Can you help me ?

Images do not scale

Thank you for porting Tracks to Hugo. I started using your theme and quickly discovered that images in my blog posts do not scale with resizing of the browser window. I fixed this easily by creating my own static/css/style.css that contains:

img { max-width: 100%; height: auto; line-height: 0; }

However, proper image display and scaling should be a default feature of the theme that doesn't require this sort of modification by the user.

Multilingual support

I propose adding multilingual support to the theme, since Hugo provides multilingual mode since a long time ago.

As far as I have seen there are not much strings to translate.

The theme should:

  1. Provide a i18n folder with default translations for English (and possibly Spanish since is my native language)
  2. Use absLangURL and relLangURL functions provided by Hugo
  3. Add links to current page translations if any in the in the navigation bar
  4. Adapt the example site to provide a multilingual configuration for testing

I can make a pull request with the changes if you are OK with it.

Error If no author link is set

This is not working if there is no authorlink set in config.

Not working when remarked:

#authorLink = "test@email"

but this works:

authorLink = "test@email"

In layout/_default/single.html:

Error while rendering "page" in "post/": template: _default/single.html:104:78: executing "main" at : wrong number of args for absURL: want 1 got 0

{{ $writer.link | default .Site.Params.authorlink | absURL}}

I thought that this would take care of missing config options (which is above the absurl link):

{{ if and (isset .Site.Params "authorlink") .Site.Params.authorLink }}

but it's not.

multilanguage support

Hello
Firstly I want to thank you for your theme. As I am trying to use it for my wine blog.

However I would to write articles in different languages. How can I do to add a multilanguage support ? Ideally I would like to have a button somewhere on the top where we can switch the language of the post.

regards

Broken Disqus Style

I just recently installed disqus to my blog. But, apparently, the style is broken. Following is the screenshot:

broken_disqus

I noticed that the style came from Hugo's internal partial. I've been trying to fix this. But, I still couldn't find a solution yet. Any help would be helpful. Thanks!

images are cropped

Images in the posts seem to be cropped, and I cannot figure how to prevent it; they are also slightly, though not as much, cropped in the listing of posts. Is there a way to force images not to be cropped at all? I've tried playing around with custom.css to no avail. (The cropping seems independent of the size of the image ---I see the same results with images resized to very different sizes).

Problem with new taxonomies and css overlaping divs

Hi,

Source repository: https://github.com/ImAlexisSaez/infinitoscontrastes
Live version: https://imalexissaez.github.io/

I created a new taxonomy, projects, and modified the template "single.html" to see the three taxonomies of a post (categories, tags and projects). For that, I defined a new css class, entry-projects, and modified a little bit the css file.

However, if I uncomment the first line in this block of code

/*.entry-meta-bottom.float .entry-projects,*/
  .entry-meta-bottom.float .entry-tags,
  .entry-meta-bottom.float .entry-categories {
    position: absolute;
    width: 16.66%;
    left: 0;
    top: 4.5em;
    text-align: right;
    padding-left: 5.55%;
  }

the div of the project overlaps the div of the categories (in desktop resolutions). I don't know why doesn't add a style="top ---px;" to the div of the project. In mobile resolutions works as intended.

Thank you.

Individual metatag description

My simplest approach.

{{ with .Site.Params.description }}
<!-- <meta name="description" content="{{ . | default "" }}"> -->
<meta name="description" content="{{if $.IsHome}}{{ $.Site.Params.description }}{{else}}{{ 
$.Page.Description }}{{end}}">
{{ end }}

Do not make a PR because I do not know the best way to do it or test it.

PS: This break the description on catgories, tags and elsewhere except home page and pages with description param. Looking for a fix or a way to write individual description for categories and tags too.

No grid post on Homepage (not like the screenshot)

Hi,

Thanks for creating this awesome theme.

I just downloaded and configure it in my local hugo based on your exampleSite (config). I noticed that the posts are not showing in the grid. (It's showing one post per row. Not two posts per rows )

Is there any setting that I need to turn on?

How to display a description for categories ?

Hello, thank you for this theme !

Could you give me some pointers to add a description to categories ?

When I use an absorbance like posts/category/_index.md, the description in _index is not displayed.

I suppose I have to modify a template ?

Thank you !

Home Page Post Order

It might be "just me" but I am seeing that the posts on the home page do not sort in date order.

I am at a loss for how to change the sort order to fix it. Ideally we could add a token to the config file.

Date format

Hi all.
Love the Nederburg theme. I am trying to modify the date that appears on top of the posts from being "21 December" to "21 December 2018". In single.html I was trying to change {{.Date.Format "02 January"}} to {{.Date.Format "02 January 2000"}} but I get "21 December 21000". Do I have to use other Hugo date formats?

home bottom on header pointing to wrong address

When creating a website in a folder different than the root, for example www.somepage.com/blog/, the home bottom on the header always poinst to www.somepage.com, instead of the main page of blog. I notice this in the header of the partial

<div id='site-title' class='site-title'>
    {{ with .Site.Title }}
    <a href="/"> {{ . }} </a>
    {{ end }}</div>
 </div>

It seems that the third line above always poinst to the root site. I think that a better behavior would change that line to
<a href="./"> {{ . }} </a> , meaning changing "/" to "./"

Similar trick can be applied in line 20 and 26 of the header.html.

I used hugo version 0.37 on windows 7.

thanks!

Upgrade from jQuery v1.12.4 to v3.4.1

With the discussion going on over at the Hugo discord server, I decided to look at this theme for jQuery. It is a bit behind. I have a simple PR #67 to update to the latest production code. Seems to work in my testing.

.RSSLink is deprecated and will be removed in a future release

So, running the latest version of hugo (0.55.6), and I get the following when trying to rebuild my site using nederburg:

WARN 2019/06/15 22:07:40 Page's .RSSLink is deprecated and will be removed in a future release. Use the Output Format's link, e.g. something like:
{{ with .OutputFormats.Get "RSS" }}{{ .RelPermalink }}{{ end }}.

It does not seem to impact anything yet, but I thought a head's up would be good.

Contact Page Language Portuguese

Hi, I cannot find where to change the language of the contact form from Portuguese to English. Where can I edit this?

Thanks,
Adam

inLanguage parameter stuck in pt-BR

Hi there,
My posts all have inLanguage set to pt-BR even though I'm writing in English. Specifically, the HTML of any page on the site lists this:

script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "BlogPosting",
...
"description" : "",
"inLanguage" : "pt-BR",
...
}

Any way to fix this? Thank you.

Image in the post does not appear

If I set the image URL like this:

image = "img/portfolio/railroad-forest1.jpg"

It won't appear because the rendered URL is http://localhost:1313/post/work5/img/portfolio/railroad-forest1.jpg

I think the right URL should be http://localhost:1313/img/portfolio/railroad-forest1.jpg.

Maybe I do something wrongly?

homepage head title adds space and dash

This template is beautiful!
in the head title is added a dash and a space.
In Layouts>partials>head.html I modified line 5 to:
{{ with .Title }} <title>{{- . -}} {{if $.IsHome}}{{ $.Site.Params.slogan | default "" | safeHTML }}{{ end }}</title>
to solve the problem
Thanks!

Show post description as summary in homepage

By default the theme takes the first paragraph or so of a post and uses it as the summary with the {{ .Summary }} variable, which is printed in the homepage
image

I would like to write my own summary instead. So far I tried setting both a description field and a summary field in the YAML but nothing really changed.

---
description : "some text"
summary : "some other text"
---

Any idea?

Contact Page

Hello!
Sorry I'm relatively new to git and hugo.
I'm having trouble reproducing the contact page on my site. I made a _index.md file under content/contact. But it doesn't seem to be reproducing the formspree form. Even when I plug in the basic form it generates without formatting. Any idea as to what I might be doing wrong?

Adding front matter to taxonomies

First off great theme! It's been super easy to get going and customize to my site.

I'm new to hugo so this is probably just an ignorance thing but I'm trying to add front matter to my categories and tag pages according to the hugo docs. I've overwritten the layouts/partials/category.html file and added ad {{ .Content }} section underneath where it displays Category: \<my category\> but nothing displays. I can confirm that my html file is in fact being displayed but it doesn't seem to be injecting the content from /post/\<mycategory\>/_index.md into the template.

Is there anything obvious that I'm doing wrong?

contact form produced in test, not in prod (public dir)

Hugo is generating a working contact form in test, e.g.: hugo server and hugo server -D.

When I run hugo and generate a contact form in public and depoly, the get a contact page without the form text.

Any suggestions appreciated.

Support for multiple writers

Recently, I just integrated this theme to my hugo server. However, I found that this theme was lacking in multiple writers support. So, is there any work around this? Or is this something that won't be implemented?

Thanks

Responsive Images

I firstly just wanted to mention how I'm really enjoying this theme! I'm new to CSS and it seems images don't scale to the size of blog post blocks (this occurs upon mobile viewing as well). I was wondering where and what to write within the code to make images responsive? Thank you!

Use Hugo built-in menu functionality

I think is better to use Hugo built-in menu functionality instead of having an array of navlinks in site params.

This has two benefits:

  1. You get the links ordered by weight without any extra code
  2. You can add pages to menus by defining an attribute in front matter

Here's an example:

---
menu: ["main", "footer"]
----

Featured image captions

Hello,
With this theme, what's the recommended way to create a caption for the featured image?

Lightbox

How could I have a "gallery" of all my posts under a category as a lightbox?

I am not in need of tagged filtering although that would be nice, but rather something along these lines.

http://www.jordibares.com/portfolio/

Thanks in advance

Hugo .57.2 and later break for RSS

The RSS template and the categories page and others use .RSSLink which will soon be deprecated. Also, the index.xml uses .Pages, which must now be .Site.RegularPages. Thanks and great theme

"map[]" above every post tile

On the homepage there is the following text shown above every post tile:

map[]
<post>

map[]
<post>
...

This occurs with the latest version of the theme. Is there something I am doing wrong?

Add a "RSS Feed" button in social links

Hello ! First of all, thank you for this awesome theme 😉

Well, it's not a bug, but just an ask for a new feature, so I don't know if it's the right place to ask ?

It would be awesome to add a button to subscribe to the RSS feed of the current site in the social icons !
I'm new tu hugo, but i think it's quite easy, since hugo itself generates the required XML files.

tags and categories don't work for me

hello,

you can see the source at https://github.com/norayr/film-magazine/
and the live version at http://ժապաւէն.հայ/

i am sure in spite of the unknown characters you'll be able to recognize where are categories and tags shown.

so, i have added categories and tags in every post, but i can see two problems:

i don't have much experience with web and this is my first work with hugo so may be this is not theme related and i don't understand something.

can you advice what can i try, or what is what i am obviously doing wrong?

Licensing Issue

First, thanks for porting the theme to Hugo. It's a great theme and I'm looking forward to using and adapting.

In poking around though, I noticed that the original theme this is ported from is licensed under GPL-2. From terms and conditions, bullet 2:

Our WordPress themes and plugins are released under the GNU Public License version 2.0.

This is supported by the copyright notices in the source files.

I am no lawyer, so it is possible that under this particular structure this is permissible, although it is not obvious to me that it would be, particularly since you're redistributing at a minimum the CSS file, and probably more implicitly in the HTML structure in the partials, etc.

Obvious options are:

  1. Confirming the GPL-2 restrictions don't apply in this case.
  2. Re-license this as GPL-2, assuming no other license conflicts
  3. Ask Tracks to re-license at least the version you are using to be MIT compatible, which GPL-2 is not

I understand the appeal of MIT for a broadest possible audience, but I would encourage you to consider GPL licenses even if it turns out to be unnecessary in this current circumstance to ensure that others benefiting from your work are required to in turn share theirs with everyone else.

To be clear, I do NOT represent Tracks in anyway, and I'm NOT making any takedown threats or anything like that. I'm just pointing out what seems to me a licensing incompatibility.

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.