diff --git a/features/content/README.MD b/features/content/README.MD deleted file mode 100644 index 3a2c1774..00000000 --- a/features/content/README.MD +++ /dev/null @@ -1,33 +0,0 @@ -## How to create content? - -For example, you want to create content named "MyFormat". To do this, you must perform the following actions: - -1. Copy "template" folder from "core/features" in "core/features/content" -2. Rename this folder in "myformat" -3. Inside the "myformat" folder rename all the "template" on "content.myformat" -4. In the "settings.gradle" file in the "includes" array add the following code: -```kotlin - ":features:content:myformat:common", - ":features:content:myformat:client", - ":features:content:myformat:server", -``` -5. In the "core/features/content/myformat/common/src" folder create folders with appropriate subfolders "commonMain/kotlin/dev/inmo/postssystem/features/content/myformat/common": -6. In the last folder "сommon", create a data class and the configurator as shown below: -```kotlin - @Serializable - data class MyFormatContent( - // Your code - ) : Content -``` - -```kotlin -object MyFormatContentSerializerModuleConfigurator : ContentSerializersModuleConfigurator.Element { - override fun PolymorphicModuleBuilder.invoke() { - subclass(MyFormatContent::class, MyFormatContent.serializer()) - } -} -``` -7. In two "di.kt" file located in "core/client/src/commonMain/kotlin/dev/inmo/postsystem/client" and "core/server/src/main/java/dev/inmo/postsystem/client" respectively add the following string: -```kotlin - singleWithRandomQualifier { MyFormatContentSerializerModuleConfigurator } -``` \ No newline at end of file diff --git a/features/content/README.md b/features/content/README.md new file mode 100644 index 00000000..e5bfee12 --- /dev/null +++ b/features/content/README.md @@ -0,0 +1,37 @@ +## How to create content? + +For example, you want to create content named `MyFormat`. To do this, you must perform the following actions: + +1. Copy `template` folder from `core/features` in `core/features/content` +2. Rename this folder in `myformat` +3. Inside the `myformat` folder rename all the `template` on `content.myformat` +4. In the `settings.gradle` file in the `includes` array add the following code: + ```groovy + String[] includes = [ + ... + ":features:content:myformat:common", + ":features:content:myformat:client", + ":features:content:myformat:server", + ... + ] + ``` +5. In the `core/features/content/myformat/common/src` folder create folders with appropriate subfolders `commonMain/kotlin/dev/inmo/postssystem/features/content/myformat/common`: +6. In the last folder `сommon`, create a data class and the configurator as shown below: + ```kotlin + // MyFormatContent.kt + @Serializable + data class MyFormatContent( + // Your code + ) : Content + + // MyFormatContentSerializerModuleConfigurator.kt + object MyFormatContentSerializerModuleConfigurator : ContentSerializersModuleConfigurator.Element { + override fun PolymorphicModuleBuilder.invoke() { + subclass(MyFormatContent::class, MyFormatContent.serializer()) + } + } + ``` +7. In two `di.kt` file located in `core/client/src/commonMain/kotlin/dev/inmo/postsystem/client` and `core/server/src/main/java/dev/inmo/postsystem/client` respectively add the following string: +```kotlin + singleWithRandomQualifier { MyFormatContentSerializerModuleConfigurator } +```