为WebMatrix创建自定义模板

WebMatrix包含许多预构建的模板,您可以用作开发网站的基础,但如果您可以添加新的网站,则不会很好吗?好吧,有一种方法可以这样做,这篇文章看起来需要步骤。

自去年7月以来,我一直在玩WebMatrix。我必须创造了数百个网站......好吧,也许"sites"延伸有点 - 他们中的大多数都是一个页面的例子来测试它。但是,我发现自己反复通过相同的动作来提供基本结构:使用空现场模板并添加一系列文件夹和文件。我添加了一个名为Shared for Playouts和部分页面的文件夹,一个名为CSS的样式,另一个名为jQuery的脚本,一个名为jQuery的脚本,用于帮助程序的App_code文件夹,数据库文件等的App_data文件夹等。然后是一系列启动文件。无聊的。无聊的。无聊的。 zzzzzzzzz。空网站模板永远不会侵犯任何交易描述规则 - 它是完全空的(除了一个空robots.txt文件之外)。我所需要的是一个基本的网站模板,其中包含所有常见文件夹和文件。所以我在WebMatrix应用程序文件结构周围有一点戳,看看我能看到什么。

模板存储在一个名为的文件夹中"templates"其中在Microsoft WebMatrix文件夹中。这将存储在您的默认值中"Program Files" folder ("C:\ Program Files(x86)"在我的64位机器上)。在那里,您将看到一系列.zip文件,一个名为"resources"和templatefeed.xml文件:

每个.zip文件包含三个项目:包含模板站点文件夹结构和文件的文件夹,以及两个XML文件,Manifext.xml和parameters.xml。这些.zip文件实际上是Web应用程序包,它是Web Deploy适用于在IIS上安装应用程序的格式。有很多 有关在本文中创建包的信息,但它真的很简单。

步骤1。

从WebMatrix中的空网站模板创建一个站点。我叫我"BasicSite"。添加所需的核心文件夹,以及启动文件。我添加了一个基本的布局页面,它引用了样式表和jQuery,它也被添加到文件夹中:

第2步。

一旦您很高兴您有一个构成合理起点的网站,您可以关闭WebMatrix并转到网站所在的文件夹。通常,这可能在您的文档文件夹中 - C:\用户\ {您的用户名} \ Documents \ My Web Sites。您应该找到您刚刚构建的网站。在此阶段,我发现最容易将文件夹复制到C:\驱动器根目录。

第3步。

如果您已阅读有关创建包的上一个链接,则会知道需要两个XML文件。您猜到了它:我们之前看到的manifest.xml和parameters.xml文件。实际上,您可以简单地将那些从空现场模板复制并修改它们以引用新站点名称:

<!--parameters.xml-->
<parameters>
  <parameter name="Parameter 1" description="Full site path where you want to install 
          your application (for example, Basic Site/Application)." defaultValue="基础石材" tags="IisApp">
    <parameterEntry kind="ProviderPath" scope="iisApp" match="基础石材" />
  </parameter>
</parameters>
<!--manifest.xml-->
<MSDeploy.iisApp>
    <iisapp path="基础石材" />
</MSDeploy.iisApp>

如果您想从数据库开始,就像STARTER站点模板附带的成员身份一样,您需要将一些其他元素添加到每个文件以设置APP_DATA上的正确权限。可以在此找到更多信息 Web应用程序包参考,但您也可以在初学站点模板上的文件中偷看。

第四步。

使用winzip或winrar创建zip文件,以便XML文件放在生成的Zipped文件夹的根目录中:

第5步。

您需要为.zip文件生成SHA-1加密哈希值。这用于验证文件的完整性,并确保在在IIS上创建应用程序之前未篡改内容。最简单的是做到这一点 文件校验和完整性验证程序 工具。如果您已经拥有它,请从上一个链接下载该实用程序,并将生成的.exe放在C:\ drive的根目录中。要运行它,请调出命令提示符(类型"cmd"在Win 7的“开始”按钮搜索栏中,或者如果您仍然具有该栏中,则在运行框中)并导航到C:\ drive(类型"cd C:\"然后点击)。现在键入以下内容,将“basicsite.zip”更改为zip文件的名称:

fciv c:\ basicsite.zip -sha1

您应该获得数字和字母的混合,您需要保留下一步。

第6步。

现在您需要将包的条目添加到TemplateFeed.xml文件中。这是一个样本条目。它基本上是空网站模板输入的副本,我的修改突出显示黄色:

 <entry type="application">
    <productId>Basic Site</productId>
    <title>Basic Site</title>
    <version>1.0</version>
    <summary>Basic web site set up with jQuery and layout page</summary>
    <id>http://lssc9d.icu/webmatrix/basic</id>
    <updated>2011-01-14T20:30:02Z</updated>
    <published>2011-01-14T20:30:02Z</published>
    <longSummary>Sample basic site with jQuery and Layout set up.</longSummary>
    <link href="http://lssc9d.icu/webmatrix/basic" />
    <images>
      <图标>http://www.lssc9d.icu/images/basic.png</图标>
    </images>
    <keywords>
      <keywordId>Templates</keywordId>
    </keywords>
    <author>
      <name>Mike</name>
      <uri>http://www.lssc9d.icu/</uri>
    </author>
    <installers>
      <installer>
        <id>1</id>
        <languageId>en</languageId>
        <installerFile>
          <fileSize>50</fileSize>
          <installerURL>file://%ProgramFiles%\Microsoft WebMatrix\templates\BasicSite.zip</installerURL>
          <sha1>c680b830c7964d6605df6a0d169fd22a4e111fee</sha1>
        </installerFile>
        <msDeploy />
      </installer>
    </installers>
  </entry>

大多数条目都是自我解释的。但是,我确实将48x48 PNG图像文件上传到我的网站以充当图标,并引用了该文件的网址<icon>元素。我还仔细添加了我的sha1哈希。

第7步。

将.zip文件移动或复制到模板文件夹。任务完成。现在,当您从模板选项中选择创建站点时,您将有一个新的: