RTL language support
This commit is contained in:
parent
14cf2f9aed
commit
2b6f0331d5
|
@ -58,6 +58,7 @@ To get the latest version please head over the [releases page](https://github.co
|
||||||
* Slider for featured posts
|
* Slider for featured posts
|
||||||
* Support for normal, wide and full images in posts
|
* Support for normal, wide and full images in posts
|
||||||
* Reading progress indicator
|
* Reading progress indicator
|
||||||
|
* RTL language support
|
||||||
|
|
||||||
## Localization
|
## Localization
|
||||||
|
|
||||||
|
|
|
@ -54,5 +54,5 @@
|
||||||
"desktop": "assets/screenshot-desktop.jpg",
|
"desktop": "assets/screenshot-desktop.jpg",
|
||||||
"mobile": "assets/screenshot-mobile.jpg"
|
"mobile": "assets/screenshot-mobile.jpg"
|
||||||
},
|
},
|
||||||
"version": "0.3.1"
|
"version": "0.4.0"
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,12 @@ import GhostContentAPI from '@tryghost/content-api'
|
||||||
import Fuse from 'fuse.js'
|
import Fuse from 'fuse.js'
|
||||||
|
|
||||||
$(document).ready(() => {
|
$(document).ready(() => {
|
||||||
|
const isRTL = $('html').attr('lang') === 'ar'
|
||||||
|
|
||||||
|
if (isRTL) {
|
||||||
|
$('html').attr('dir', 'rtl').addClass('rtl')
|
||||||
|
}
|
||||||
|
|
||||||
const $body = $('body')
|
const $body = $('body')
|
||||||
const $header = $('.js-header')
|
const $header = $('.js-header')
|
||||||
const $openMenu = $('.js-open-menu')
|
const $openMenu = $('.js-open-menu')
|
||||||
|
@ -98,7 +104,7 @@ $(document).ready(() => {
|
||||||
|
|
||||||
function getAllPosts(host, key) {
|
function getAllPosts(host, key) {
|
||||||
const api = new GhostContentAPI({
|
const api = new GhostContentAPI({
|
||||||
host,
|
url: host,
|
||||||
key,
|
key,
|
||||||
version: 'v2'
|
version: 'v2'
|
||||||
})
|
})
|
||||||
|
@ -226,7 +232,8 @@ $(document).ready(() => {
|
||||||
arrows: false,
|
arrows: false,
|
||||||
infinite: false,
|
infinite: false,
|
||||||
mobileFirst: true,
|
mobileFirst: true,
|
||||||
variableWidth: true
|
variableWidth: true,
|
||||||
|
rtl: isRTL
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ import $ from 'jquery'
|
||||||
import slick from 'slick-carousel'
|
import slick from 'slick-carousel'
|
||||||
|
|
||||||
$(document).ready(() => {
|
$(document).ready(() => {
|
||||||
|
const isRTL = $('html').attr('lang') === 'ar'
|
||||||
const $featuredArticles = $('.js-featured-articles')
|
const $featuredArticles = $('.js-featured-articles')
|
||||||
|
|
||||||
if ($featuredArticles.length > 0) {
|
if ($featuredArticles.length > 0) {
|
||||||
|
@ -10,7 +11,8 @@ $(document).ready(() => {
|
||||||
infinite: true,
|
infinite: true,
|
||||||
prevArrow: '<button class="m-icon-button in-featured-articles slick-prev" aria-label="Previous"><span class="icon-arrow-left"></span></button>',
|
prevArrow: '<button class="m-icon-button in-featured-articles slick-prev" aria-label="Previous"><span class="icon-arrow-left"></span></button>',
|
||||||
nextArrow: '<button class="m-icon-button in-featured-articles slick-next" aria-label="Next"><span class="icon-arrow-right"></span></button>',
|
nextArrow: '<button class="m-icon-button in-featured-articles slick-next" aria-label="Next"><span class="icon-arrow-right"></span></button>',
|
||||||
mobileFirst: true
|
mobileFirst: true,
|
||||||
|
rtl: isRTL
|
||||||
})
|
})
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
|
@ -102,6 +102,8 @@ function prepareProgressCircle() {
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).ready(() => {
|
$(document).ready(() => {
|
||||||
|
const isRTL = $('html').attr('lang') === 'ar'
|
||||||
|
|
||||||
$aosWrapper = $('.js-aos-wrapper')
|
$aosWrapper = $('.js-aos-wrapper')
|
||||||
const $scrollButton = $('.js-scrolltop')
|
const $scrollButton = $('.js-scrolltop')
|
||||||
const $loadComments = $('.js-load-comments')
|
const $loadComments = $('.js-load-comments')
|
||||||
|
@ -150,7 +152,8 @@ $(document).ready(() => {
|
||||||
slidesToShow: 3
|
slidesToShow: 3
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
rtl: isRTL
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -59,3 +59,9 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-footer-social {
|
||||||
|
direction: ltr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -116,6 +116,7 @@
|
||||||
.m-article-card__name {
|
.m-article-card__name {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: $mobile-space;
|
left: $mobile-space;
|
||||||
|
right: $mobile-space;
|
||||||
bottom: $mobile-space;
|
bottom: $mobile-space;
|
||||||
color: $white;
|
color: $white;
|
||||||
letter-spacing: 0.4px;
|
letter-spacing: 0.4px;
|
||||||
|
@ -316,3 +317,9 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-article-card__social {
|
||||||
|
direction: ltr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -48,6 +48,18 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-featured-article__meta {
|
||||||
|
left: auto;
|
||||||
|
right: $mobile-space;
|
||||||
|
|
||||||
|
@include respond-to('medium') {
|
||||||
|
left: auto;
|
||||||
|
right: 40px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.m-featured-article__author {
|
.m-featured-article__author {
|
||||||
display: block;
|
display: block;
|
||||||
width: 35px;
|
width: 35px;
|
||||||
|
@ -121,6 +133,25 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-featured-article__ribbon {
|
||||||
|
right: auto;
|
||||||
|
left: $mobile-space;
|
||||||
|
|
||||||
|
@include respond-to('medium') {
|
||||||
|
right: auto;
|
||||||
|
left: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
span:first-of-type {
|
||||||
|
@include respond-to('medium') {
|
||||||
|
margin-right: 0;
|
||||||
|
margin-left: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.m-featured-article__content {
|
.m-featured-article__content {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
|
@ -45,6 +45,23 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-share {
|
||||||
|
@include respond-to('large') {
|
||||||
|
right: auto;
|
||||||
|
left: -75px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include respond-to('extra-large') {
|
||||||
|
left: -175px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include respond-to('largest') {
|
||||||
|
left: -200px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.m-share__content {
|
.m-share__content {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -57,3 +74,9 @@
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-share__content {
|
||||||
|
direction: ltr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -39,6 +39,14 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-author__picture {
|
||||||
|
@include respond-to('medium') {
|
||||||
|
margin: 0 0 0 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.m-author__info {
|
.m-author__info {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
|
@ -48,6 +56,14 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-author__info {
|
||||||
|
@include respond-to('medium') {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.m-author__name {
|
.m-author__name {
|
||||||
color: $dark-blue;
|
color: $dark-blue;
|
||||||
letter-spacing: 0.2px;
|
letter-spacing: 0.2px;
|
||||||
|
|
|
@ -21,3 +21,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-author-links {
|
||||||
|
direction: ltr;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -11,5 +11,6 @@
|
||||||
|
|
||||||
&.in-mobile-topbar {
|
&.in-mobile-topbar {
|
||||||
height: 20px;
|
height: 20px;
|
||||||
|
margin: 0 $mobile-space;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,3 +40,13 @@
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-menu__main {
|
||||||
|
padding-top: 75px;
|
||||||
|
|
||||||
|
@include respond-to('medium') {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -52,3 +52,18 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-nav__left ul li {
|
||||||
|
@include respond-to('medium') {
|
||||||
|
margin-right: 0;
|
||||||
|
margin-left: 35px;
|
||||||
|
|
||||||
|
&:last-of-type {
|
||||||
|
@include respond-to('medium') {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -16,6 +16,14 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-recent-article {
|
||||||
|
@include respond-to('medium') {
|
||||||
|
margin: 0 0 0 60px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.m-recent-article__picture {
|
.m-recent-article__picture {
|
||||||
height: 130px;
|
height: 130px;
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
|
|
|
@ -13,3 +13,9 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-submenu-title {
|
||||||
|
direction: rtl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -70,3 +70,9 @@
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-hero__meta {
|
||||||
|
direction: ltr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -27,3 +27,9 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-hero-social {
|
||||||
|
direction: ltr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -27,6 +27,16 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-subscribe-section__text {
|
||||||
|
@include respond-to('medium') {
|
||||||
|
text-align: right;
|
||||||
|
padding-right: 0;
|
||||||
|
padding-left: 75px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.m-subscribe-section__title {
|
.m-subscribe-section__title {
|
||||||
color: $titles;
|
color: $titles;
|
||||||
letter-spacing: 0.3px;
|
letter-spacing: 0.3px;
|
||||||
|
|
|
@ -23,6 +23,14 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-back {
|
||||||
|
span:first-of-type {
|
||||||
|
order: 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.m-back__icon {
|
.m-back__icon {
|
||||||
font-size: 0.750rem;
|
font-size: 0.750rem;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
|
@ -31,3 +39,9 @@
|
||||||
font-size: 0.875rem;
|
font-size: 0.875rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-back__icon {
|
||||||
|
order: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -75,7 +75,7 @@
|
||||||
|
|
||||||
@include respond-to('medium') {
|
@include respond-to('medium') {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 25px;
|
width: 26px;
|
||||||
height: 25px;
|
height: 25px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -215,3 +215,43 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.m-icon-button {
|
||||||
|
&.in-featured-articles {
|
||||||
|
&.slick-prev {
|
||||||
|
right: auto;
|
||||||
|
left: 16px;
|
||||||
|
|
||||||
|
@include respond-to('medium') {
|
||||||
|
right: auto;
|
||||||
|
left: 36px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.slick-next {
|
||||||
|
right: auto;
|
||||||
|
left: 52px;
|
||||||
|
|
||||||
|
@include respond-to('medium') {
|
||||||
|
right: auto;
|
||||||
|
left: 72px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.in-recommended-articles {
|
||||||
|
&.slick-prev {
|
||||||
|
left: auto;
|
||||||
|
right: 0;
|
||||||
|
@include transform(rotate(180deg));
|
||||||
|
}
|
||||||
|
|
||||||
|
&.slick-next {
|
||||||
|
right: auto;
|
||||||
|
left : 0;
|
||||||
|
@include transform(rotate(180deg));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -521,3 +521,42 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rtl {
|
||||||
|
.l-post-content {
|
||||||
|
ul, ol {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 20px;
|
||||||
|
|
||||||
|
@include respond-to('medium') {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 40px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
direction: ltr;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
&:before {
|
||||||
|
left: auto;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.kg-bookmark-icon {
|
||||||
|
margin-right: 0 !important;
|
||||||
|
margin-left: 8px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
figure.kg-width-full {
|
||||||
|
@include respond-to('medium') {
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 50%;
|
||||||
|
|
||||||
|
@include transform(translateX(50%));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue