Easy Responsive Footer

:discourse2: Summary Easy Responsive Footer will allow you to build a fully-responsive footer using nothing but plain text.
:eyeglasses: Preview Preview on theme-creator.discourse.io
:hammer_and_wrench: Repository Link https://github.com/discourse/Discourse-easy-footer
:open_book: New to Discourse Themes? Beginner’s guide to using Discourse Themes

Install this theme component

Samples

Desktop

Mobile

Settings

There are six settings in this component that will help configure it easily

1. Heading

Text for the heading in the footer - you can use your site name for example - Max length 25 characters

2. Blurb

a short blurb about your community - Max length 180 characters

3. Link sections

Add link sections. The ideal number of sections is six. One item per line in this order: Text, title
Text: what appears on in the footer
Title: the text that appears when the item is hovered.

4. Links

Add links to link sections. One item per line in this order:
Parent, text, URL, target, title
It is a good idea to keep the number of links under each section similar
Parent: the name of the parent section which this link shows under. Use the text value from the list above
Text: the text that shows for this link
URL: the path this item links to. You can use relative paths as well.
Target: Choose whether this item will open in a new tab or in the same tab. Use blank to open the link in a new tab, or use self to open it in the same tab.
Title: the text that shows when the link is hovered.

5. Small links

You can add small links at the bottom of the footer like Terms of Service and Privacy. One item per line in this order:
Text, URL, target
Text: The text that shows for the small link
URL: The path of the link
Target: Use blank to open the link in a new tab and use self to open it in the same tab

6. Social links

Enter the social links you’d like to add to the footer in this format:
provider, title, URL, target
Provider: is the name of the provider like Facebook or Twitter
Title: The text that shows when the link is hovered
URL: The path you’d like the link to have
Target: Use blank to open the link in a new tab and use self to open it in the same tab

Notes

  1. I left the placeholder items as defaults for the component so you can easily see what your settings should look like.

  2. This component will use your theme’s color scheme to generate the colors used for the elements in it. but all elements have unique classes added to them in case you want to override something.

  3. Since this component uses theme settings, it means that I can update it in the future to either fix or improve it and the data you enter would not be lost :tada:

107 Likes

I pushed some fixes.

Key changes:

https://github.com/discourse/Discourse-easy-footer/commit/a694b1ba8e31d5b24b2d0fd8e2b6190bf987527b

The cause here is CSS specificity. Your CSS targets .wrap, and it works, but this component also has some CSS that targets #main-outlet and adds some properties to it to keep the footer at the bottom even on short pages.

https://github.com/discourse/Discourse-easy-footer/blob/master/common/common.scss#L106-L113

The #main-outlet selector is more specific than your .wrap selector - because it’s id-based, so it overrides your styles.

You can fix this by adding this CSS

#main {
  #main-outlet {
    width: 1200px; // or whatever width you want to use
  }
}

Sure, remove all the extra columns that you don’t need in the settings, and you’ll get three columns.

I cannot reproduce this issue, but the error implies that your settings are incorrect. Can you double-check and make sure that you’ve followed the instructions under each setting? If your problem persists, can you share a link to the site you see the issue on?


I did a bit of cleaning up and deleted the replies for bugs that will be fixed once you update the component. If your issue persists, feel free to post about it again.

7 Likes

I wonder if the header text (This is a header) within [Easy Footer Theme Component by Joe] can be replaced with logo.

I’ve tried exporting the component to alter hbs files, but I’ve failed, I think I need some hints.

Any insight is much appreciated :relaxed:

2 Likes

Depending on what you want to do, you can simply try something like this:

  • in the Easy responsive footer theme settings delete the text inside the Blurb setting. If you want you can delete even the text inside the Heading setting.

  • create a new theme component and add in the Common > CSS tab

    .blurb::before {
        background-image: url(LOGO-URL);
        background-repeat: no-repeat;
        display: inline-block;
        content: "";
        /*change the settings below based on the size of your logo*/
        background-size: 200px 200px;
        width: 200px;
        height: 200px;
    }
    

and the result will be something like this:

13 Likes

Solved!

My belief in in the open source echo system is initially empowered by great people like you.

4 Likes

There should be an option to customize the colors of the background and text with CSS. By default, it doesn’t match the header.

Otherwise it works great! Thanks!

4 Likes

hello Joe, can weadd more widget same here

This has resulted in the logo appearing in the blurb:before of search results, even after I specified this in the component

div.below-footer-outlet.custom-footer.ember-view > div.wrap > div.flexbox > div.first-box > .blurb::before {
    background-image: url(image url);
}

Is there any way to make sure it doesn’t appear in search results, but still appears in the footer?

1 Like

Thank you for the awesome footer! I have been having issue showing the Tiktok logo from Font Awesome. I have tried adding fab-tiktok, fa-tiktok, fas-tiktok, tiktok to the svg icons setting, but none of them renders the tiktok logo.

Thank you for your help!

2 Likes

I want to change the 25 character limit for the title. I will place the title with CSS. What is the easiest way to do this?

1 Like

@bekircem
Going beyond the character limit may break some things, but you can try:

.custom-footer .first-box .heading {
   visibility: hidden;
}

.custom-footer .first-box .heading::after {
   content: "This is something that is longer than 25 characters";
   visibility: visible;
   display: block;
}

Doing visibility: hidden, however, will still keep the white-space. However, depending on how large your title will be you can try doing this instead:

.custom-footer .first-box .heading {
   visibility: hidden;
   position: relative; 
}

.custom-footer .first-box .heading::after {
   content: "This is something that is longer than 25 characters";
   visibility: visible;
   display: block;
   position: absolute;
   top: 0;
}
5 Likes

Is that possible to add texts to link sections without href attribute?

1 Like

Just add an # where the url goes

4 Likes

In this case it still appears as a clickable url. Is there a way to add without getting the a tag?

1 Like

You can add this CSS to your theme somewhere

.custom-footer a[href="#"] {
  pointer-events: none;
}
3 Likes

I submitted this:

That should fix a deprecation with missing puginId. I didn’t test it , but it looks right to me.

EDIT: But it’s not right at all.

3 Likes

FYI BUG >>> If I add the following … “Community, Tags List, /tags, self, List of all Tags” … a horizontal rule is displayed on the frontend. If I remove the [space] between “Tags List” and change it to “TagsList” the HR goes away.

1 Like

Hello, I have two problems with the social links and Fontawesome Icons.

  1. I try to setup other Fontawesome 5 Icons in the Social area, but they do not show up.
    I want <i class="fad fa-home"></i>

  2. I setup the GitHub link and it already shows the icon on page, although I actually didn’t add the Icon in the list of svg-icons.

EDIT: solved it by just using the icons name "home"

2 Likes

When using this theme component on my phone, the width is not set to the screen width. The width extends, almost to the size of a desktop monitor.

Testing can be done here: https://forum.tzm.community/

Make sure to open it on a phone (or use the debug option in your browser, in Firefox you can trigger the bug by using the Galaxy Note 20 Linux profile).

2 Likes

The component has been fixed. You need to update it.

4 Likes