一种网站主题的生成方法及装置与流程

文档序号:15588624发布日期:2018-10-02 18:41阅读:226来源:国知局

本申请涉及网络技术领域,特别涉及一种网站主题的生成方法及装置。



背景技术:

随着互联网的发展,平台即服务型的产品层出不穷。平台及服务型的产品使用云服务的方式,通过虚拟化集中化管理处理器、内存、网络等计算机资源,提高了资源利用率,降低了客户实现其业务的成本。例如,为不同行业客户提供建站服务的平台,为了满足不同客户对于行业网站模板的定制化需求,需要为客户提供主题开发服务。

现有的主题开发方式需要开发者针对每一种行业网站模板的网站主题进行单独开发,开发完成后要经过测试后方可上线,而在更改某个行业网站模板时,需要同时进行相应主题的开发更新。

由此,现有的主题开发方式中,会存在大量重复劳动,造成网站主题的开发周期较长,开发效率较低。



技术实现要素:

有鉴于此,本申请的目的在于提供一种网站主题的生成方法及装置,用以解决现有技术中网站主题的开发周期较长,开发效率较低的技术问题。

本申请提供了一种网站主题的生成方法,包括:

获得主题函数集合标识和主题样式标识;

获得与所述主题函数集合标识相对应的目标主题函数集合及与所述主题样式标识相对应的目标主题样式,其中,所述目标主题函数集合中包括:至少一个目标组件函数,所述目标主题样式中包括至少一个目标参数值;

基于所述目标组件函数及所述目标参数值,生成网站主题文件。

上述方法,优选的,获得与所述主题函数集合标识相对应的目标主题函数集合及与所述主题样式标识相对应的目标主题样式,包括:

在预设的主题函数集合数据库中,获得与所述主题函数集合标识相对应的目标主题函数集合;其中,所述主题函数集合数据库中包括至少一个主题函数集合,所述主题函数集合中包括至少一个组件函数,所述组件函数中包括至少一个函数变量;

在预设的主题样式数据库中,获得与所述主题样式标识相对应的目标主题样式;其中,所述主题样式数据库中包括至少一个主题样式,所述主题样式中包括至少一个参数变量,所述参数变量具有参数值。

上述方法,优选的,所述主题函数集合数据库通过以下方式获得:

获得网站行业模板中的组件,所述组件具有至少一个组件样式;

对所述组件针对所述组件样式进行组件函数设置,以生成所述组件的至少一个组件函数,所述组件函数中包括至少一个函数变量;

基于所述组件的组件函数,生成至少一个主题函数集合,组成主题函数集合数据库,所述主题函数集合中包括所述组件的一个组件函数。

上述方法,优选的,所述主题样式数据库通过以下方式获得:

基于所述主题函数集合中组件函数的函数变量,生成参数变量集合,所述参数变量集合中包括至少一个参数变量,所述参数变量与所述函数变量具有关联关系;

为所述参数变量设置至少一个参数值,以生成至少一个主题样式,所述主题样式中包括所述参数变量。

上述方法,优选的,还包括:

响应于用户的第一输入操作,获得所述第一输入操作中对所述主题函数集合的修改数据,基于所述修改数据,生成新的主题函数集合;

和/或

响应于用户的第二输入操作,获得所述第二输入操作中对所述参数值的修改数据,基于所述修改数据,生成新的主题样式。

本申请还提供了一种网站主题的生成装置,包括:

标识获得单元,用于获得主题函数集合标识和主题样式标识;

目标获取单元,用于获得与所述主题函数集合标识相对应的目标主题函数集合及与所述主题样式标识相对应的目标主题样式,其中,所述目标主题函数集合中包括:至少一个目标组件函数,所述目标主题样式中包括至少一个目标参数值;

文件生成单元,用于基于所述目标组件函数及所述目标参数值,生成网站主题文件。

上述装置,优选的,所述目标获取单元包括:

函数获取模块,用于在预设的主题函数集合数据库中,获得与所述主题函数集合标识相对应的目标主题函数集合;其中,所述主题函数集合数据库中包括至少一个主题函数集合,所述主题函数集合中包括至少一个组件函数,所述组件函数中包括至少一个函数变量;

样式获取模块,用于在预设的主题样式数据库中,获得与所述主题样式标识相对应的目标主题样式;其中,所述主题样式数据库中包括至少一个主题样式,所述主题样式中包括至少一个参数变量,所述参数变量具有参数值。

上述装置,优选的,还包括:

第一获取单元,用于获得所述主题函数集合数据库;

具体用于:获得网站行业模板中的组件,所述组件具有至少一个组件样式;对所述组件针对所述组件样式进行组件函数设置,以生成所述组件的至少一个组件函数,所述组件函数中包括至少一个函数变量;基于所述组件的组件函数,生成至少一个主题函数集合,组成主题函数集合数据库,所述主题函数集合中包括所述组件的一个组件函数。

上述装置,优选的,还包括:

第二获取单元,用于获得所述主题样式数据库;

具体用于:基于所述主题函数集合中组件函数的函数变量,生成参数变量集合,所述参数变量集合中包括至少一个参数变量,所述参数变量与所述函数变量具有关联关系;为所述参数变量设置至少一个参数值,以生成至少一个主题样式,所述主题样式中包括所述参数变量。

