Мобильный интерфейс/Форматирование заглавной страницы для мобильного просмотра

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Mobile Gateway/Mobile homepage formatting and the translation is 42% complete.

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Lëtzebuergesch • ‎Tiếng Việt • ‎dansk • ‎español • ‎français • ‎interlingua • ‎italiano • ‎kurdî • ‎lietuvių • ‎magyar • ‎polski • ‎suomi • ‎svenska • ‎македонски • ‎олык марий • ‎русский • ‎удмурт • ‎العربية • ‎روچ کپتین بلوچی • ‎سنڌي • ‎پښتو • ‎বাংলা • ‎ไทย • ‎ဖၠုံလိက် • ‎မြန်မာဘာသာ • ‎中文 • ‎日本語 • ‎粵語 • ‎한국어

Если заглавная страница (homepage) вашего проекта Викимедиа ещё не была отформатирована для просмотра на мобильных устройствах, и вы один из администраторов проекта, — пожалуйста, следуйте приведённой ниже инструкции.

Пожалуйста, обратите внимание: Вы должны иметь права администратора для редактирования домашней страницы.

Шаг 1

Во-первых, определитесь, какой контент подходит для мобильной версии страницы.

Оцените элементы страницы в настольной версии (например "Картина дня") и задайте себе вопросы:

  • насколько они популярны?
  • обновляются ли они регулярно?
  • подходят ли они для быстрого чтения?
  • будут ли они соответствовать оригиналу на экране мобильного устройства?

После того как вы решите, какие элементы подходят, перейдите к шагу 2.

Шаг 2

Для того, чтобы выполнить следующие действия, вы должны быть залогинены и иметь административные права. На обычной версии заглавной страницы нажмите «Править» и найдите те элементы, которые вы хотите включить в мобильную версию страницы.

Каждому элементу, который вы хотите исключить из этой страницы, следует присвоить класс «nomobile» или обернуть в элементе с присутствующим классом.

<div class="nomobile"> ... </div>

Между тегами «div» следует помещать шаблон соответствующего элемента страницы, например, «Изображение дня».

Обновление стилей

Некоторые стили не являются мобильными. Например, любые правила CSS, которые используют фиксированный размер пикселей, например: ширина, высота, отступ. Если вам нужна другая обработка стиля, пожалуйста, используйте Extension:TemplateStyles или переносите эти стили в MediaWiki:Common.css или MediaWiki:Mobile.css.

Некоторые советы по общим проблемам рассматриваются @ Making MediaWiki Mobile Friendly.

Нажмите «Записать страницу».

Мы почти закончили.

Шаг 3

Теперь зайдите на мобильную версию сайта. Её URL обычно имеет вид "код языка".m."проект".org. Вы можете уменьшить ширину браузера, чтобы имитировать мобильный экран. Как выглядит страница?

Если вы хотите внести изменения, вернитесь к шагу 2 и повторяйте шаги 2 и 3, пока не получите результат, который вас бы устроил.

Вот и всё!

MFSpecialCaseMainPage

When $wgMFSpecialCaseMainPage is enabled (which is disabled by default), it is possible to serve different content to mobile and desktop users. Use of this method is discouraged and deprecated as it only works on the Main Page, is a maintenance burden and should only be used as a stop-gap measure when transitioning your MediaWiki site to a mobile experience.

Заглавная страница каждой языковой версии Википедии и всех других проектов Викимедиа сильно различаются, поэтому невозможно дать какой-то универсальный пример. Как бы то ни было, чтобы иметь представление, как это могло бы выглядеть, посмотрите на немецкую версию Википедии: https://de.wikipedia.org/ Если вы кликните на вкладку просмотра кода ("Quelltext anzeigen"), следующей за "Lesen", вы увидите исходный викитекст. Используя встроенную в ваш браузер функцию поиска, найдите строки, содержащие "mf-".

