From bdbc0a04cd4fc83d851735ca34ac6746b1863704 Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Wed, 24 Nov 2021 11:31:07 +0300 Subject: [PATCH 1/4] Add note about "long identifier support up to 128 bytes with v12.2+" to Oracle documentations --- docs/en/Entity-Framework-Core-Oracle-Devart.md | 2 ++ docs/en/Entity-Framework-Core-Oracle-Official.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docs/en/Entity-Framework-Core-Oracle-Devart.md b/docs/en/Entity-Framework-Core-Oracle-Devart.md index ecd4f65e0c..872c36a01e 100644 --- a/docs/en/Entity-Framework-Core-Oracle-Devart.md +++ b/docs/en/Entity-Framework-Core-Oracle-Devart.md @@ -4,6 +4,8 @@ This document explains how to switch to the **Oracle** database provider for **[ > This document uses a paid library of [Devart](https://www.devart.com/dotconnect/oracle/) company, See [this document](Entity-Framework-Core-Oracle.md) for other options. +> Before switching your provider, please ensure your Oracle version is **v12.2+**. In the earlier versions of Oracle, there were long identifier limitations that prevents creating a database table, column or index longer than 30 bytes. With [v12.2](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/newft/new-features.html#GUID-64283AD6-0939-47B0-856E-5E9255D7246B) "The maximum length of identifiers is increased to 128 bytes". **v12.2** and later versions, you can use the database tables, columns and indexes provided by ABP without any problems. + ## Replace the Volo.Abp.EntityFrameworkCore.SqlServer Package `.EntityFrameworkCore` project in the solution depends on the [Volo.Abp.EntityFrameworkCore.SqlServer](https://www.nuget.org/packages/Volo.Abp.EntityFrameworkCore.SqlServer) NuGet package. Remove this package and add the same version of the [Volo.Abp.EntityFrameworkCore.Oracle.Devart](https://www.nuget.org/packages/Volo.Abp.EntityFrameworkCore.Oracle.Devart) package. diff --git a/docs/en/Entity-Framework-Core-Oracle-Official.md b/docs/en/Entity-Framework-Core-Oracle-Official.md index b273515ac1..a3bb0f7b1b 100644 --- a/docs/en/Entity-Framework-Core-Oracle-Official.md +++ b/docs/en/Entity-Framework-Core-Oracle-Official.md @@ -2,6 +2,8 @@ This document explains how to switch to the **Oracle** database provider for **[the application startup template](Startup-Templates/Application.md)** which comes with SQL Server provider pre-configured. +> Before switching your provider, please ensure your Oracle version is **v12.2+**. In the earlier versions of Oracle, there were long identifier limitations that prevents creating a database table, column or index longer than 30 bytes. With [v12.2](https://docs.oracle.com/en/database/oracle/oracle-database/12.2/newft/new-features.html#GUID-64283AD6-0939-47B0-856E-5E9255D7246B) "The maximum length of identifiers is increased to 128 bytes". **v12.2** and later versions, you can use the database tables, columns and indexes provided by ABP without any problems. + ## Replace the Volo.Abp.EntityFrameworkCore.SqlServer Package `.EntityFrameworkCore` project in the solution depends on the [Volo.Abp.EntityFrameworkCore.SqlServer](https://www.nuget.org/packages/Volo.Abp.EntityFrameworkCore.SqlServer) NuGet package. Remove this package and add the same version of the [Volo.Abp.EntityFrameworkCore.Oracle](https://www.nuget.org/packages/Volo.Abp.EntityFrameworkCore.Oracle) package. From be79ff946487210ecca9f12729f08cdacdad513e Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 26 Nov 2021 16:21:42 +0800 Subject: [PATCH 2/4] Use the extension method of SystemTextJson. --- .../JsonConverters/AbpHasExtraPropertiesJsonConverter.cs | 5 +++-- .../Volo/Abp/MemoryDb/JsonConverters/EntityJsonConverter.cs | 4 ++-- .../SelectionStringValueItemSourceJsonConverter.cs | 2 +- .../JsonConverters/StringValueTypeJsonConverter.cs | 6 +++--- .../JsonConverters/ValueValidatorJsonConverter.cs | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/framework/src/Volo.Abp.Json/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpHasExtraPropertiesJsonConverter.cs b/framework/src/Volo.Abp.Json/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpHasExtraPropertiesJsonConverter.cs index ebd561c0ae..792b96144e 100644 --- a/framework/src/Volo.Abp.Json/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpHasExtraPropertiesJsonConverter.cs +++ b/framework/src/Volo.Abp.Json/Volo/Abp/Json/SystemTextJson/JsonConverters/AbpHasExtraPropertiesJsonConverter.cs @@ -27,12 +27,13 @@ namespace Volo.Abp.Json.SystemTextJson.JsonConverters var rootElement = JsonDocument.ParseValue(ref reader).RootElement; if (rootElement.ValueKind == JsonValueKind.Object) { - var extensibleObject = JsonSerializer.Deserialize(rootElement.GetRawText(), newOptions); + var extensibleObject = rootElement.Deserialize(newOptions); var extraPropertiesJsonProperty = rootElement.EnumerateObject().FirstOrDefault(x => x.Name.Equals(nameof(IHasExtraProperties.ExtraProperties), StringComparison.OrdinalIgnoreCase)); + if (extraPropertiesJsonProperty.Value.ValueKind == JsonValueKind.Object) { - var extraPropertyDictionary = JsonSerializer.Deserialize(extraPropertiesJsonProperty.Value.GetRawText(), typeof(ExtraPropertyDictionary), newOptions); + var extraPropertyDictionary = extraPropertiesJsonProperty.Value.Deserialize(typeof(ExtraPropertyDictionary), newOptions); ObjectHelper.TrySetProperty(extensibleObject, x => x.ExtraProperties, () => extraPropertyDictionary); } diff --git a/framework/test/Volo.Abp.MemoryDb.Tests/Volo/Abp/MemoryDb/JsonConverters/EntityJsonConverter.cs b/framework/test/Volo.Abp.MemoryDb.Tests/Volo/Abp/MemoryDb/JsonConverters/EntityJsonConverter.cs index 09c08af9a8..2a26c6ee42 100644 --- a/framework/test/Volo.Abp.MemoryDb.Tests/Volo/Abp/MemoryDb/JsonConverters/EntityJsonConverter.cs +++ b/framework/test/Volo.Abp.MemoryDb.Tests/Volo/Abp/MemoryDb/JsonConverters/EntityJsonConverter.cs @@ -13,12 +13,12 @@ namespace Volo.Abp.MemoryDb.JsonConverters var jsonDocument = JsonDocument.ParseValue(ref reader); if (jsonDocument.RootElement.ValueKind == JsonValueKind.Object) { - var entity = (TEntity)JsonSerializer.Deserialize(jsonDocument.RootElement.GetRawText(), typeToConvert); + var entity = (TEntity)jsonDocument.RootElement.Deserialize(typeToConvert); var idJsonElement = jsonDocument.RootElement.GetProperty(nameof(Entity.Id)); if (idJsonElement.ValueKind != JsonValueKind.Undefined) { - var id = JsonSerializer.Deserialize(idJsonElement.GetRawText()); + var id = idJsonElement.Deserialize(); if (id != null) { EntityHelper.TrySetId(entity, () => id); diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/JsonConverters/SelectionStringValueItemSourceJsonConverter.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/JsonConverters/SelectionStringValueItemSourceJsonConverter.cs index bae37dbff9..9d62f9952c 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/JsonConverters/SelectionStringValueItemSourceJsonConverter.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/JsonConverters/SelectionStringValueItemSourceJsonConverter.cs @@ -19,7 +19,7 @@ namespace Volo.Abp.FeatureManagement.JsonConverters var newOptions = JsonSerializerOptionsHelper.Create(options, this); var selectionStringValueItem = - JsonSerializer.Deserialize(itemsJsonProperty.Value.GetRawText(), newOptions) ?? + itemsJsonProperty.Value.Deserialize(newOptions) ?? Array.Empty(); return new StaticSelectionStringValueItemSource(selectionStringValueItem.As()); diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/JsonConverters/StringValueTypeJsonConverter.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/JsonConverters/StringValueTypeJsonConverter.cs index 0d2196e911..408ef2f99b 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/JsonConverters/StringValueTypeJsonConverter.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/JsonConverters/StringValueTypeJsonConverter.cs @@ -22,9 +22,9 @@ namespace Volo.Abp.FeatureManagement.JsonConverters return name switch { - "SelectionStringValueType" => JsonSerializer.Deserialize(rootElement.GetRawText(), newOptions), - "FreeTextStringValueType" => JsonSerializer.Deserialize(rootElement.GetRawText(), newOptions), - "ToggleStringValueType" => JsonSerializer.Deserialize(rootElement.GetRawText(), newOptions), + "SelectionStringValueType" => rootElement.Deserialize(newOptions), + "FreeTextStringValueType" => rootElement.Deserialize(newOptions), + "ToggleStringValueType" => rootElement.Deserialize(newOptions), _ => throw new ArgumentException($"{nameof(IStringValueType)} named {name} was not found!") }; } diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/JsonConverters/ValueValidatorJsonConverter.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/JsonConverters/ValueValidatorJsonConverter.cs index 25bb603c1a..27f92cc0ec 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/JsonConverters/ValueValidatorJsonConverter.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Application.Contracts/Volo/Abp/FeatureManagement/JsonConverters/ValueValidatorJsonConverter.cs @@ -23,7 +23,7 @@ namespace Volo.Abp.FeatureManagement.JsonConverters if (propertiesJsonProperty.Value.ValueKind == JsonValueKind.Object) { var newOptions = JsonSerializerOptionsHelper.Create(options, this, new ObjectToInferredTypesConverter()); - var properties = JsonSerializer.Deserialize>(propertiesJsonProperty.Value.GetRawText(), newOptions); + var properties = propertiesJsonProperty.Value.Deserialize>(newOptions); if (properties != null && properties.Any()) { foreach (var property in properties) From 88074d94b3fc89371c39a5b0de86d7d5efc200ca Mon Sep 17 00:00:00 2001 From: Berkan Sasmaz Date: Fri, 26 Nov 2021 18:27:47 +0300 Subject: [PATCH 3/4] fix indent of comments in blog module --- .../src/Volo.Blogging.Web/Pages/Blogs/Shared/Styles/blog.css | 2 +- .../Volo.Blogging.Web/Pages/Blogs/Shared/Styles/blog.min.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Shared/Styles/blog.css b/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Shared/Styles/blog.css index 5dcc41376e..6aac0e363b 100644 --- a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Shared/Styles/blog.css +++ b/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Shared/Styles/blog.css @@ -286,7 +286,7 @@ div.vs-blog { padding: 30px; border-bottom: 1px solid #f1f1f1; } div.vs-blog .comment-area > .media .media { - padding: 20px 0px 0px; } + padding: 20px 0px 0px 20px; } div.vs-blog .comment-area .comment-buttons { padding: 4px 0; font-size: .96em; } diff --git a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Shared/Styles/blog.min.css b/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Shared/Styles/blog.min.css index 5c6b99aced..a7821851d2 100644 --- a/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Shared/Styles/blog.min.css +++ b/modules/blogging/src/Volo.Blogging.Web/Pages/Blogs/Shared/Styles/blog.min.css @@ -1 +1 @@ -div.vs-blog{position:relative;background:#fff;padding:10px;font-family:'Open Sans',Helvetica,Arial,sans-serif;font-size:15px;}div.vs-blog .post-content{color:#555;}div.vs-blog .post-content a{text-decoration:underline !important;color:#555;}div.vs-blog .post-content a:hover{text-decoration:underline !important;color:#000;}div.vs-blog p{color:#444;}div.vs-blog p a{text-decoration:underline;}div.vs-blog h1,div.vs-blog h2,div.vs-blog h3,div.vs-blog h4,div.vs-blog h5,div.vs-blog h6,div.vs-blog .tab-title{font-family:Helvetica,Arial,sans-serif;font-weight:700;}div.vs-blog h1{font-size:2em;margin:1rem 0 1.5rem;line-height:1.25;}div.vs-blog h2,div.vs-blog .tab-title{font-size:1.5em;margin:1.5rem 0 .75rem;}div.vs-blog h3{font-size:1.25em;margin:1.5rem 0 .75rem;}div.vs-blog h4{font-size:1.125em;margin:1.5rem 0 .75rem;}div.vs-blog h5{font-size:1em;}div.vs-blog h6{font-size:1em;}div.vs-blog .lead{font-size:1.1rem;font-weight:300;}div.vs-blog img{max-width:100%;}div.vs-blog input,div.vs-blog select,div.vs-blog textarea,div.vs-blog .form-control,div.vs-blog .btn{border-radius:0;border-width:1px 1px 2px 1px;}div.vs-blog .navbar-toggler{background:#0ff;}div.vs-blog .no-border{border:0;}div.vs-blog .btn-rounded{border-radius:30px;}div.vs-blog .list-group .list-group-item{position:relative;display:block;padding:30px 0 30px;background:none;border-radius:0;border:0;}div.vs-blog .list-group .list-group-item:hover{background:none;}div.vs-blog .list-group .list-group-item+.list-group-item{border-top:1px solid #f5f5f5;padding:35px 0 30px;}div.vs-blog .list-group .list-group-item h3{margin-top:0;}div.vs-blog .list-group.small-list .list-group-item{padding:10px 0;}div.vs-blog .list-group.small-list .list-group-item+.list-group-item{padding:10px 0;}div.vs-blog .font-75{font-size:.75em;}div.vs-blog .font-85{font-size:.85em;}div.vs-blog .font-92{font-size:.92em;}div.vs-blog .font-100{font-size:1em;}div.vs-blog .font-125{font-size:1.125em;}div.vs-blog pre{background:#131323;padding:25px 30px;margin:1em 0 2em 0;}div.vs-blog .vs-blog-title{padding-bottom:15px;margin-bottom:25px;border-bottom:1px solid #ddd;}div.vs-blog .vs-blog-title h1,div.vs-blog .vs-blog-title h2,div.vs-blog .vs-blog-title h3,div.vs-blog .vs-blog-title h4,div.vs-blog .vs-blog-title h5,div.vs-blog .vs-blog-title h6{margin:0;padding:0;}div.vs-blog .vs-footer{padding-top:15px;margin-top:25px;border-top:1px solid #ddd;}div.vs-blog .vs-seperator{padding:0 4px;opacity:.3;}div.vs-blog .hero-section{padding:0;}div.vs-blog .hero-section .hero-articles{position:relative;overflow:hidden;}div.vs-blog .hero-section .hero-articles .hero-content h1{margin-top:2em;font-size:2em;font-weight:bold;line-height:1.25;}div.vs-blog .hero-section .hero-articles .hero-content h1 a{color:#000;font-weight:700;}div.vs-blog .hero-section .hero-articles .hero-content h1 a:hover{text-decoration:none;}div.vs-blog .hero-section .hero-articles .hero-content h2{margin-top:.5rem;font-size:1.75em;font-weight:bold;line-height:1.25;}div.vs-blog .hero-section .hero-articles .hero-content h2 a{color:#000;}div.vs-blog .hero-section .hero-articles .hero-content h2 a:hover{text-decoration:none;}div.vs-blog .hero-section .hero-articles .tags .tag{background:rgba(208,208,208,.3);color:#fff !important;}div.vs-blog .hero-section .hero-articles .tags .tag:hover{background:#fff;color:#000 !important;}div.vs-blog .hero-section .hero-articles .article-owner .article-infos{color:#000;}div.vs-blog .hero-section .hero-articles .article-owner .article-infos .seperator{margin:0 4px;color:rgba(255,255,255,.2);}div.vs-blog .hero-section .hero-articles .article-owner .article-infos img.article-avatar{display:inline-block;border-radius:50%;}div.vs-blog .hero-section .hero-articles .img-container img{width:100%;}div.vs-blog .hero-section .hero-articles:hover .img-container::after{opacity:1;}div.vs-blog .article-owner .article-infos{color:#000;}div.vs-blog .article-owner .article-infos a{color:rgba(0,0,0,.6);}div.vs-blog .article-owner .article-infos .seperator{margin:0 4px;color:rgba(0,0,0,.2);}div.vs-blog .article-owner .article-infos img.article-avatar{width:48px;margin:-1px 4px 0 0;display:inline-block;border-radius:50%;}div.vs-blog .user-card h5 span{font-weight:300;opacity:.5;padding:0 5px;}div.vs-blog .card-articles .card-content{padding:10px 0 10px;}div.vs-blog .card-articles .card-content h3{margin:10px 0;}div.vs-blog .card-articles .card-content h3 a{font-weight:700;}div.vs-blog .card-articles .article-owner{text-align:left;}div.vs-blog .card-articles .article-owner .article-infos{color:#000;}div.vs-blog .card-articles .article-owner .article-infos a{color:rgba(0,0,0,.6);}div.vs-blog .card-articles .article-owner .article-infos .seperator{margin:0 4px;color:rgba(0,0,0,.2);}div.vs-blog .card-articles .article-owner .article-infos img.article-avatar{width:30px;margin:-1px 4px 0 0;display:inline-block;border-radius:50%;}div.vs-blog .article-owner{font-size:.72em;}div.vs-blog .user-link-icons{position:absolute;right:18px;top:15px;z-index:3;}div.vs-blog .user-link-icons a{display:inline-block;color:#eee;margin-left:12px;font-size:1.25em;}div.vs-blog .user-link-icons a:hover{color:#fff;}div.vs-blog .tags{margin:2rem 0;padding:0 0 1.25rem 0;}div.vs-blog .tags .tag{display:inline-block;padding:4px 12px;background:rgba(208,208,208,.3);border-radius:4px;margin:0 2px 3px 0;color:#b1b1b1 !important;font-size:.85em;line-height:1.6em;text-transform:uppercase;transition:.25s;text-decoration:none;}div.vs-blog .tags .tag:hover{background:#000;color:#fff !important;}div.vs-blog .hero-section .tags{margin:1rem 0;padding:0 0 .5rem 0;}div.vs-blog .list-group-item .tags{margin:1rem 0 0;padding:0 0;}div.vs-blog .popular-tags a{display:block;font-size:.9em;}div.vs-blog .popular-tags a span{float:right;opacity:.3;font-size:.9em;}div.vs-blog .img-container{position:relative;overflow:hidden;border-radius:4px;background:#dcdcdc;}div.vs-blog .post-detail h1{padding:0 0;line-height:1.25em;font-size:3.5em;}div.vs-blog .post-detail .article-owner{text-align:center;position:relative;z-index:12;}div.vs-blog .post-detail .article-owner .article-infos{color:#000;}div.vs-blog .post-detail .article-owner .article-infos a{color:#000;color:rgba(0,0,0,.8);}div.vs-blog .post-detail .article-owner .article-infos .seperator{margin:0 4px;color:rgba(0,0,0,.2);}div.vs-blog .post-detail .article-owner .article-infos img.article-avatar{width:64px;margin:-20px 10px 0 0;display:inline-block;border-radius:50%;border:3px solid #fff;}div.vs-blog .post-detail .post-content{font-size:1.125em;}div.vs-blog .post-detail .post-content .post-img-container{margin:50px -80px 20px;overflow:hidden;border-radius:4px;}div.vs-blog .post-detail .post-content .lead{font-size:1.125em;color:#111;}div.vs-blog .media{font-size:.95em;}div.vs-blog .media .media{font-size:.95em;}div.vs-blog .read-more-btn{display:inline-block;font-size:.9em;margin:0 0 1em 0;background:#eee;color:#00f;padding:.25em 1em;border-radius:20px;}div.vs-blog .comment-area{background:#f5f5f5;margin:1.5rem 0;padding:10px;}div.vs-blog .comment-area .comment-owner{margin-bottom:4px;margin-top:8px;}div.vs-blog .comment-area .comment-owner span{font-weight:300;opacity:.5;padding:0 5px;}div.vs-blog .comment-area .media{background:#fff;margin:1px;border-radius:4px;}div.vs-blog .comment-area>.media{padding:30px;border-bottom:1px solid #f1f1f1;}div.vs-blog .comment-area>.media .media{padding:20px 0 0;}div.vs-blog .comment-area .comment-buttons{padding:4px 0;font-size:.96em;}div.vs-blog .comment-area .comment-buttons .seperator{color:#ddd;margin:0 8px;}div.vs-blog .comment-area .comment-buttons .count{color:#fff;background:#ddd;margin-left:5px;padding:1px 3px;font-size:10px;border-radius:3px;}div.vs-blog .comment-area .comment-buttons .count.count-up{background:#999;}div.vs-blog .comment-area .comment-buttons a{opacity:.65;margin-right:10px;}div.vs-blog .comment-area .comment-buttons a:hover{opacity:1;}div.vs-blog .comment-area p{margin-bottom:6px;}div.vs-blog .comment-area .comment-avatar{width:64px;}div.vs-blog .comment-area .answer-avatar{width:64px;}div.vs-blog .box-articles h3 a{color:#000;font-weight:700;}div.vs-blog .box-articles h3 a:hover{text-decoration:none;}div.vs-blog>.form-group{margin:0 !important;} \ No newline at end of file +div.vs-blog{position:relative;background:#fff;padding:10px;font-family:'Open Sans',Helvetica,Arial,sans-serif;font-size:15px}div.vs-blog .post-content{color:#555}div.vs-blog .post-content a,div.vs-blog .post-content a:hover{text-decoration:underline!important;color:#555}div.vs-blog .post-content a:hover{color:#000}div.vs-blog p{color:#444}div.vs-blog p a{text-decoration:underline}div.vs-blog .tab-title,div.vs-blog h1,div.vs-blog h2,div.vs-blog h3,div.vs-blog h4,div.vs-blog h5,div.vs-blog h6{font-family:Helvetica,Arial,sans-serif;font-weight:700}div.vs-blog h1{font-size:2em;margin:1rem 0 1.5rem;line-height:1.25}div.vs-blog .tab-title,div.vs-blog h2{font-size:1.5em;margin:1.5rem 0 .75rem}div.vs-blog h3,div.vs-blog h4{font-size:1.25em;margin:1.5rem 0 .75rem}div.vs-blog h4{font-size:1.125em}div.vs-blog h5,div.vs-blog h6{font-size:1em}div.vs-blog .lead{font-size:1.1rem;font-weight:300}div.vs-blog img{max-width:100%}div.vs-blog .btn,div.vs-blog .form-control,div.vs-blog input,div.vs-blog select,div.vs-blog textarea{border-radius:0;border-width:1px 1px 2px}div.vs-blog .navbar-toggler{background:#0ff}div.vs-blog .no-border{border:0}div.vs-blog .btn-rounded{border-radius:30px}div.vs-blog .list-group .list-group-item{position:relative;display:block;padding:30px 0;background:0 0;border-radius:0;border:0}div.vs-blog .list-group .list-group-item:hover{background:0 0}div.vs-blog .list-group .list-group-item+.list-group-item{border-top:1px solid #f5f5f5;padding:35px 0 30px}div.vs-blog .list-group .list-group-item h3{margin-top:0}div.vs-blog .list-group.small-list .list-group-item,div.vs-blog .list-group.small-list .list-group-item+.list-group-item{padding:10px 0}div.vs-blog .font-75{font-size:.75em}div.vs-blog .font-85{font-size:.85em}div.vs-blog .font-92{font-size:.92em}div.vs-blog .font-100{font-size:1em}div.vs-blog .font-125{font-size:1.125em}div.vs-blog pre{background:#131323;padding:25px 30px;margin:1em 0 2em}div.vs-blog .vs-blog-title{padding-bottom:15px;margin-bottom:25px;border-bottom:1px solid #ddd}div.vs-blog .vs-blog-title h1,div.vs-blog .vs-blog-title h2,div.vs-blog .vs-blog-title h3,div.vs-blog .vs-blog-title h4,div.vs-blog .vs-blog-title h5,div.vs-blog .vs-blog-title h6{margin:0;padding:0}div.vs-blog .vs-footer{padding-top:15px;margin-top:25px;border-top:1px solid #ddd}div.vs-blog .vs-seperator{padding:0 4px;opacity:.3}div.vs-blog .hero-section{padding:0}div.vs-blog .hero-section .hero-articles{position:relative;overflow:hidden}div.vs-blog .hero-section .hero-articles .hero-content h1{margin-top:2em;font-size:2em;font-weight:700;line-height:1.25}div.vs-blog .box-articles h3 a,div.vs-blog .hero-section .hero-articles .hero-content h1 a{color:#000;font-weight:700}div.vs-blog .hero-section .hero-articles .hero-content h1 a:hover,div.vs-blog .hero-section .hero-articles .hero-content h2 a:hover{text-decoration:none}div.vs-blog .hero-section .hero-articles .hero-content h2{margin-top:.5rem;font-size:1.75em;font-weight:700;line-height:1.25}div.vs-blog .hero-section .hero-articles .tags .tag{background:rgba(208,208,208,.3);color:#fff!important}div.vs-blog .hero-section .hero-articles .tags .tag:hover{background:#fff;color:#000!important}div.vs-blog .article-owner .article-infos,div.vs-blog .hero-section .hero-articles .article-owner .article-infos,div.vs-blog .hero-section .hero-articles .hero-content h2 a{color:#000}div.vs-blog .hero-section .hero-articles .article-owner .article-infos .seperator{margin:0 4px;color:rgba(255,255,255,.2)}div.vs-blog .hero-section .hero-articles .article-owner .article-infos img.article-avatar{display:inline-block;border-radius:50%}div.vs-blog .hero-section .hero-articles .img-container img{width:100%}div.vs-blog .hero-section .hero-articles:hover .img-container::after{opacity:1}div.vs-blog .article-owner .article-infos a,div.vs-blog .card-articles .article-owner .article-infos a{color:rgba(0,0,0,.6)}div.vs-blog .article-owner .article-infos .seperator,div.vs-blog .card-articles .article-owner .article-infos .seperator,div.vs-blog .post-detail .article-owner .article-infos .seperator{margin:0 4px;color:rgba(0,0,0,.2)}div.vs-blog .article-owner .article-infos img.article-avatar{width:48px;margin:-1px 4px 0 0;display:inline-block;border-radius:50%}div.vs-blog .comment-area .comment-owner span,div.vs-blog .user-card h5 span{font-weight:300;opacity:.5;padding:0 5px}div.vs-blog .card-articles .card-content{padding:10px 0}div.vs-blog .card-articles .card-content h3{margin:10px 0}div.vs-blog .card-articles .card-content h3 a{font-weight:700}div.vs-blog .card-articles .article-owner{text-align:left}div.vs-blog .card-articles .article-owner .article-infos{color:#000}div.vs-blog .card-articles .article-owner .article-infos img.article-avatar{width:30px;margin:-1px 4px 0 0;display:inline-block;border-radius:50%}div.vs-blog .article-owner{font-size:.72em}div.vs-blog .user-link-icons{position:absolute;right:18px;top:15px;z-index:3}div.vs-blog .user-link-icons a{display:inline-block;color:#eee;margin-left:12px;font-size:1.25em}div.vs-blog .user-link-icons a:hover{color:#fff}div.vs-blog .tags{margin:2rem 0;padding:0 0 1.25rem}div.vs-blog .tags .tag{display:inline-block;padding:4px 12px;background:rgba(208,208,208,.3);border-radius:4px;margin:0 2px 3px 0;color:#b1b1b1!important;font-size:.85em;line-height:1.6em;text-transform:uppercase;transition:.25s;text-decoration:none}div.vs-blog .tags .tag:hover{background:#000;color:#fff!important}div.vs-blog .hero-section .tags{margin:1rem 0;padding:0 0 .5rem}div.vs-blog .list-group-item .tags{margin:1rem 0 0;padding:0}div.vs-blog .popular-tags a{display:block;font-size:.9em}div.vs-blog .popular-tags a span{float:right;opacity:.3;font-size:.9em}div.vs-blog .img-container{position:relative;overflow:hidden;border-radius:4px;background:#dcdcdc}div.vs-blog .post-detail h1{padding:0;line-height:1.25em;font-size:3.5em}div.vs-blog .post-detail .article-owner{text-align:center;position:relative;z-index:12}div.vs-blog .post-detail .article-owner .article-infos{color:#000}div.vs-blog .post-detail .article-owner .article-infos a{color:#000;color:rgba(0,0,0,.8)}div.vs-blog .post-detail .article-owner .article-infos img.article-avatar{width:64px;margin:-20px 10px 0 0;display:inline-block;border-radius:50%;border:3px solid #fff}div.vs-blog .post-detail .post-content{font-size:1.125em}div.vs-blog .post-detail .post-content .post-img-container{margin:50px -80px 20px;overflow:hidden;border-radius:4px}div.vs-blog .post-detail .post-content .lead{font-size:1.125em;color:#111}div.vs-blog .media,div.vs-blog .media .media{font-size:.95em}div.vs-blog .read-more-btn{display:inline-block;font-size:.9em;margin:0 0 1em;background:#eee;color:#00f;padding:.25em 1em;border-radius:20px}div.vs-blog .comment-area{background:#f5f5f5;margin:1.5rem 0;padding:10px}div.vs-blog .comment-area .comment-owner{margin-bottom:4px;margin-top:8px}div.vs-blog .comment-area .media{background:#fff;margin:1px;border-radius:4px}div.vs-blog .comment-area>.media{padding:30px;border-bottom:1px solid #f1f1f1}div.vs-blog .comment-area>.media .media{padding:20px 0 0 20px}div.vs-blog .comment-area .comment-buttons{padding:4px 0;font-size:.96em}div.vs-blog .comment-area .comment-buttons .seperator{color:#ddd;margin:0 8px}div.vs-blog .comment-area .comment-buttons .count{color:#fff;background:#ddd;margin-left:5px;padding:1px 3px;font-size:10px;border-radius:3px}div.vs-blog .comment-area .comment-buttons .count.count-up{background:#999}div.vs-blog .comment-area .comment-buttons a{opacity:.65;margin-right:10px}div.vs-blog .comment-area .comment-buttons a:hover{opacity:1}div.vs-blog .comment-area p{margin-bottom:6px}div.vs-blog .comment-area .answer-avatar,div.vs-blog .comment-area .comment-avatar{width:64px}div.vs-blog .box-articles h3 a:hover{text-decoration:none}div.vs-blog>.form-group{margin:0!important} \ No newline at end of file From 61224a63a74ba40b523f8cb429af41407a877a86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 26 Nov 2021 20:44:12 +0300 Subject: [PATCH 4/4] Create the empty eShopOnAbp document --- docs/en/Samples/eShopOnAbp/Index.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 docs/en/Samples/eShopOnAbp/Index.md diff --git a/docs/en/Samples/eShopOnAbp/Index.md b/docs/en/Samples/eShopOnAbp/Index.md new file mode 100644 index 0000000000..068d39f92b --- /dev/null +++ b/docs/en/Samples/eShopOnAbp/Index.md @@ -0,0 +1,3 @@ +# eShopOnAbp + +This document is in progress. Please see the source code for now: https://github.com/abpframework/eShopOnAbp