-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Documentation #12
Comments
maybe we can look at https://github.com/StefH/System.Linq.Dynamic.Core |
It looks like https://github.com/StefH/System.Linq.Dynamic.Core uses standard xml comments documentation, DocFX uses combined approach xml comments + md files. This looks better for me. |
May be readthedocs.io ? |
@inickvel, looks like autofac have generated samples and tutorials by readthedocs, but API documentation by other tool. Maybe it is not ok to have such additional service for API. Seems that DocFx generates both parts of documentation. |
@inickvel please correct me if I'm wrong, readthrdocs generate documentation from soma marckup files, so we'll need to write two docs - marckup and xmldoc, copying data from xmldoc to marckup. DocFX helps to avoid this, that's why I'm looking forward to use this engine |
I agree, documentation is the weakest point to what is otherwise an awesome library/tool. I'm not familiar with DocFX, but, from a little browsing, it looks like the typical auto-generated API reference documentation. While this is nice and definitely needed, folks new to the library need more guidance than a typical API reference provides. Is there a platform that offers (ties in) both? I could help with the documentation (wrote most of the readme.md on the start page), but I too could use some guidance from those more familiar with the inner workings of the library. Without this, I'm left pecking around the source code and not knowing if I'm missing something cool "hidden" somewhere else in the codebase. |
@pebezo that's cool! You are welcome to ask any questions we'll do our best to help you! |
What would help is having an outline, like a table of contents. Then, for each node a few bullet points about what should be listed. For example: "inserting data" would list "inserting from context class", "inserting with identity", "inserting select fields", "bulk copy", etc. For the more complicated/esoteric todos it would also be helpful to include a link to a test case or a code sample. Having something like this could serve as the starting point. Then if we have questions about various parts at least we know what to ask. |
@pebezo I agree. I was trying to create such table recently with a list of topics that makes sense to document. See this page: https://github.com/MaceWindu/linq2db/wiki There are two ways - spend a lot of time trying to find a best way to work on documentation, or just start documenting stuff step-by-step. I think we should use second approach. We can always change structure and format of documentation later when we have something to structure and style :) E.g. each time we receive a question which could be answered by documentation - we should provide a link to documentation. Let's take this one: linq2db/linq2db#650 - we can create following pages:
I will go through all issues, including closed, later today and will post a list of those that could be used as starting points for documentation. |
Also @pebezo, @MaceWindu, maybe you can create xml docs for public members of DataConnection class? |
Below is a list of XML documentation tasks - maybe we should add it to first message? (ili i'v moved them) For anyone, who will decide to write documentation - inspect code that you plan to document, see what it does and how it used - having misleading documentation is even worse than no documentation. After a first few contributions I think we will be able to compile initial list of requirements for documentation. |
Here I tried to compose a list of tasks for Wiki documentation which I think could be usefull. First of all regarding existing pages:
List of tasks for new wiki pages. Each task contains topic that we should cover and optionally list of issues/PRs that could contain additional information like 'how it works' or some use scenarios or questions from users. Sorry, this is a pretty raw list, but I think we can use it as a starting point for now and it is hard to analyze such a big amount of data quickly.
|
Added Window Functions documentation https://github.com/linq2db/linq2db/wiki/Window-Functions-(Analytic-Functions) |
Done |
Also there is another documntation generator https://wyam.io/ |
colors of wyam.io site == pain hopefully other things are not bad... |
Ok, let's speak about our Achilles' heel - documentation.
To be honest everything is awful, only documentation is start page & a little bit of wiki. We should work on it!
My suggestion is to build documentation using DocFX, things to be done:
Volunteer needed.
XML documentation tasks
If you are going to document any section please write comment below an we'll mark that it is in process:
LinqToDB.Data.DataConnection : .ctor region
LinqToDB.Data.DataConnection : public properties region
LinqToDB.Data.DataConnection : configuration region
LinqToDB.Data.DataConnection : connection region
LinqToDB.Data.DataConnection : command region
LinqToDB.Data.DataConnection : transaction region
LinqToDB.Data.DataConnection : MappingSchema region
LinqToDB.Data.DataConnection : GetTable methods
LinqToDB.Data.DataConnectionExtensions : SetCommand region
LinqToDB.Data.DataConnectionExtensions : Query* regions
LinqToDB.Data.DataConnectionExtensions : Execute* regions
LinqToDB.Data.DataConnectionExtensions : BulkCopy region
LinqToDB.Data.DataConnectionExtensions : Merge region (@MaceWindu)
LinqToDB.IDataContext
LinqToDB.DataExtensions: Table Helpers region
LinqToDB.DataExtensions: Insert region
LinqToDB.DataExtensions: InsertOrReplace region
LinqToDB.DataExtensions: InsertWithIdentity region
LinqToDB.DataExtensions: Update region
LinqToDB.DataExtensions: Delete region
LinqToDB.DataExtensions: DDL Operations region
LinqToDB.LinqExtensions: Table Helpers region
LinqToDB.LinqExtensions: LoadWith region
LinqToDB.LinqExtensions: Scalar Select region
LinqToDB.LinqExtensions: Delete region
LinqToDB.LinqExtensions: Update region
LinqToDB.LinqExtensions: Insert region
LinqToDB.LinqExtensions: InsertOrUpdate region
LinqToDB.LinqExtensions: DDL Operations region
LinqToDB.LinqExtensions: Take/Skip/ElementAt region
LinqToDB.LinqExtensions: Having region
LinqToDB.LinqExtensions: IOrderedQueryable region
LinqToDB.Common.Configuration
BulkCopy: LinqToDB.Data.BulkCopyType, LinqToDB.Data.BulkCopyOptions
LinqToDB.ExpressionMethodAttribute
LinqToDB.Sql.TableFunctionAttribute
LinqToDB.Sql.TableExpressionAttribute
LinqToDB.Sql.PropertyAttribute
LinqToDB.Sql.GroupBy
LinqToDB.Sql.FunctionAttribute
LinqToDB.Sql.ExpressionAttribute
LinqToDB.Sql.EnumAttribute
LinqToDB.Sql math functions region
LinqToDB.Sql string, text, guid and binary functions regions
LinqToDB.Sql datetime functions region
LinqToDB.Sql convert functions region
LinqToDB.Sql common functions region
LinqToDB.ServiceModel.SoapDataContext
LinqToDB.ServiceModel.ServiceModelDataContext
LinqToDB.Mapping.TableAttribute
LinqToDB.Mapping.StoredProcedure (sic!)
LinqToDB.Mapping.SequenceNameAttribute
LinqToDB.Mapping.ScalarTypeAttribute
LinqToDB.Mapping.Relationship
LinqToDB.Mapping.PrimaryKeyAttribute
LinqToDB.Mapping.NullableAttribute
LinqToDB.Mapping.NotNullAttribute
LinqToDB.Mapping.NotColumnAttribute
LinqToDB.Mapping.MapValueAttribute
LinqToDB.Mapping.MapValue
LinqToDB.Mapping.AssociationAttribute
LinqToDB.Mapping.ColumnAliasAttribute
LinqToDB.Mapping.ColumnAttribute
LinqToDB.Mapping.DataTypeAttribute
LinqToDB.Mapping.IdentityAttribute
LinqToDB.Mapping.InheritanceMappingAttribute
LinqToDB.Mapping.MappingSchema: constructors
LinqToDB.Mapping.MappingSchema: ValueToSqlConverter region
LinqToDB.Mapping.MappingSchema: Default Values region
LinqToDB.Mapping.MappingSchema: CanBeNull region
LinqToDB.Mapping.MappingSchema: Convert region
LinqToDB.Mapping.MappingSchema: DefaultMappingSchema region
LinqToDB.Mapping.MappingSchema: Scalar Types region
LinqToDB.Mapping.EntityDescriptor
LinqToDB.Mapping.ColumnDescriptor
LinqToDB.Mapping.AssociationDescriptor
LinqToDB.Mapping.InheritanceMapping
LinqToDB.Linq.Expressions: MapMember region
LinqToDB.Linq.Expressions: Sql specific region
LinqToDB.Linq.Expressions: Provider specific functions region
The text was updated successfully, but these errors were encountered: