【问题标题】:Docpad: generate php output fileDocpad:生成php输出文件
【发布时间】:2014-05-17 11:16:42
【问题描述】:

我正在使用 Docpad 为标准的 LAMP 托管站点生成静态文件。我想实现其中一个页面的密码访问,所以我的意图是使用带有thispassword_protect 脚本的php页面。

我已经设置了我的 docpad 'layout' 以将 <?php include... 添加到相关页面,并使用 .php 作为特定文档的后缀,但我得到的输出是 .html

我对文档的阅读是,Docpad 将 php 视为预处理器,而不是输出类型,所以在部署时我可以轻松地做些什么来节省自己手动重命名文件的时间吗?

【问题讨论】:

    标签: docpad


    【解决方案1】:

    是的,这有点奇怪。我认为基本名称之后的扩展名将是输出扩展名。这为我修好了。将其放在您的 docpad config file 中的事件下或作为 plugin 中的方法。

      writeBefore: (opts) ->
        {collection, templateData} = opts
        collection.forEach (file,index) ->
          ext = file.get('extensions')[0]
          if ext == 'php'
            outDirPath = file.get('outDirPath') 
            basename = file.get('basename')
            outFilename = basename + '.php'
            file.set('outPath', outDirPath + '/' + outFilename)
    

    【讨论】:

      【解决方案2】:

      您在使用 DocPad 布局吗?似乎(至少现在)布局扩展优先于资源扩展。也许使用带有 php 扩展名的布局可以解决问题。

      如何为多个扩展使用一个布局

      如果您不想复制布局文件(这违背了布局的目的),您可以创建一个指向父布局的符号链接,如下所示(在 linux 上的 layout 文件夹中):

      ln -s layoutname.html.eco php-layoutname.php.eco
      

      之后不要忘记更新 php 文件前面的 layout 属性!

      【讨论】:

      • 这更多是一个问题或要求澄清,应该在问题下方的cmets中处理。 answer 部分仅针对已理解问题的可行技术解决方案进行维护。
      • 如果您有新问题,请点击 按钮提出问题。如果有助于提供上下文,请包含指向此问题的链接。 - From Review
      • @hotapplecyber 你说得对,其中涉及一些猜测。 (如何)我应该移动它吗?此外,我不完全确定我是否已经被允许对 OP 发表评论。
      • 这不是一个问题,因为它帮助解决了我的扩展问题(因此我将它发布在这里:))。
      • 别担心。在这种情况下还不错,下次记住它。总的来说,一个不错的回应。挂在那里。参加。你的声望点会增长,你会在这里获得更多的能力/访问权限,比如能够发表评论——你可以很快获得。这个出色的社区运营网站,有许多很酷的激励措施、很棒的工具和参与的理由。我鼓励您查看顶部的“评论”链接,看看人们如何参与和在这里提供帮助,这就是我发现/回复您的帖子的方式/原因。还要查看徽章和帽子,以及不同类型的访问权限。
      猜你喜欢
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多