i have a small problem. I created a partial that gives me out all pages. Now i want to give out the Content from the different Pages. All pages have a tab that named "Image", but i don't know how access to
Layout
{% for child in page.getChildren %}
<li class="list-group-item">
<span>
<!-- Here the Content of the Tab "Image" -->
</span>
<a href="{{ child.url|app }}">
ClickMe
</a>
</li>
{% endfor %}
Page
So can you help me to access to the right Tab? I already tried these one (but i only can access to the content tab)
{{ child.content }}
this doesn't worked for me
{{ child.Tab.Image }}
or
{{ child.Image }}
If you use placeholder, you can only insert text in backend newly created tab. The best way to create an image custom field in your page (I assume that you are using Static Pages plugin, like you photo suggests) is use this syntax:
{variable name="image" label="Image" tab="The name of your tab here" type="mediafinder" mode="image"}{/variable}
Remember to put this code in you layoutfile.
You can find all of your needs in plugin's documentation here and here.
Remember that you can use all of OctoberCMS's built in form fields (yeah, also repeater!)
Related
I am using Jekyll to create a personal website. I am using the Beautiful-Jekyll template that is very popular. There is a navigation bar already defined in _config.yml. I want to make Resume link to my resume pdf.
I have accomplished that with this code (in _config.yml):
# List of links in the navigation bar
navbar-links:
Moi: "aboutme"
Projects:
- Hell Game: "http://deanattali.com/beautiful-jekyll/"
- Success City: "http://www.markdowntutorial.com/"
Resume: "Tech Resume.pdf"
However, this only opens the resume in the same tab. I want it to open in a separate tab. In HTML, you achieve this by using target="_blank". How do I do this in YAML?
I tried this but my index.html actually doesn't use links. I know, weird.
beautiful-jekyll/_includes/nav.html line 26:
{{ linkparts[0] }}
Change it into:
<a href="{{ linkparts[1] | relative_url }}"
{% if linkparts[1] contains '.pdf' %}target="_blank"{% endif %}
>{{ linkparts[0] }}</a>
Or use this (java)script/solution:
https://jekyllcodex.org/without-plugin/new-window-fix/
I'm using Sphinx to document my open source project. I'd like to add an area above the navigation bar with links to the project on GitHub, my project home, etc. The Sphinx home page has pretty much what I want where it has "Home", "Get It", "Docs", "Extend/Develop".
The conf.py file has a ton of options, and then there are themes, templates and more. It seems like it should be simple, but I'm not seeing it.
I cloned the Sphinx project on GitHub to find the answer.
If you extend a theme, you can add links to the layout.xml file. The Sphinx docs have this:
{% block header %}
<div class="pageheader">
<ul>
<li>Home</li>
<li>Get it</li>
<li>Docs</li>
<li>Extend/Develop</li>
</ul>
<div>
<a href="{{ pathto('index') }}">
<img src="{{ pathto('_static/sphinxheader.png', 1) }}" alt="SPHINX" />
</a>
</div>
</div>
{% endblock %}
I am trying to make a jekyll blog with github-pages.
In order to get some pictures from a folder, I used this gist: https://gist.github.com/jgatjens/8925165
Now, I want to make it a little bit more flexible so that it would get a front matter variable ( page.folder ) and would return the images from there.
My problem is that whenever I assign a folder variable to the front matter and then pass it to the block like this:
{% loop_directory directory:page.folder iterator:image filter:*.jpg sort:descending %}
<div class="item">
<a class="content" href="{{ site.baseurl }}/{{ image }}" title="portfolio 2015">
<img src="{{ site.baseurl }}/{{ image }}"/>
</a>
</div>
{% endloop_directory %}
In the directory attribute it passes page.folder instead of, for example "images/portfolio" which is defined on the front matter. I am rather new at ruby so I can't find something refered to that problem. Is it a bug or something that I need to write correctly to pass the variable?
Did you tried:
{% loop_directory directory: {{page.folder}} iterator:image filter:*.jpg sort:descending %}
I had figured it using the context object to get the front matter attributes,
but unfortunately github / github-pages do not accept plugins (_plugins folder), so a day was wasted for that.
I resolved to github's solution, to create a _data folder and use a text-based (yaml) format to list all my extra assets in an organized way.
I have a website that consists out of a few 'slides'. Each has a fixed structure, used by some scripts, but variable content. I'm hosting it on github and am now trying to use Jekyll to make it easier to add new slides.
I already have each slide in a different html file, which I include in the main page: {% include_relative _slides/about.html %}. Now I'm trying to make it a markdown file, and I wanted to use front matter to make a layout that each slide's file could use. I can include a markdown file, and get it to render by doing:
{% capture myInclude %}{% include_relative _slides/test.md %}{% endcapture %}
{{ myInclude | markdownify }}
However, when I add a front-matter block to it with a layout defined in it, the layout doesn't get applied. It just gets rendered as a horizontal line (for the first ---) and then "layout: slide title: Test Slide —" in plain text.
Is there any way to fix this? Or perhaps a better way to break up my index.html and the slides in it?
Thanks a lot!
Note: Sorry if this was asked before, I Googled everything I could imagine it would be called.
I found something that works for me. I divided my template in two parts, the part above the content, and the part under it. Then in the file I include, there are two includes as well, one at the top and one at the bottom.
So my 'slide' files look like this:
{% include slide_start.html title="About" image="images/about.jpg" %}
... the content of the slide ...
{% include slide_end.html %}
As you can see, in the first include I give some parameters, these will be filled in and can be accessed with the liquid tags {{ include.something }}.
My slide_start.html looks like:
<div class="slide">
<div class="header">
<span>{{ include.title }}</span><!-- no whitespace
--><img src="{{ include.image }}" alt="{{ include.title }}"/>
</div>
<div class="content" markdown="1">
the slide_end.html is just two closing div tags.
You're trying to mix the page/post and the include strategies.
Page/post have a front matter and are decorated with a template, which can itself be decorated. `mypage.html -> layout: page -> layout: default.
Includes are included in page/post but they are only code parts. They cannot be decorated with a template.
You will have to choose.
Take a lool at https://github.com/shower/jekyller this can be helpfull.
I have a basic layout page template:
---
layout: default
---
<header class="sidebar">
{{ page.title }}
</header>
<section class="content">
{{ content }}
</section>
My pages that use this as the page template are just Markdown that gets put into the <section> block.
I'm looking for a way to keep all my page content in one file but have it so I can define separate content that gets put into the <header> tag from the page template.
Is there any way to do this and keep all the page's content in one file?
You can do so by defining the content you wish to be separate and reused in the _includes/ directory.
You would then include it by calling for example: {% include file.ext %} to include the of the file name _includes/file.ext (almost as if you just copy and pasted it in).
See section pertaining to the _includes in the Jekyll documentation here.
The YAML Front Matter can be used to directly store additional content for the page. This is done by creating custom key/value variables. The layout/template uses liquid tags to check to see if the secondary content is available. If so, it gets output. Otherwise, the section is skipped.
Here's an example of a layout template that checks to see if a custom variable called myvar1 is set:
---
layout: default
---
<header class="sidebar">
<h2>{{ page.title }}</h2>
{% if page.myvar1 %}
<p>Secondary content here: {{ page.myvar1 }}</p>
{% endif %}
</header>
<section class="content">
{{ content }}
</section>
Note: To match your original example, this layout file calls a parent "default" layout. For this example, the above is in a layout file called "_layouts/nested_layout.html".
To use the new slot, a myvar1 variable is added to the front matter, like this:
---
layout: nested_layout
title: This is the post test layout
myvar1: More here <strong>including bold text</strong>.
---
And here is the page content: The quick brown fox jumps over the lazy dog.
When that page is processed, the secondary content will show up. If you create another page that doesn't have myvar1, nothing will be rendered at that part of the template.
You can add as many custom variables to your pages as necessary. The values can include HTML as shown in this example. (It works for me in Jekyll 0.11.2.) If you have a lot of code that you want to add (instead of something that easily fits on one line), or if you want to have the same content available to turn on/off for multiple pages, you can use the custom variable as a flag. Then, in the {% if %} tag, you would call an include if the value is set.