上述装置,优选的,还包括:

更新单元,用于响应于用户的第一输入操作,获得所述第一输入操作中对所述主题函数集合的修改数据,基于所述修改数据,生成新的主题函数集合;

所述更新单元,还用于响应于用户的第二输入操作,获得所述第二输入操作中对所述参数值的修改数据,基于所述修改数据,生成新的主题样式。

由上述方案可知,本申请提供的一种网站主题的生成方法及装置,通过预先设置主题函数集合和主题样式,在获得表明用户需求的主题函数集合标识和主题样式标识后,获取相应的目标主题函数集合和目标主题样式,从而基于其中的目标组件函数和目标参数值来生成网站主题文件,而生成的网站主题文件中通过目标组件函数及目标参数值来为用户呈现满足用户需求的网站主题风格或样式。本申请在实现网站主题文件生成时,通过预先进行主题组件抽取,消除不同网页中共有可服用的部分在开发中的重复劳动,同时对组件中变量参数进行抽取,从而形成定制化的主题函数集合和主题样式,由此,用户只需要选择需要的主题函数集合标识和主题样式标识,就可以基于标识对应的主题函数集合中的组件函数和主题样式中的参数值来生成网站主题文件,从而实现网站主题开发的同时,能够减少开发周期,提高开发效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例一提供的一种网站主题的生成方法的流程图;

图2为本申请实施例的应用示例图;

图3为本申请实施例一的部分流程图;

图4及图5分别为本申请实施例的另一应用示例图;

图6及图7分别为本申请实施例一的另一部分流程图;

图8为本申请实施例二提供的一种网站主题的生成装置的结构示意图;

图9为本申请实施例二的部分结构示意图;

图10~图12分别为本申请实施例二的另一结构示意图;

图13及图14分别为本申请实施例二的其他应用示例图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参考图1,为本申请实施例一提供的一种网站主题的生成方法的实现流程图,该方法适用于能够进行数据处理的设备,如电脑或服务器中,用于生成网站主题文件,从而网站在运行时用户访问网站主题文件的统一资源定位符url来获取到网站主题文件,网站主题文件在网站页面中呈现给用户相应的页面主题风格,如图2中所示。

在本实施例中,该方法可以包括以下步骤:

步骤101:获得主题函数集合标识和主题样式标识。

其中,主题函数集合标识可以为唯一表示主题函数集合的名称或者编码等。而主题样式标识可以为唯一标识主题样式的名称或编码等。

需要说明的是,一个主题函数集合标识对应一个主题函数集合,一个主题函数集合中包括至少一个组件函数,一个主题函数集合中的每个组件函数分别对应一个组件,组件是指行业网站模板中具有类似外观和功能的展示或交互元素的集合,相同组件在编码实现中具有相同的代码结构,如标题组件、轮播图组件和按钮组件等,标题组件为具有显示标题的功能元素,轮播图组件为具有显示多张图片且可左右滑动查看的元素,按钮组件为具有可点击且表现形式如按钮的元素,等等。

其中,不同主题函数集合中相同组件对应的组件函数所呈现的组件样式不同。如标题组件有标题样式1和标题样式2两种组件样式。

而一个主题样式标识对应一个主题样式,一个主题样式中包括至少一个参数变量,如颜色变量。而参数变量是与主题函数集合中组件函数具有关联关系的,例如,标题组件函数中的标题字体颜色变量、标题背景颜色变量等。

在一种实现方式中,本实施例可以首先接收主题生成请求,该主题生成请求中包括主题函数集合标识和主题样式标识,再从该主题请求中获取到主题函数集合标识和主题样式标识。例如,用户在设备界面中进行输入操作,选择输入主题函数集合标识和主题样式标识,从而触发生成主题生成请求,本实施例中通过获取该请求,再从请求中获取两个标识。

步骤102:获得与主题函数集合标识相对应的目标主题函数集合及与主题样式标识相对应的目标主题样式。

其中,目标主题函数集合中包括:至少一个目标组件函数,如标题组件函数、轮播图组件函数和按钮组件函数。而目标主题样式中包括至少一个目标参数值,如主题颜色参数值、背景颜色参数值和文字颜色参数值。

步骤103:基于目标组件函数及目标参数值,生成网站主题文件。

其中,本实施例中可以将目标参数值作为目标组件函数的输入,使用层叠样式预处理语言对目标组件函数和目标参数值进行编译,生成网站主题的层叠样式文件,即网站主题文件。之后,在用户访问的网站网页中嵌入该层叠样式文件的统一资源定位符时,就可以看到该网站主题的展示效果。

由上述方案可知,本申请实施例一提供的一种网站主题的生成方法,通过预先设置主题函数集合和主题样式,在获得表明用户需求的主题函数集合标识和主题样式标识后,获取相应的目标主题函数集合和目标主题样式,从而基于其中的目标组件函数和目标参数值来生成网站主题文件,而生成的网站主题文件中通过目标组件函数及目标参数值来为用户呈现满足用户需求的网站主题风格或样式。本实施例在在实现网站主题文件生成时,通过预先进行主题组件抽取,消除不同网页中共有可服用的部分在开发中的重复劳动,同时对组件中变量参数进行抽取,从而形成定制化的主题函数集合和主题样式,由此,用户只需要选择需要的主题函数集合标识和主题样式标识,就可以基于标识对应的主题函数集合中的组件函数和主题样式中的参数值来生成网站主题文件,从而实现网站主题开发的同时,能够减少开发周期,提高开发效率。

