You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A few people have reached out about contributing to Learn Semantic.
Since there hasn't been any official channel for discussion about the technical documentation of Learn Semantic I thought I'd kick of discussion with my thoughts on the contents and structure of the site.
Site Contents (T.O.C.)
Any content not specifically marked with an author is available for contribution. Any content that already exists is open for edits, additions, & revisions unless otherwise noted.
Preface
Introduction - (Completed) Short explanation of motivation behind project
On Language - (I'll write) Detailed explanation of the linguistic ideas behind Semantic. Prescriptivist/descriptivist dilemma. Discussion of CS history & culture and how it affects the development of programming languages.
What's Different - (Written, could use expansion) Explanation of key features to library, the thing you show your PM/Boss to convince them SUI is useful
Getting Started
Download - Links to downloading SUI from different package managers
Integrations & Extras - Integrations broken up into three categories, Front End Integrations (Angular, Ember, etc), Back-end Integrations (Ruby Gem, Composer, Wordpress, etc), and extras (PSDs, AIs, etc) ported from this Integrations Wiki.
Beginner's Guide - Guide to using Semantic assuming limited development knowledge. Path of least resistance for getting set-up. Links to core concepts as 'next reads'
Expert Guide - Guide to using build tools assuming knowledge of command line interfaces, current web technologies. Important 'next reads' outlined
Ten Minute Overview - Adaptation & enhancement of the three pages of legacy docs introducing core concepts into a single doc. Showing basic princples through code samples.
Terms Glossary - Discussion of terms used in the project, and their meaning. E.g. "definition", "variation", "type", "component", links to sections where concepts are discussed more in-depth when appropriate
Developing
Customizing - Guide to overarching work processes & guiding principles when developing with Semantic. Quickly prototyping with SUI vs deliberate building for continued future maintainance & redesign.
Extending - (Needs POV discussion and writer) - Guide to how to add your own custom UI components alongside existing framework UI components. Difference between theme and component.
FAQ - Frequently asked questions about Semantic UI with QUICK answers, or links that point to extended discussion in other articles
Bugs & Support - Links to community sites, how to go about submitting a useful bug report on GitHub issues (adding a test case, adding bracket tag with component), using stackoverflow or slack for quick support.
Usage & Practices
Language - (Needs adaptation and new content) Explanation of descriptivist language and naming conventions, considerations when naming something new. Ported from legacy language style guide
HTML - Discussion of class name word, word order requirements, ui namespace (parts of component vs component). Discussion of tag ambivalence, and exceptions: usage of <i> <a> <td> etc. Explanation of types, variations and how they connect to class names.
CSS - Discussion of source CSS/LESS conventions. Omission of vendor prefixes in source. Omission of mix-ins, nested rules, and other preprocesser features. When to use variables versus fixed values in css. Variable scoping explanation, and links to other sections discussing scope. Brief explanation of @theme usage for loading in theme.less//---------- #1559.
Techniques - Porting of CSS techniques and JS techniques]() from legacy docs.
Theming
Overview - Introduction to theming inheritance, folder structures, variables, overrides
Creating Themes - When and how to create a theme, practical example. Theme distribution.
Site Themes - Detailed explanation of site themes, when to use site themes instead of packaged themes. Table of most frequently adjusted variables (Font size, grid column count, colors). How to use all three levels of theming together, for example using a "material" theme, but then adding site variables on top of theme to customize colors etc.
Definitions
Overview - Explanation of definitions, types (mutally exclusive) vs variations (mutually inclusive), states, etc. Discsusion of "kingdoms" of definitions (Elements, collections, views, modules, behaviors).
Namespaces - Discussion of the ui namespace, difference betweens parts of a component and a UI component. Discussion of component coupling, usage of multiple components on same html element and possible issues with inheritance. Explanation of stubbed classing, i.e. use of image as part of a definition vs ui imagePorting of some content from
Elements - Description of a "ui element", common parts of element definition, plurality, examples
Collection - Description of a "ui collection",
View - Description of a "ui view", parts of definition, examples
Module - Description of a "ui module", ported from legacy docs
Behavior - Description of a "ui behavior", distinction from module, links to behaviors discussion
Project
History - (I'll write) Explanation of the adaptation of SUI from previous work with Quirky. Brief professional background, the paradox of 'authoring' a community OSS library, BDFLs.
Contributing - Explanation of CLA, links to GitHub enhancements/bugs by milestone, links to style guides, links to contribute to official framework integrations
Translating - Explanation of Transifex, links to how to use the editor and sign up. Some basic text written in wiki already
Donations - (I'll write) Explanation of financial situation (OSS maintained by author full-time living off donations), list of donators, total funds raised. Explanation of project funding goals and progress toward goals. Most likely this will be explicitly linked from the readme.
Contributing Process
Choosing a Topic
If anyone is interested in contributing. It should be a fairly simple process.
Leave me a note in this thread if you are interested in taking responsibility over a specific guide and add a deadline when you think you can finish a draft (Please no longer than 1-2 weeks ahead).
If you see a gap in the TOC and want to recommend a new topic please let me know your ideas, and a brief outline of what content would be included (a couple sentences)
Provide an e-mail if possible so I can reach out to you
On your self-appointed deadline I'll reach out to you to see how your progress is going, if you need more time, editing, or help integrating it into the docs code base.
Writing a Guide
LearnSemantic can parse HTML and Markdown (using DocPad).
If you are comfortable with markdown but prefer not to run the server, you can just e-mail me a markdown file with a draft on your approved subject.
If you prefer to run the server you can check the readme for running the server, then simply submit a pull request with your additional guide in server/documents/. Using the server gives you the added benefit of seeing your docs in place as others will see them.
Editing, Typos, etc
Many of the guides could use proofreading and editing. This is a fairly simple way to contribute if you don't have time to help with writing guides.
Adding edits can be done directly through GitHub.com using Pull Requests.
Learn Semantic
A few people have reached out about contributing to Learn Semantic.
Since there hasn't been any official channel for discussion about the technical documentation of Learn Semantic I thought I'd kick of discussion with my thoughts on the contents and structure of the site.
Site Contents (T.O.C.)
Any content not specifically marked with an author is available for contribution. Any content that already exists is open for edits, additions, & revisions unless otherwise noted.
Preface
Getting Started
Developing
Usage & Practices
uinamespace (parts of component vs component). Discussion of tag ambivalence, and exceptions: usage of<i> <a> <td>etc. Explanation of types, variations and how they connect to class names.@themeusage for loading intheme.less//---------- #1559.Theming
Definitions
uinamespace, difference betweens parts of a component and a UI component. Discussion of component coupling, usage of multiple components on same html element and possible issues with inheritance. Explanation of stubbed classing, i.e. use ofimageas part of a definition vsui imagePorting of some content fromProject
Contributing Process
Choosing a Topic
If anyone is interested in contributing. It should be a fairly simple process.
Writing a Guide
LearnSemantic can parse HTML and Markdown (using DocPad).
If you are comfortable with markdown but prefer not to run the server, you can just e-mail me a markdown file with a draft on your approved subject.
If you prefer to run the server you can check the readme for running the server, then simply submit a pull request with your additional guide in
server/documents/. Using the server gives you the added benefit of seeing your docs in place as others will see them.Editing, Typos, etc
Many of the guides could use proofreading and editing. This is a fairly simple way to contribute if you don't have time to help with writing guides.
Adding edits can be done directly through GitHub.com using Pull Requests.
Thanks everyone. I'm excited to see what we all can do together.