在Ghost中,我在哪里可以找到一些数据绑定,如使用手柄的数据绑定?

问题描述 投票:0回答:1

我知道我的问题看起来很奇怪,但由于我是使用ghost和handlebars语言的新手,我很困惑,我在哪里可以找到一些数据绑定,如 title, @site.logo等。我试着在casper模板里找,但还是找不到,这是casper主题里的代码图例。

this is example inside of site-nav.hbs in casper template for ghost

this is example of post.hbs file for casper

如果你问我为什么要找它,我想试着在里面添加一些内容,或者至少我想看看casper有什么样的数据绑定或者提供什么样的数据绑定。

例如在这个 post.hbs 你可以看到这里面有很多数据绑定,但我就是找不到他们提供的数据绑定还有什么。

{{!< default}}

{{!-- The tag above means: insert everything in this file
into the {body} of the default.hbs template --}}

<header class="site-header">
    {{> site-header}}
</header>

{{!-- Everything inside the #post tags pulls data from the post --}}
{{#post}}

<main id="site-main" class="site-main outer">
    <div class="inner">

        <article class="post-full {{post_class}} {{#unless feature_image}}no-image{{/unless}}">

            <header class="post-full-header">

                {{#if primary_tag}}
                <section class="post-full-tags">
                    {{#primary_tag}}
                    <a href="{{url}}">{{name}}</a>
                    {{/primary_tag}}
                </section>
                {{/if}}

                <h1 class="post-full-title">{{title}}</h1>

                {{#if custom_excerpt}}
                <p class="post-full-custom-excerpt">{{custom_excerpt}}</p>
                {{/if}}

                <div class="post-full-byline">

                    <section class="post-full-byline-content">

                        <ul class="author-list">
                            {{#foreach authors}}
                            <li class="author-list-item">

                                <div class="author-card">
                                    {{#if profile_image}}
                                    <img class="author-profile-image" src="{{img_url profile_image size="xs"}}" alt="{{name}}" />
                                    {{else}}
                                    <div class="author-profile-image">{{> "icons/avatar"}}</div>
                                    {{/if}}
                                    <div class="author-info">
                                        {{#if bio}}
                                        <div class="bio">
                                            <h2>{{name}}</h2>
                                            <p>{{bio}}</p>
                                            <p><a href="{{url}}">More posts</a> by {{name}}.</p>
                                        </div>
                                        {{else}}
                                        <h2>{{name}}</h2>
                                        <p>Read <a href="{{url}}">more posts</a> by this author.</p>
                                        {{/if}}
                                    </div>
                                </div>

                                {{#if profile_image}}
                                <a href="{{url}}" class="author-avatar">
                                    <img class="author-profile-image" src="{{img_url profile_image size="xs"}}" alt="{{name}}" />
                                </a>
                                {{else}}
                                <a href="{{url}}" class="author-avatar author-profile-image">{{> "icons/avatar"}}</a>
                                {{/if}}

                            </li>
                            {{/foreach}}
                        </ul>

                        <section class="post-full-byline-meta">
                            <h4 class="author-name">{{authors}}</h4>
                            <div class="byline-meta-content">
                                <time class="byline-meta-date" datetime="{{date format="YYYY-MM-DD"}}">{{date format="D MMM YYYY"}}</time>
                                <span class="byline-reading-time"><span class="bull">&bull;</span> {{reading_time}}</span>
                            </div>
                        </section>

                    </section>


                </div>
            </header>

            {{#if feature_image}}
            <figure class="post-full-image">
                {{!-- This is a responsive image, it loads different sizes depending on device
                https://medium.freecodecamp.org/a-guide-to-responsive-images-with-ready-to-use-templates-c400bd65c433 --}}
                <img
                    srcset="{{img_url feature_image size="s"}} 300w,
                            {{img_url feature_image size="m"}} 600w,
                            {{img_url feature_image size="l"}} 1000w,
                            {{img_url feature_image size="xl"}} 2000w"
                    sizes="(max-width: 800px) 400px,
                        (max-width: 1170px) 1170px,
                            2000px"
                    src="{{img_url feature_image size="xl"}}"
                    alt="{{title}}"
                />
            </figure>
            {{/if}}

            <section class="post-full-content">
                <div class="post-content">
                    {{content}}
                </div>
            </section>

            {{!-- Email subscribe form at the bottom of the page --}}
            {{#if @labs.members}}
                {{> subscribe-form}}
            {{/if}}

            {{!--
            <section class="post-full-comments">
                If you want to embed comments, this is a good place to do it!
            </section>
            --}}

        </article>

    </div>
</main>

{{!-- Links to Previous/Next posts --}}
<aside class="read-next outer">
    <div class="inner">
        <div class="read-next-feed">
            {{#if primary_tag}}
            {{#get "posts" filter="tags:{{primary_tag.slug}}+id:-{{id}}" limit="3" as |related_posts|}}
                {{#if related_posts}}
                <article class="read-next-card">
                    <header class="read-next-card-header">
                        {{#../primary_tag}}
                        <h3><span>More in</span> <a href="{{url}}">{{name}}</a></h3>
                        {{/../primary_tag}}
                    </header>
                    <div class="read-next-card-content">
                        <ul>
                            {{#foreach related_posts}}
                            <li>
                                <h4><a href="{{url}}">{{title}}</a></h4>
                                <div class="read-next-card-meta">
                                    <p><time datetime="{{date format="YYYY-MM-DD"}}">{{date format="D MMM YYYY"}}</time> –
                                        {{reading_time}}</p>
                                </div>
                            </li>
                            {{/foreach}}
                        </ul>
                    </div>
                    <footer class="read-next-card-footer">
                        <a href="{{#../primary_tag}}{{url}}{{/../primary_tag}}">{{plural meta.pagination.total empty='No posts' singular='% post' plural='See all % posts'}}
                            →</a>
                    </footer>
                </article>
                {{/if}}
            {{/get}}
            {{/if}}

            {{!-- If there's a next post, display it using the same markup included from - partials/post-card.hbs --}}
            {{#next_post}}
                {{> "post-card"}}
            {{/next_post}}

            {{!-- If there's a previous post, display it using the same markup included from - partials/post-card.hbs --}}
            {{#prev_post}}
                {{> "post-card"}}
            {{/prev_post}}
        </div>
    </div>
</aside>

{{/post}}

{{!-- The #contentFor helper here will send everything inside it up to the matching #block helper found in default.hbs --}}
{{#contentFor "scripts"}}
<script>
    $(document).ready(function () {
        // FitVids - start
        var $postContent = $(".post-full-content");
        $postContent.fitVids();
        // FitVids - end

        // Replace nav with title on scroll - start
        Casper.stickyNavTitle({
            navSelector: '.site-nav-main',
            titleSelector: '.post-full-title',
            activeClass: 'nav-post-title-active'
        });
        // Replace nav with title on scroll - end

        // Hover on avatar
        var hoverTimeout;
        $('.author-list-item').hover(function () {
            var $this = $(this);

            clearTimeout(hoverTimeout);

            $('.author-card').removeClass('hovered');
            $(this).children('.author-card').addClass('hovered');

        }, function () {
            var $this = $(this);

            hoverTimeout = setTimeout(function () {
                $this.children('.author-card').removeClass('hovered');
            }, 800);
        });
    });
</script>
{{/contentFor}}

谁能帮我指点一下,我在哪里可以找到他们提供的数据绑定列表?我很困惑,了解它

handlebars.js ghost-blog
1个回答
0
投票

你是要找某一个数据,你把它放到Ghost管理中去了吗?{{@site.logo}}{{@site.title}} 就是你如何把这些数据值😊出来。


0
投票

他们称之为Helpers,你可以在这里找到完整的列表。主题文档

有几个类别。功能类、数据类、实用类、额外类... ... 你会发现里面有几个类别,每个类别都有描述。

祝贺

© www.soinside.com 2019 - 2024. All rights reserved.