在一种实现方式中,图1中步骤102可以通过以下方式实现,如图3中所示:

步骤301:在预设的主题函数集合数据库中,获得与主题函数集合标识相对应的目标主题函数集合。

其中,主题函数集合数据库中包括至少一个主题函数集合,每个主题函数集合中包括至少一个组件函数,每个主题函数集合中的组件函数种类相同,如均包含有标题组件函数和按钮组件函数等,而每个主题函数集合中同一种组件的组件函数所能够展示的组件样式并不相同,如图4中所示,两个主题函数集合1和2中,均包含标题组件函数、轮播图组件函数和按钮组件函数,而同一标题组件函数有相同的功能和编码结构,但所呈现的标题组件样式可以多种多样,如主题函数集合1和2中的标题组件函数分别呈现标题字体居中对齐的样式1和字体居左对齐的样式2。

另外,组件函数是指定义组件所有样式的样式规则,而组件函数中包括至少一个函数变量,该函数变量是指组件样式中的可变量,以参数的形式定义。组件函数可以理解为一个生成层叠样式文件的函数,如f(c1,…,cn)。这里的c1~cn表示n个函数变量,如组件的颜色、尺寸大小、位置、字体对其方式等等。

以标题组件为例,具有两种样式的标题组件函数:样式1和样式2,这两种样式中均具有两个颜色变量:标题字体颜色c1和标题背景色c2,标题组件函数表示为:ftitle(c1,c2)。同理,轮播图组件函数具有颜色变量:字体颜色c1,背景色c2,当前选中颜色c3,轮播图组件函数表示为:ffocus(c1,c2,c3);按钮组件函数具有颜色变量:字体颜色c1,背景色c2,当前选中颜色c3,边框颜色c4,按钮组件函数表示为:fbutton(c1,c2,c3,c4),而ftitle(c1,c2)、ffocus(c1,c2,c3)及fbutton(c1,c2,c3,c4)组成一个主题函数集合,该主题函数集合具有一个主题函数标识,如标识1。

由此,本实施例中,在主题函数集合数据库中查找与主题函数集合标识相对应的目标主题函数集合,该目标主题函数集合中包括至少一个目标组件函数,如目标标题组件函数、目标轮播图组件函数及按钮组件函数等,目标组件函数中包括至少一个函数变量,目标组件函数具有其特有的组件样式。

步骤302:在预设的主题样式数据库中,获得与主题样式标识相对应的目标主题样式。

其中,主题样式数据中包括至少一个主题样式,每个主题样式中包括至少一个变量参数,变量参数具有参数值,其中,变量参数的调用规则如顺序等与主题函数集合中的组件函数相关。如图5中所示,主题样式中包括三个颜色变量参数,分别具有相应的参数值,如:主题颜色变量theme_c1:黑色;背景颜色变量bg_c1:白色;文字颜色变量font_c1:黑色;相应的组件函数调用规则为:标题组件函数ftitle(theme_c1,bg_c1)、轮播图组件函数ffocus(theme_c1,bg_c1,bd_c1)、按钮组件函数fbutton(theme_c1,bg_c1,bd_c1,font_c1)。其中,参数值在主题样式中的调用规则不同,相应,主题函数集合结合主题样式所生成的网站主题文件不同,例如,如果theme_c1和bg_c1分别为黑色和白色,标题组件函数ftitle(theme_c1,bg_c1)会生产白底黑字的标题样式,而ftitle(bg_c1,theme_c1)则会生产黑底白字的标题样式。

由此,本实施例中,在主题样式数据库中查找与主题样式标识相对应的目标主题样式,该目标主题样式中包括至少一个目标变量,且目标变量具有参数值。

在一种实现方式中,主题函数集合数据库可以通过以下方式获得,如图6中所示:

步骤601:获得网站行业模板中的组件。

其中,组件具有至少一个组件样式。

具体的,本实施例中通过对各种行业网站模板中可能会出现的各种元素进行组件归类,从而得到各种具有特定外观和功能的展示或交互的元素集合,即组件,每个组件在编码实现中具有相同的代码结构,但具备特定的组件样式。例如标题组件,可能存在样式1、样式2两种样式:分别表示字体居中对齐的样式和字体居左对齐的样式。行业模板a使用的字体居中的标题组件,而行业模板b使用的是字体居左的标题组件。同理,轮播图组件和按钮组件在行业模板a和行业模板b中使用了不同的样式。当然,每个组件可能的样式也不限于两种,每个模板内相同组件的样式也可能是一样的。同一个组件具体呈现样式可以在组件的层叠样式表中具体定义。

步骤602:对所述组件针对所述组件样式进行组件函数设置,以生成所述组件的至少一个组件函数。

其中,所述组件函数中包括至少一个函数变量。

具体的,本实施例中在得到各种组件之后,可以针对每个组件进行组件函数定义,组件函数的定义是指定义组件所有样式的样式规则,之后,对组件函数中的可变量进行抽取,得到至少一个函数变量,其中函数变量可以以参数的形式定义。从形式上讲,完成一个组件的主题函数定义就是完成了一个生成层叠样式文件的函数的定义:f(c1,…,cn)。这里的c1…cn表示n个可定制的参数变量。理论上来讲可以将组件的尺寸大小、位置、字体对其方式等等诸多可变量抽取成变量。例如,对于主题来讲,最为重要的颜色变量的抽取,其他可变量则使用可枚举的样式,在f函数中硬编码实现,在行业模板中指明使用哪种样式即可。例如以标题组件为例,假设标题组件有只有两种样式(样式1和样式2),则两种样式中可以抽取出的颜色变量有两个:标题字体颜色c1,标题背景色c2。则标题的样式定义表示为ftitle(c1,c2)。同理轮播图组件可以抽取出变量字体颜色c1、背景色c2,、当前选中颜色c3;按钮组件可以抽取出字体颜色c1、背景色c2、当前选中颜色c3、边框颜色c4。依次对所有组件进行主题函数定义,可以得到一组包含颜色变量的函数:ftitle(c1,c2),ffocus(c1,c2,c3),fbutton(c1,c2,c3,c4)。

步骤603:基于所述组件的组件函数,生成至少一个主题函数集合,组成主题函数集合数据库。

其中,所述主题函数集合中包括所述组件的一个组件函数。

具体的,本实施例中从每个组件的不同样式的组件函数中选择一个组件函数组成一个主题函数集合,再将这个主题函数集合进行标识设置,如命名为1,该标识具有唯一性,并存储主题函数集合到数据库中,以便后续层叠样式文件的生成使用。

在一种实现方式中,主题样式数据库可以通过以下方式获得,如图7中所示:

步骤701:基于主题函数集合中组件函数的函数变量,生成参数变量集合。

其中,参数变量集合中包括至少一个参数变量,参数变量与函数变量具有关联关系,例如,组件函数的函数变量为颜色变量,相应参数变量集合中的参数变量为颜色变量。

步骤702:为所述参数变量设置至少一个参数值,以生成至少一个主题样式。

其中,所述主题样式中包括所述参数变量。本实施例中可以通过交互操作来设置参数变量的参数值,如图5中的主题样式中的参数值所示,本实施例中可以使用调色板对所有可用的颜色予以命名管理,用户可以通过调色板实现对参数变量的参数值设置。

比如可以定义一个调色板有以下命名的颜色:主题色theme_c1,背景色bg_c1,文字色font_c1,边框色border_c1。在具体的组件函数调用时使用调色板中的颜色做为参数即可。需要注意的是,主题函数集合中的组件函数的函数变量在主题样式中的参数值的顺序也是至关重要的。例如ftitle(c1,c2)定义了c1为标题字体颜色,c2为标题背景颜色;因此ftitle(theme_c1,bg_c1)和ftitle(bg_c1,theme_c1)两种函数调用的结果是截然不同的。如果theme_c1和bg_c1分别为黑色和白色,ftitle(theme_c1,bg_c1)会生产白底黑字的标题样式,ftitle(bg_c1,theme_c1)会生产黑底白字的标题样式。因此通过提供一个调色板和一个调用主题函数集合中的函数的参数值,即定义了一个主题样式。

在一种实现方式中,本实施例中可以根据用户对主题函数集合和主题样式进行修改,从而得到新的主题函数集合和新的主题样式。

例如,本实施例中通过获取用户的第一输入操作如函数修改数据,进而响应于用户的第一输入操作,从而获得第一输入操作中对主题函数集合的修改数据,如修改某个函数的实现结构等,从而基于修改数据,生成新的主题函数集合,例如将修改后的主题函数集合另存为新的主题函数集合,保存到主题函数集合数据库中。

再如,本实施例中通过获取用户的第二输入数据如参数值修改数据,进而响应于用户的第二输入操作,从而获得第二输入操作中对主题样式中参数变量的参数值的修改数据,如修改某个颜色参数变量的参数值为红色,从而基于修改数据,生成新的主题样式,例如将修改后的主题样式另存为新的主题样式,保存到主题样式数据库中。

参考图8,为本申请实施例二提供的一种网站主题的生成装置的结构示意图,该装置可以在能够进行数据处理的设备上实现,如电脑或服务器,用于生成网站主题文件,从而网站在运行时,用户访问网站主题文件的统一资源定位符url来获取到网站主题文件,网站主题文件在网站页面中呈现给用户相应的页面主题风格,如图2中所示。

在本实施例中,该装置可以包括以下结构:

标识获得单元801,用于获得主题函数集合标识和主题样式标识。

其中,主题函数集合标识可以为唯一表示主题函数集合的名称或者编码等。而主题样式标识可以为唯一标识主题样式的名称或编码等。

需要说明的是,一个主题函数集合标识对应一个主题函数集合,一个主题函数集合中包括至少一个组件函数,一个主题函数集合中的每个组件函数分别对应一个组件,组件是指行业网站模板中具有类似外观和功能的展示或交互元素的集合,相同组件在编码实现中具有相同的代码结构,如标题组件、轮播图组件和按钮组件等,标题组件为具有显示标题的功能元素,轮播图组件为具有显示多张图片且可左右滑动查看的元素,按钮组件为具有可点击且表现形式如按钮的元素,等等。

其中,不同主题函数集合中相同组件对应的组件函数所呈现的组件样式不同。如标题组件有标题样式1和标题样式2两种组件样式。

而一个主题样式标识对应一个主题样式,一个主题样式中包括至少一个参数变量,如颜色变量。而参数变量是与主题函数集合中组件函数具有关联关系的,例如,标题组件函数中的标题字体颜色变量、标题背景颜色变量等。

在一种实现方式中,本实施例中标识获得单元801可以首先接收主题生成请求,该主题生成请求中包括主题函数集合标识和主题样式标识,再从该主题请求中获取到主题函数集合标识和主题样式标识。例如,用户在设备界面中进行输入操作,选择输入主题函数集合标识和主题样式标识,从而触发生成主题生成请求,本实施例中通过获取该请求,再从请求中获取两个标识。

目标获取单元802,用于获得与所述主题函数集合标识相对应的目标主题函数集合及与所述主题样式标识相对应的目标主题样式。

其中,目标主题函数集合中包括:至少一个目标组件函数,如标题组件函数、轮播图组件函数和按钮组件函数。而目标主题样式中包括至少一个目标参数值,如主题颜色参数值、背景颜色参数值和文字颜色参数值。

文件生成单元803,用于基于所述目标组件函数及所述目标参数值,生成网站主题文件。

其中,本实施例中可以将目标参数值作为目标组件函数的输入,使用层叠样式预处理语言对目标组件函数和目标参数值进行编译,生成网站主题的层叠样式文件,即网站主题文件。之后,在用户访问的网站网页中嵌入该层叠样式文件的统一资源定位符时,就可以看到该网站主题的展示效果。

由上述方案可知,本申请实施例二提供的一种网站主题的生成装置,通过预先设置主题函数集合和主题样式,在获得表明用户需求的主题函数集合标识和主题样式标识后,获取相应的目标主题函数集合和目标主题样式,从而基于其中的目标组件函数和目标参数值来生成网站主题文件,而生成的网站主题文件中通过目标组件函数及目标参数值来为用户呈现满足用户需求的网站主题风格或样式。本实施例在在实现网站主题文件生成时,通过预先进行主题组件抽取,消除不同网页中共有可服用的部分在开发中的重复劳动,同时对组件中变量参数进行抽取,从而形成定制化的主题函数集合和主题样式,由此,用户只需要选择需要的主题函数集合标识和主题样式标识,就可以基于标识对应的主题函数集合中的组件函数和主题样式中的参数值来生成网站主题文件,从而实现网站主题开发的同时,能够减少开发周期,提高开发效率。

在一种实现方式中,图8中的目标获取单元802可以包括以下结构,如图9中所示:

函数获取模块901,用于在预设的主题函数集合数据库中,获得与所述主题函数集合标识相对应的目标主题函数集合。

其中,主题函数集合数据库中包括至少一个主题函数集合,每个主题函数集合中包括至少一个组件函数,每个主题函数集合中的组件函数种类相同,如均包含有标题组件函数和按钮组件函数等,而每个主题函数集合中同一种组件的组件函数所能够展示的组件样式并不相同,如图4中所示,两个主题函数集合1和2中,均包含标题组件函数、轮播图组件函数和按钮组件函数,而同一标题组件函数有相同的功能和编码结构,但所呈现的标题组件样式可以多种多样,如主题函数集合1和2中的标题组件函数分别呈现标题字体居中对齐的样式1和字体居左对齐的样式2。

另外,组件函数是指定义组件所有样式的样式规则,而组件函数中包括至少一个函数变量,该函数变量是指组件样式中的可变量,以参数的形式定义。组件函数可以理解为一个生成层叠样式文件的函数,如f(c1,…,cn)。这里的c1~cn表示n个函数变量,如组件的颜色、尺寸大小、位置、字体对其方式等等。

以标题组件为例,具有两种样式的标题组件函数:样式1和样式2,这两种样式中均具有两个颜色变量:标题字体颜色c1和标题背景色c2,标题组件函数表示为:ftitle(c1,c2)。同理,轮播图组件函数具有颜色变量:字体颜色c1,背景色c2,当前选中颜色c3,轮播图组件函数表示为:ffocus(c1,c2,c3);按钮组件函数具有颜色变量:字体颜色c1,背景色c2,当前选中颜色c3,边框颜色c4,按钮组件函数表示为:fbutton(c1,c2,c3,c4),而ftitle(c1,c2)、ffocus(c1,c2,c3)及fbutton(c1,c2,c3,c4)组成一个主题函数集合,该主题函数集合具有一个主题函数标识,如标识1。

由此,本实施例中,函数获取模块901在主题函数集合数据库中查找与主题函数集合标识相对应的目标主题函数集合,该目标主题函数集合中包括至少一个目标组件函数,如目标标题组件函数、目标轮播图组件函数及按钮组件函数等,目标组件函数中包括至少一个函数变量,目标组件函数具有其特有的组件样式。

样式获取模块902,用于在预设的主题样式数据库中,获得与所述主题样式标识相对应的目标主题样式。