В этом случае теги div для mf-селекторов являются частями более сложных объектов на странице. Только те, кто достаточно хорошо знаком с форматированием Заглавной страницы данного проекта, смогут понять логику викитекста в деталях.

Теперь, зайдите на страницу https://de.m.wikipedia.org/ Вы увидите мобильную версию заглавной страницы. При мобильном просмотре будет видно только то содержимое, которое было выделено mf-селекторами.

Deprecation steps for wikis using MFSpecialCaseMainPage

MobileFrontend is in the process of deprecating the code relating to main page special casing. If you have a wiki using it you'll want to stop using it immediately. If you have any questions please don't hesitate to use the talk page!

How can I tell if I'm using it?

If your main page contains "mf-" or "mp-" in the HTML markup, you are using it. You can check this by inspecting the HTML for your main page. If this is too technical, you can also check this by copying and pasting the wiki markup into your user namespace and visiting the page in mobile. If there is a visual difference between your main page and the page in your user namespace you are using main page special casing.

E.g. compare https://en.m.wikipedia.org/wiki/User:Jdlrobson/Main_page_formatting_test with the actual main page for English Wikipedia.

What can I do to fix this?

Assuming you do not want to do a big redesign and just want to retain the existing main page design, you can follow this guide.

Copy the main page markup into a sandbox e.g. a sub page of the user namespace. Now switch to mobile mode. Note, the mobile site can be viewed in your desktop browser, so if you can you may want to consider using the wikitext editor of the mobile site.

You'll need the TemplateStyles extension deployed on your wiki. You can see if it's installed on your wiki by visiting Special:Version. If it's not for whatever reason please request it.

Known problems are listed below:

1. Stop using tables

If your main page uses table's in any way, please remove them. There are many tutorials on the web for doing column layouts. Please put "responsive column layout" into your favorite search engine. If this is confusing, you'll probably want to seek help from a CSS expert!

DivTable converter provides a way for you to convert a table HTML to divs. You should aim to put the associated CSS in MediaWiki:Common.css. This act alone should improve your rendering in mobile greatly.

2. Review any inline styles

Search for any instances of styles which make use of the css properties "width", "float", "padding" or "margin"

For example:

<div style="float: left; width: 200px;"

Move these into a TemplateStyle. Use a class and move the css declaration to css.

<div class="main-page-box"

Example CSS:

/* Scope your styles inside a media query. This means they will only apply on tablet or desktop.  */
@media all and ( min-width: 720px ) {
    .main-page-box {
        float: left;
        width: 200px;
    }
}

e.g. Example - note the pre tag is only included for example purposes - this should be put into a TemplateStyle.

3. Reskin for mobile

With the above steps applied your page should look no different on a desktop browser, but as you shrink the screen (horizontal width) to under 720px - the threshold you introduced in step 2 the styles should disappear. You'll want to add new styles (outside the media query you introduced in step 3). These styles will apply to mobile devices and will be overridden.

If there is any content in the page that you do not want to render in the mobile skin you should add the class "nomobile". e.g.

<div class="nomobile">This content should not show on the mobile site but it will show on the desktop site.</div>

4. Apply the new template

Copy and paste the sandbox page into your Main page. Refresh the browser and verify that it works as expected on both mobile and desktop.

5. Make a site request to turn off main page special casing

If your site is now no longer using the special page casing and your site appears in this config:

https://github.com/wikimedia/operations-mediawiki-config/blob/master/dblists/mobilemainpagelegacy.dblist

You'll want to let a Wikimedia site admin know that you are ready for main page special casing to be turned off. File a Phabricator ticket using this link that links to this web page and lists your wiki.

You'll be able to tell when this has been successful if you've been using the mp- prefixes as suddenly other content will display on your mobile site!

6. Remove any mobile specific ids.

i.e. any instance of the following:

id="mp-

These are not necessary any more. Previously these would choose which content to show on mobile, but now you have a new mobile first responsive design and have disabled main they will be ignored.

e.g. This example