2010-11-17 76 views
2

好吧,我的问题不是那么广泛,因为它似乎,总结8个月努力在我的部分:我可以使用什么软件/ webapp来编辑HTML页面?

我创建可重用的,可扩展的XHTML其缓慢下降,是各种真棒块。我的大部分代码块都提供了一个Javascript交互层,并使用CSS进行样式化。我开始将我的代码块拉到Dreamweaver中作为“片段”,但它们是非智能的文本块。而且,一旦插入,我漂亮的代码块就会被实际使用Dreamweaver的非技术人员所破坏。另外,因为它们是非智能片段,所以我有一行Javascript代码块在初始化时配置代码块 - see this post for further detail on my approach。但是目前我必须多次复制一个代码块,因为有配置选项(因此每个“代码片段”可能仅与另一个相同类型的配置值不同)。这是令人难以置信的跛脚,它的工作原理,但对我来说,重新部署一堆片段并使我的团队难以记住所有变化,这是非常蹩脚和耗时的。

所以我有一系列的要求,在我看来,最有可能的事情在我把我的块到任何系统来解决:

  1. 插入的代码没有在插入时修改,由系统
  2. 的代码中插入需求,使配置选项
  3. 我会喜出望外,如果一旦插入,唯一可编辑的部分是文本节点
  4. 复制和粘贴这些对象整体
  5. 拥塞程度从接口从我的范围内的代码块选择

它的要求,我相信一个严重的名单,一番搜索使我Kompoze及其“智能部件”,其根据从随机岗位2004年,建议XUL文件可以创建和扩展可以听起来像我想要的模糊。与Dreamweaver相比,文本编辑器本身不易受到破坏。

所以是的,我追赶了太多兔子,热衷于解决方案无论是软件+扩展,还是Webapp。

编辑: 顺便说一句,我确实想到调查一个高度定制的TinyMCE实例,但我不知道这是可行的,除非有一些甜美的后端可用,我坚持本地编辑文件现在 - 甚至没有在网络服务器上...

在我看来,这个问题的最佳答案将解决大部分上述问题,并提供一些一般工作流建议以及建议。

+0

您所描述的内容听起来完全像ASP.NET的服务器控件。你可以控制标记,而不是让任何人改变它。您可以将配置选项作为属性。您可以将文本节点公开为可由用户编辑。您可以复制并粘贴标记以添加这些控件。如果您只将所有控件添加到单独的程序集,Visual Studio中的自动完成界面就足够干净。可能不是你想要的,但。 – 2010-11-22 23:22:36

+0

哇,是不同的联赛完全,但我处理这个问题的更多,更深层次的解决方案往往会得到......有上述系统的对我来说是便宜的演示,很轻松地查出来吗?我想不会,但如果有一个打算,可能在概念上提供一些见解,谢谢:) – danjah 2010-11-22 23:35:04

+1

嗯,ASP.NET是IIS服务器(Windows 7专业版及以上版本,Windows Vista中专业的部分上运行的免费系统以上或任何Windows Server产品)。您还可以使用Mono在Linux系统上运行ASP.NET。你看看如何在这里建立服务器控件教程:http://www.4guysfromrolla.com/articles/102903-1.aspx。在页面的最底部,您可以看到您将用于将服务器控件插入到页面中的消耗性标记。看起来很像你上面描述的。 – 2010-11-24 03:54:07

回答

2

我会去与基于优秀markItUp!编辑器的解决方案。扩展它以适应您的要求非常简单。你可以添加复杂的逻辑,它很好,有光泽。

我可能会将它与Jeditable结合起来用于内联节点编辑,并且在Django之上构建整个事物,以方便和方便。完全可自定义,非常易于使用,便携式和跨平台,并易于设置离线使用。哦,所有的自由和开源。

+0

哇,伙计,你钉了它,非常感谢。 – danjah 2010-11-27 21:50:32

0

你觉得这种做法是什么:

<div class="thing"> 
    <elements... /> 
    <script type="text/javascript"> 
     document.write('<span id="thing' + thingNo + '"></span>') 
     new Thing().init({ id:'thing'+thingNo; }); 
     thingNo += 1; 
    </script> 
</div> 

当然,你必须改变的事()初始化,这样它会初始化父(而不是电流)节点。

+0

好,我很喜欢,但回到这个问题:P – danjah 2010-11-17 20:40:18

+0

其实,这是不理想,想回来,因为我需要引用实例化的对象 - 我能够通过“新的类创建()时,要做到这一点的方法(。 )“?任何读者应该知道,评论这个答案,链主要是无关这里被要求的实际问题。 – danjah 2010-11-22 22:35:10

0

您是否考虑过server-side includes指令是生成的页面还是shell命令?例如。:

<!--#include virtual="./activePage.aspx?withParam1=something&amp;param2=somethingelse" --> 

<!--#exec cmd="shellCommand -withParams" --> 

您可以重复使用相同页面或命令,并提供具体到每个XHTML页面每次使用的参数。

相关问题