其中,主题样式数据中包括至少一个主题样式,每个主题样式中包括至少一个变量参数,变量参数具有参数值,其中,变量参数的调用规则如顺序等与主题函数集合中的组件函数相关。如图5中所示,主题样式中包括三个颜色变量参数,分别具有相应的参数值,如:主题颜色变量theme_c1:黑色;背景颜色变量bg_c1:白色;文字颜色变量font_c1:黑色;相应的组件函数调用规则为:标题组件函数ftitle(theme_c1,bg_c1)、轮播图组件函数ffocus(theme_c1,bg_c1,bd_c1)、按钮组件函数fbutton(theme_c1,bg_c1,bd_c1,font_c1)。其中,参数值在主题样式中的调用规则不同,相应,主题函数集合结合主题样式所生成的网站主题文件不同,例如,如果theme_c1和bg_c1分别为黑色和白色,标题组件函数ftitle(theme_c1,bg_c1)会生产白底黑字的标题样式,而ftitle(bg_c1,theme_c1)则会生产黑底白字的标题样式。

由此,本实施例中,样式获取模块902在主题样式数据库中查找与主题样式标识相对应的目标主题样式,该目标主题样式中包括至少一个目标变量,且目标变量具有参数值。

在一种实现方式中,本实施例中的装置还可以包括以下结构,如图10中所示:

第一获取单元804,用于获得所述主题函数集合数据库;

具体用于:获得网站行业模板中的组件,所述组件具有至少一个组件样式;对所述组件针对所述组件样式进行组件函数设置,以生成所述组件的至少一个组件函数,所述组件函数中包括至少一个函数变量;基于所述组件的组件函数,生成至少一个主题函数集合,组成主题函数集合数据库,所述主题函数集合中包括所述组件的一个组件函数。

例如,本实施例中第一获取单元804通过对各种行业网站模板中可能会出现的各种元素进行组件归类,从而得到各种具有特定外观和功能的展示或交互的元素集合,即组件,每个组件在编码实现中具有相同的代码结构,但具备特定的组件样式。例如标题组件,可能存在样式1、样式2两种样式:分别表示字体居中对齐的样式和字体居左对齐的样式。行业模板a使用的字体居中的标题组件,而行业模板b使用的是字体居左的标题组件。同理,轮播图组件和按钮组件在行业模板a和行业模板b中使用了不同的样式。当然,每个组件可能的样式也不限于两种,每个模板内相同组件的样式也可能是一样的。同一个组件具体呈现样式可以在组件的层叠样式表中具体定义。

之后,第一获取单元804在得到各种组件之后,可以针对每个组件进行组件函数定义,组件函数的定义是指定义组件所有样式的样式规则,之后,对组件函数中的可变量进行抽取,得到至少一个函数变量,其中函数变量可以以参数的形式定义。从形式上讲,完成一个组件的主题函数定义就是完成了一个生成层叠样式文件的函数的定义:f(c1,…,cn)。这里的c1…cn表示n个可定制的参数变量。理论上来讲可以将组件的尺寸大小、位置、字体对其方式等等诸多可变量抽取成变量。例如,对于主题来讲,最为重要的颜色变量的抽取,其他可变量则使用可枚举的样式,在f函数中硬编码实现,在行业模板中指明使用哪种样式即可。例如以标题组件为例,假设标题组件有只有两种样式(样式1和样式2),则两种样式中可以抽取出的颜色变量有两个:标题字体颜色c1,标题背景色c2。则标题的样式定义表示为ftitle(c1,c2)。同理轮播图组件可以抽取出变量字体颜色c1、背景色c2,、当前选中颜色c3;按钮组件可以抽取出字体颜色c1、背景色c2、当前选中颜色c3、边框颜色c4。依次对所有组件进行主题函数定义,可以得到一组包含颜色变量的函数:ftitle(c1,c2),ffocus(c1,c2,c3),fbutton(c1,c2,c3,c4)。

最后,第一获取单元804从每个组件的不同样式的组件函数中选择一个组件函数组成一个主题函数集合,再将这个主题函数集合进行标识设置,如命名为1,该标识具有唯一性,并存储主题函数集合到数据库中,以便后续层叠样式文件的生成使用。

在一种实现方式中,本实施例中的装置还可以包括以下结构,如图11中所示:

第二获取单元805,用于获得所述主题样式数据库;

具体用于:基于所述主题函数集合中组件函数的函数变量,生成参数变量集合,所述参数变量集合中包括至少一个参数变量,所述参数变量与所述函数变量具有关联关系;为所述参数变量设置至少一个参数值,以生成至少一个主题样式,所述主题样式中包括所述参数变量。

其中,参数变量集合中包括至少一个参数变量,参数变量与函数变量具有关联关系,例如,组件函数的函数变量为颜色变量,相应参数变量集合中的参数变量为颜色变量。所述主题样式中包括所述参数变量。本实施例中第二获取单元805可以通过交互操作来设置参数变量的参数值,如图5中的主题样式中的参数值所示,本实施例中可以使用调色板对所有可用的颜色予以命名管理,用户可以通过调色板实现对参数变量的参数值设置。

