Skip to content

Commit

Permalink
docs: README.md and index update
Browse files Browse the repository at this point in the history
  • Loading branch information
fuxingloh committed Jan 26, 2021
1 parent 11f66a5 commit a9b482f
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 25 deletions.
31 changes: 20 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,18 @@

# [Vue Horizontal](https://vue-horizontal.fuxing.dev) [![vue-horizontal](https://img.shields.io/npm/v/vue-horizontal.svg)](https://www.npmjs.com/package/vue-horizontal)

At its core, [Vue Horizontal](https://vue-horizontal.fuxing.dev) is an ultra simple pure vue horizontal layout for
modern responsive web with zero dependencies.
Vue Horizontal is also an ultra complex code snippet dossier with over 100 SPA/SSR/SSG friendly recipes for your design needs.
Designing your web app for a horizontal experience can tedious and overwhelming if you are new to web development. While
a vertical design comes naturally as html is naturally vertical by design `display:block`. With `display:flex`, aligning
your content horizontally becomes natural and intuitive but it doesn't support overflow or navigation. You start to add
more hacks and tricks to get the design you wanted, but those hacks are not consistent and cross-browser tested, SSG or
SEO friendly. You get the idea.

There are many libraries already in open-source world, some using direct DOM manipulation, some importing another legacy
JavaScript or JQuery library. You don't want that. Vue already does that. This is Vue native created for Vue, and only
Vue is the peer dependency required. All modes of rendering (SPA/SSR/SSG) are supported and tested with E2E tools.

The actual library is only about 400 LOC while there are at least 100x more LOC in the documentation, end-to-end testing
and a bunch of other fun stuff.

#### [DEMO](https://vue-horizontal.fuxing.dev/recipes/cards)[DOCUMENTATION](https://vue-horizontal.fuxing.dev)[FEATURES](https://vue-horizontal.fuxing.dev/features)

Expand Down Expand Up @@ -130,19 +139,19 @@ In Vue Horizontal, smooth scrolling is enabled by default. With scroll-behavior:
experience when scroll event is triggered by programmatic calls. Although this is not a breaking functional feature, it
provides a "smooth" scrolling user experience.

As of December 2020, there is only a 76% cross browser compatibility (88% if you include Safari experimental feature flag).
Meantime you should polyfill this feature with more
[information provided here](https://vue-horizontal.fuxing.dev/limitations#smoothscroll-polyfill).
Polyfill should be done by the user, there are no plans to incorporate this natively in the library.
As of December 2020, there is only a 76% cross browser compatibility (88% if you include Safari experimental feature
flag). Meantime you should polyfill this feature with more
[information provided here](https://vue-horizontal.fuxing.dev/limitations#smoothscroll-polyfill). Polyfill should be
done by the user, there are no plans to incorporate this natively in the library.

### [CSS Scroll Snap](https://vue-horizontal.fuxing.dev/limitations#css-scroll-snap)

Scroll snap align or scroll-snapping, is a CSS technique that allows customizable scrolling experiences like pagination
of carousels by setting defined snap positions. Vue Horizontal has it enabled by default, to disable you can set
`<vue-horizontal snap="none">`.
of carousels by setting defined snap positions. Vue Horizontal has it enabled by default, to disable you can set
`<vue-horizontal snap="none">`.

As of December 2020, there is a **94%+** cross browser compatibility.
You can choose to polyfill this, but it's more of an aesthetic feature rather than a breaking functional requirement.
As of December 2020, there is a **94%+** cross browser compatibility. You can choose to polyfill this, but it's more of
an aesthetic feature rather than a breaking functional requirement.

## Development

Expand Down
28 changes: 14 additions & 14 deletions docs/content/en/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ features:

<alert type="info">

At its core, Vue Horizontal is an ultra simple pure vue horizontal layout for modern responsive web with zero
dependencies.
This is also an ultra complex code snippet dossier with over 100 SPA/SSR/SSG friendly recipes for your design needs.
At its core, Vue Horizontal is an ultra simple pure vue horizontal layout for modern responsive web with zero
dependencies. This is also an ultra complex code snippet dossier with over 100 SPA/SSR/SSG friendly recipes for your
design needs.

</alert>

Expand All @@ -39,24 +39,24 @@ You can display content horizontally just as you would vertically with any HTML

## Motivation

> TLDR: In 2017, I liked how AirBnb does their horizontal design. Couldn't find a library for Vue.
> TLDR: In 2017, I liked how AirBnb does their horizontal design. Couldn't find a library for Vue.
Designing your web app for a horizontal experience can tedious and overwhelming if you are new to web development.
While a vertical design comes naturally as html is naturally vertical by design `display:block`.
With `display:flex`, aligning your content horizontally becomes nature and initiative but it doesn't support overflow or
navigation. You start to add more hacks and tricks to get the design you wanted, but those hacks are not consistent and
cross-browser tested, SSG or SEO friendly. You get the idea.
Designing your web app for a horizontal experience can tedious and overwhelming if you are new to web development. While
a vertical design comes naturally as html is naturally vertical by design `display:block`. With `display:flex`, aligning
your content horizontally becomes natural and intuitive but it doesn't support overflow or navigation. You start to add
more hacks and tricks to get the design you wanted, but those hacks are not consistent and cross-browser tested, SSG or
SEO friendly. You get the idea.

There are many libraries already in open-source world, some using direct DOM manipulation, some importing another legacy
JavaScript or JQuery library. You don't want that. Vue already does that. This is Vue native build for Vue, and only Vue
is the dependency required. All modes of rendering (SPA/SSR/SSG) are supported and tested with E2E tools.
JavaScript or JQuery library. You don't want that. Vue already does that. This is Vue native created for Vue, and only
Vue is the peer dependency required. All modes of rendering (SPA/SSR/SSG) are supported and tested with E2E tools.

The actual library is only about 400 LOC while there are at least 100x more LOC in the documentation, end-to-end testing
The actual library is only about 400 LOC while there are at least 100x more LOC in the documentation, end-to-end testing
and a bunch of other fun stuff.

Vue Horizontal is not just a library, **it's a place for everything horizontal.**
Built for the Vue community.
With over 100 crafted recipes of design choices and control mechanisms ready for your needs.
Built for the Vue community. With over 100 crafted recipes of design choices and control mechanisms ready for your
needs.


> Also, originally this project started out as another project
Expand Down

0 comments on commit a9b482f

Please sign in to comment.