Po prostu przyzwyczajam się do Middleman i ogólnie do Rubiego. Jaki jest najlepszy sposób na wygenerowanie nawigacji z aktywnymi stanami?Jak wygenerować nawigację w Middleman?
Odpowiedz
W bieżącej wersji MM (2.x, chociaż 3.0 jest blisko), możesz to zrobić, dodając następujące dodatki do config.rb
i kilka poprawek w pliku nav (s). Oto a working version w razie zostawiam niektóre krytyczne bitów:
najpierw utworzyć funkcję pomocniczą:
helpers do
def nav_active(page)
@page_id == page ? {:class => "Active"} : {}
end
end
Następnie w nav bar include file (w tym przypadku jest to plik haml) można użyć nav_active
pomocnika jako następująco:
#HeaderNavigationBar
%ul
%li{nav_active("index")}= link_to t('top_navigation.home'), t('paths.index')
%li{nav_active("pricing")}= link_to t('top_navigation.pricing'), t('paths.pricing')
%li{nav_active("faq")}= link_to t('top_navigation.faq'), t('paths.faq')
wynik netto jest to, aby dodać klasę „aktywny” do łącza w pasku nawigacyjnym, gdy strona jest budynek zbudowany na tej stronie. To znaczy. jeśli strona jest plikiem o nazwie "index", wówczas @page_id
będzie "index" i ten link będzie miał aktywny motyw.
Aby dokończyć przykład, oto fragment z scss style partial który definiuje aktywny:
&.Active {
font-weight: bold;
}
W nowszej wersji pliku nagłówka, faktycznie usunięte odnośnik gdy na aktywnej stronie. Wygląda to mniej więcej tak - które mogłyby wyraźnie uporządkowany, ale FWIW: D:
%li{nav_active("index")}
-if "index" == @page_id
= t('top_navigation.home')
-else
= link_to t('top_navigation.home'), root()
... (etc)
pamiętać, że wszystkie t („rzeczy”) ma do czynienia z funkcjami tłumaczeń i18n. Możesz to zignorować. Nie chcę, aby przykład składniowy był nieprawidłowy, próbując je usunąć.
Mam nadzieję, że to pomoże - zobacz także forum pod adresem http://forum.middlemanapp.com/.
Zrobiłem coś takiego, jeśli wiem, że klasy stron pozostaną takie same : class => (klasy_strony === "indeks")? "aktywny": "" –
Oto nowy klejnot do zaznaczania aktualnego ogniwo pośrednika z aria-current
(które można następnie wykorzystać do stylu off): https://github.com/thoughtbot/middleman-aria_current
- 1. Strony Middleman i Github
- 2. Przenoszenie artykułów blogów w Middleman
- 3. Dlaczego `middleman serve` działa, ale` build middleman` nie potrafi skompilować tego Sassa?
- 4. Jak połączyć TabBar + Nawigację z XCode
- 5. Jak zainstalować i używać Slim Engine szablon z Middleman
- 6. Rails ActiveAdmin - pobierz current_admin_user w nawigację narzędzia?
- 7. Wyłącz nawigację klawiaturową w Google Map
- 8. Jak wygenerować inicjator w Ruby?
- 9. Jak wyłączyć nawigację na WinForm za pomocą strzałek w C#?
- 10. Jak dynamicznie nadpisywać nawigację Android w innym menu podczas onClick?
- 11. Jak obsługiwać/anulować nawigację zwrotną w formularzach Xamarin
- 12. Jak wykryć nawigację użytkownika z powrotem w Angular2?
- 13. Jak wygenerować klasę budowniczą
- 14. jak wygenerować dokumentację api
- 15. Android: jak wygenerować częstotliwość?
- 16. Jak wygenerować R.java
- 17. Jak wygenerować notatkę gitary
- 18. Jak wygenerować macierz kombinacji
- 19. Jak wygenerować naprzemienny zakres?
- 20. Jak wygenerować dane geoJson?
- 21. Jak wygenerować plik PDF?
- 22. Clojure: Jak wygenerować "trie"?
- 23. Wyłącz nawigację za pomocą klawiszy strzałek
- 24. HTML5 Jak pominąć nawigację, gdy nazwa atrybutu jest nieaktualna
- 25. Jak wygenerować wygenerować statyczne metody z klasą klasy clojure?
- 26. Windows Phone 8: Jak animować nawigację po stronie?
- 27. Jak zbudować nawigację map wewnętrznych dla aplikacji na iOS?
- 28. Jak wygenerować unikalny identyfikator obiektu w mongodb
- 29. Jak wygenerować podział wiersza w szablonie Django
- 30. Jak wygenerować "dużą" liczbę losową w Pythonie?
See Thomasa [magic_link_to] (https://github.com/middleman/ middleman/issues/303 # issuecomment-4362124) helper dla Middleman 3. 'request.path' reprezentuje bieżącą ścieżkę URL. – sam
Przepełnienie stosu stało się tak smutne, że można zadać dowolne pytanie, które zawiera odpowiedź w instrukcji, ale nie można już zadawać przydatnych pytań. To nie jest prawdziwe pytanie? Nie sądzę, że oznacza to, co myślisz, że to znaczy. –