比如第二获取单元805可以定义一个调色板有以下命名的颜色:主题色theme_c1,背景色bg_c1,文字色font_c1,边框色border_c1。在具体的组件函数调用时使用调色板中的颜色做为参数即可。需要注意的是,主题函数集合中的组件函数的函数变量在主题样式中的参数值的顺序也是至关重要的。例如ftitle(c1,c2)定义了c1为标题字体颜色,c2为标题背景颜色;因此ftitle(theme_c1,bg_c1)和ftitle(bg_c1,theme_c1)两种函数调用的结果是截然不同的。如果theme_c1和bg_c1分别为黑色和白色,ftitle(theme_c1,bg_c1)会生产白底黑字的标题样式,ftitle(bg_c1,theme_c1)会生产黑底白字的标题样式。因此通过提供一个调色板和一个调用主题函数集合中的函数的参数值,即定义了一个主题样式。

在一种实现方式中,本实施例中的装置还可以包括以下结构,如图12中所示:

更新单元806,用于响应于用户的第一输入操作,获得所述第一输入操作中对所述主题函数集合的修改数据,基于所述修改数据,生成新的主题函数集合。

例如,本实施例中样式更新单元806通过获取用户的第一输入操作如函数修改数据,进而响应于用户的第一输入操作,从而获得第一输入操作中对主题函数集合的修改数据,如修改某个函数的实现结构等,从而基于修改数据,生成新的主题函数集合,例如将修改后的主题函数集合另存为新的主题函数集合,保存到主题函数集合数据库中。

所述更新单元806,还用于响应于用户的第二输入操作,获得所述第二输入操作中对所述参数值的修改数据,基于所述修改数据,生成新的主题样式。

再如,本实施例中再如,本实施例中通过获取用户的第二输入数据如参数值修改数据,进而响应于用户的第二输入操作,从而获得第二输入操作中对主题样式中参数变量的参数值的修改数据,如修改某个颜色参数变量的参数值为红色,从而基于修改数据,生成新的主题样式,例如将修改后的主题样式另存为新的主题样式,保存到主题样式数据库中。

通过获取用户的第二输入数据如参数值修改数据,进而响应于用户的第二输入操作,从而获得第二输入操作中对主题样式中参数变量的参数值的修改数据,如修改某个颜色参数变量的参数值为红色,从而基于修改数据,生成新的主题样式,例如将修改后的主题样式另存为新的主题样式,保存到主题样式数据库中。

另外,本申请实施例三还提供了一种电子设备,用以生成网站主题文件,在具体实现中,该电子设备中可以通过三部分实现,分别为:主题函数系统、主题样式系统及层叠样式生成器,各部分的具体实现如下:

主题函数系统对行业模板中可能会出现的元素进行组件归类。所谓组件,指的是行业模板中具有类似外观和功能的展示或交互元素的集合,相同组件在编码实现中具备相同的代码结构。例如:行业模板中所有显示标题的功能的元素,都可以归类为标题组件(title);所有具备显示多张图片且可左右滑动查看的元素,都可以归类为轮播图组件(focus);所有可点击且表现形式如按钮的元素都可以归类为按钮组件(button)。对行业模板进行组件归类后,得到一个包含所有行业模板中可能出现的组件集合s。为描述简便,假设集合s只有三种组件:标题组件title,轮播图组件focus,按钮组件button。

也就是说,本实施例中可以使用s集合中的组件来表示系统中的每个行业模板的构成。例如:行业模板a和行业模板b,可以分别表示如图4中所示。值得注意的是,虽然每个组件具备相同的功能和编码结构,但是可能具备多种样式。例如标题组件,可能存在样式1,样式2两种样式;分别表示字体居中对齐的样式和字体居左对齐的样式。行业模板a使用的居中的标题,而行业模板b使用的是字体居左的标题。同理轮播图组件和按钮组件在行业模板a和行业模板b中使用了不同的样式。当然,每个组件可能的样式也不限于两种,每个模板内相同组件的样式也可以是一样的。同一个组件具体呈现样式可以在组件的层叠样式表中具体定义。

之后,主题函数系统在得到组件集合s之后,就可以开始针对每个组件进行主题函数定义。组件的主题函数定义是指定义组件所有样式的样式规则,然后对可变量进行抽取,以参数的形式定义出来。从形式上讲,完成一个组件的主题函数定义就是完成了一个生成层叠样式的函数:f(c1,…,cn)。这里的c1…cn表示n个可定制的参数变量。理论上来讲可以将组件的尺寸大小、位置、字体对其方式等等诸多可变量抽取成变量。但对于主题来讲,最为重要的颜色变量的抽取。其他可变量则使用可枚举的样式,在f函数中硬编码实现,在行业模板中指明使用哪种样式即可。例如以标题组件为例,假设我们的标题组件有只有两种样式(样式1和样式2),则两种样式中可以抽取出的颜色变量有两个:标题字体颜色c1,标题背景色c2。则标题的样式定义表示为ftitle(c1,c2)。同理轮播图可以抽取出变量字体颜色c1、背景色c2、当前选中颜色c3;按钮组件可以抽取出字体颜色c1、背景色c2、当前选中颜色c3、边框颜色c4。依次对系统中所有组件进行主题函数定义,可以得到一组包含颜色变量的函数:ftitle(c1,c2),ffocus(c1,c2,c3),fbutton(c1,c2,c3,c4)。将这组主题函数定义集合存储到主题函数系统中,以便后续层叠样式生成器使用。为了方便描述,将保存的主题函数定义集合用一个唯一的名称来标识,例如将上文中抽取的主题函数集合命名为主题函数集1。

