diff --git a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Index.cshtml b/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Index.cshtml
index c325513079..c0a95fb5cc 100644
--- a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Index.cshtml
+++ b/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/Index.cshtml
@@ -15,6 +15,7 @@
}
@section scripts {
diff --git a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/New.cshtml b/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/New.cshtml
index 810a0e3203..0d970c3c8a 100644
--- a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/New.cshtml
+++ b/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Posts/New.cshtml
@@ -17,8 +17,9 @@
}
@section scripts {
diff --git a/modules/blogging/src/Volo.Blogging.Web/wwwroot/client-proxies/blogging-proxy.js b/modules/blogging/src/Volo.Blogging.Web/wwwroot/client-proxies/blogging-proxy.js
new file mode 100644
index 0000000000..3b0905a0d5
--- /dev/null
+++ b/modules/blogging/src/Volo.Blogging.Web/wwwroot/client-proxies/blogging-proxy.js
@@ -0,0 +1,190 @@
+/* This file is automatically generated by ABP framework to use MVC Controllers from javascript. */
+
+
+// module blogging
+
+(function(){
+
+ // controller volo.blogging.blogFiles
+
+ (function(){
+
+ abp.utils.createNamespace(window, 'volo.blogging.blogFiles');
+
+ volo.blogging.blogFiles.get = function(name, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/files/' + name + '',
+ type: 'GET'
+ }, ajaxParams));
+ };
+
+ volo.blogging.blogFiles.getForWeb = function(name, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/files/www/' + name + '',
+ type: 'GET'
+ }, ajaxParams));
+ };
+
+ volo.blogging.blogFiles.create = function(input, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/files',
+ type: 'POST',
+ data: JSON.stringify(input)
+ }, ajaxParams));
+ };
+
+ volo.blogging.blogFiles.uploadImage = function(file, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/files/images/upload',
+ type: 'POST'
+ }, ajaxParams));
+ };
+
+ })();
+
+ // controller volo.blogging.blogs
+
+ (function(){
+
+ abp.utils.createNamespace(window, 'volo.blogging.blogs');
+
+ volo.blogging.blogs.getList = function(ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/blogs',
+ type: 'GET'
+ }, ajaxParams));
+ };
+
+ volo.blogging.blogs.getByShortName = function(shortName, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/blogs/by-shortname/' + shortName + '',
+ type: 'GET'
+ }, ajaxParams));
+ };
+
+ volo.blogging.blogs.get = function(id, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/blogs/' + id + '',
+ type: 'GET'
+ }, ajaxParams));
+ };
+
+ })();
+
+ // controller volo.blogging.comments
+
+ (function(){
+
+ abp.utils.createNamespace(window, 'volo.blogging.comments');
+
+ volo.blogging.comments.getHierarchicalListOfPost = function(postId, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/comments/hierarchical/' + postId + '',
+ type: 'GET'
+ }, ajaxParams));
+ };
+
+ volo.blogging.comments.create = function(input, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/comments',
+ type: 'POST',
+ data: JSON.stringify(input)
+ }, ajaxParams));
+ };
+
+ volo.blogging.comments.update = function(id, input, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/comments/' + id + '',
+ type: 'PUT',
+ data: JSON.stringify(input)
+ }, ajaxParams));
+ };
+
+ volo.blogging.comments['delete'] = function(id, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/comments/' + id + '',
+ type: 'DELETE',
+ dataType: null
+ }, ajaxParams));
+ };
+
+ })();
+
+ // controller volo.blogging.posts
+
+ (function(){
+
+ abp.utils.createNamespace(window, 'volo.blogging.posts');
+
+ volo.blogging.posts.getListByBlogIdAndTagName = function(blogId, tagName, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/posts/' + blogId + '/all' + abp.utils.buildQueryString([{ name: 'tagName', value: tagName }]) + '',
+ type: 'GET'
+ }, ajaxParams));
+ };
+
+ volo.blogging.posts.getTimeOrderedList = function(blogId, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/posts/' + blogId + '/all/by-time',
+ type: 'GET'
+ }, ajaxParams));
+ };
+
+ volo.blogging.posts.getForReading = function(input, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/posts/read' + abp.utils.buildQueryString([{ name: 'url', value: input.url }, { name: 'blogId', value: input.blogId }]) + '',
+ type: 'GET'
+ }, ajaxParams));
+ };
+
+ volo.blogging.posts.get = function(id, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/posts/' + id + '',
+ type: 'GET'
+ }, ajaxParams));
+ };
+
+ volo.blogging.posts.create = function(input, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/posts',
+ type: 'POST',
+ data: JSON.stringify(input)
+ }, ajaxParams));
+ };
+
+ volo.blogging.posts.update = function(id, input, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/posts/' + id + '',
+ type: 'PUT',
+ data: JSON.stringify(input)
+ }, ajaxParams));
+ };
+
+ volo.blogging.posts['delete'] = function(id, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/posts/' + id + '',
+ type: 'DELETE',
+ dataType: null
+ }, ajaxParams));
+ };
+
+ })();
+
+ // controller volo.blogging.tags
+
+ (function(){
+
+ abp.utils.createNamespace(window, 'volo.blogging.tags');
+
+ volo.blogging.tags.getPopularTags = function(blogId, input, ajaxParams) {
+ return abp.ajax($.extend(true, {
+ url: abp.appPath + 'api/blogging/tags/popular/' + blogId + '' + abp.utils.buildQueryString([{ name: 'resultCount', value: input.resultCount }, { name: 'minimumPostCount', value: input.minimumPostCount }]) + '',
+ type: 'GET'
+ }, ajaxParams));
+ };
+
+ })();
+
+})();
+
+
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml
index e730d549d3..e709b5387d 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Create.cshtml
@@ -26,6 +26,7 @@
+
}
@@ -59,11 +60,11 @@
-
+
-
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Index.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Index.cshtml
index b819b0a161..6126853913 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Index.cshtml
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Index.cshtml
@@ -17,6 +17,7 @@
}
@section scripts {
+
}
@@ -36,9 +37,9 @@
\ No newline at end of file
+
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml
index ca2e02b3f6..bd4903f50b 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/BlogPosts/Update.cshtml
@@ -26,6 +26,7 @@
-
+
@if (Model.TagsFeature?.IsEnabled == true)
@@ -87,4 +88,4 @@
-
\ No newline at end of file
+
diff --git a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/Index.cshtml b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/Index.cshtml
index 10afa5118d..be9064ab16 100644
--- a/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/Index.cshtml
+++ b/modules/cms-kit/src/Volo.CmsKit.Admin.Web/Pages/CmsKit/Blogs/Index.cshtml
@@ -17,12 +17,13 @@
}
@section scripts {
-