之后,为了将主题函数定义生产最终可用的层叠样式,实际上上调用主题函数定义集合中的所有函数,给每个函数传入合适的颜色值即可。这个过程中关键的可变量为调用主题函数集合中每个函数的参数的值。为了管理所有的参数值,主题样式系统使用调色板将所有可用的颜色予以命名管理。比如可以定义一个调色板有以下命名的颜色:主题色theme_c1,背景色bg_c1,文字色font_c1,边框色border_c1。在具体的函数调用时使用调色板中的颜色做为参数即可。需要注意的是,主题函数中的函数的参数的顺序也是至关重要的。例如ftitle(c1,c2)定义了c1为标题字体颜色,c2为标题背景颜色;因此ftitle(theme_c1,bg_c1)和ftitle(bg_c1,theme_c1)两种函数调用的结果是截然不同的。如果theme_c1和bg_c1分别为黑色和白色,ftitle(theme_c1,bg_c1)会生产白底黑字的标题样式,ftitle(bg_c1,theme_c1)会生产黑底白字的标题样式。因此通过提供一个调色板和一个调用主题函数集合中的函数的参数值,即定义了一个主题样式。主题样式的数据结构如图5中所示。

将定义好的主题样式存储到主题样式系统中,为方便后续引用可以给主题一个唯一的名称,通过名称即可查找到对应的主题数据。例如,将上文中定义的主题命名为:主题1。

最后,网页的呈现样式是通过层叠样式文件控制的。层叠样式生成器的作用,就是生成网站页面所需的层叠样式文件。在网页中,层叠样式文件是通过统一资源定位符(以下简称url)引用的。在本系统中,层叠样式文件的url会映射到一个层叠样式生成器(以下简称生成器)。用户访问层叠样式文件的url时,生成器则会生成层叠样式文件返回给用户。因为主题函数集合和主题样式都可以通过一个唯一的名称进行标识和引用。因此在访问层叠样式文件的统一资源定位符中,用户只需提供主题函数集合名和主题样式名作为参数即可。层叠样式生成器接收到这两个参数之后生成器查询主题函数系统和主题样式系统中对应的数据,使用层叠样式预处理语言编译生产层叠样式文件。在用户访问的网页中嵌入这个层叠样式文件url时,即可看到主题的效果。具体的交互过程如图13中所示。

在具体实现中,因为主题中的每个主题函数集合中组件函数所调用使用的变量都取自于调色板,因此用户可以基于一个主题拓展出自定义的主题,方法是将一个主题样式在调色板中对应的颜色值换成用户选定的颜色值,保留原有主题的主题函数集合调用参数部分,另存为一个新主题样式即可。例如:用户将原来主题样式1在调色板theme_c1对应的参数值修改为蓝色,然后另存为一个名为主题样式2的主题样式,即可拓展出一个主题色为蓝色的主题样式。使用主题样式2时,只需将层叠样式文件的url中的主题参数值改为主题样式2即可。

例如,为了方便用户自定义主题,本实施例中将提供了一个10格的调色板,如下图14中所示。

在实践过程中,主题颜色的使用可以简化到主色和辅色两种,主题中可以使用这两种颜色的不同明度的颜色值。用户可以通过选定主色和辅助色两种颜色即可自动生成这个10个颜色的调色板,生成规则是按颜色值的明度的10%为阶梯递增或递减得到。

此外,主题函数系统中的主题函数集合,也是可以基于已有主题函数集合进行拓展的。例如上文中的名为函数集合1的主题函数集合,可以保持函数集合中的每个函数的签名(即函数的函数名和参数的个数)不变,然后对集合中的每个函数的实现进行重新编码,然后另存为新的函数集合,假设新函数集合名为函数集合2。因为函数集合2中的每个函数签名和函数集合1中的是一致的,所以原来可以使用在函数集合1上的所有主题,在函数集合2上都是可以直接使用的。在具体使用时,只需将层叠样式文件的url中主题函数集合名更换为函数集合2即可。因此如果系统中有m个主题函数集合和n个主题,则用户实际可用的主题效果是m*n个。

另外,对集合中的每个函数进行编码需要一定的层叠样式预处理语言基础。开发者可以已有函数集合,开发出新的主题风格的函数集合,而无需关注与现有主题的兼容性问题,因为在函数集合中的函数签名一致已经保证了这一点。对于普通用户而言,除系统中已有的主题样式之外,还可以通过提供调整主题调色板中的颜色值,生成自己的主题,从而达到自定义的主题的效果。在本系统中,对开发者和普通用户提供简洁易用的可拓展性设计,是区别于传统网页主题的本质特征。

由此,本实施例中通过组件抽取,消除了不同网页中共有可复用的部分在主题开发过程中的重复劳动。同时通过对组件样式的可变因素进行函数变量抽取的方式,提供了一种可服用,可定制化的样式规则。通过调色板和组件主题函数集合中函数的调用,实现了用户可定制的主题。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种网站主题的生成方法及装置进行了详细介绍,对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1