diff --git a/.gitattributes b/.gitattributes old mode 100644 new mode 100755 diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md old mode 100644 new mode 100755 diff --git a/.github/stale.yml b/.github/stale.yml old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.htaccess b/.htaccess old mode 100644 new mode 100755 diff --git a/.phpcs.xml b/.phpcs.xml old mode 100644 new mode 100755 diff --git a/.phpdoc.xml b/.phpdoc.xml old mode 100644 new mode 100755 diff --git a/.travis.yml b/.travis.yml old mode 100644 new mode 100755 diff --git a/CHANGELOG.md b/CHANGELOG.md old mode 100644 new mode 100755 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md old mode 100644 new mode 100755 diff --git a/LICENSE.md b/LICENSE.md old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 index 5ddfde2af..f943a8ce5 --- a/README.md +++ b/README.md @@ -7,65 +7,74 @@ Pico [![Freenode IRC Webchat](https://picocms.github.io/badges/pico-chat.svg)](https://webchat.freenode.net/?channels=%23picocms) [![Open Bounties on Bountysource](https://www.bountysource.com/badge/team?team_id=198139&style=bounties_received)](https://www.bountysource.com/teams/picocms) -Pico is a stupidly simple, blazing fast, flat file CMS. +Pico jest prostym do bólu, niewymagającym żadnej bazy danych, doświadczenia w stronach internetowych ani znajomości HTML'a CMS'em (systemem zarządzania treścią) o otwartym kodzie źródłowym. -Visit us at http://picocms.org/ and see http://picocms.org/about/ for more info. +Pełna wersja dokumentacji, zarówno dla użytkowników, jak i programistów, dostępna jest aktualnie tylko w języku angielskim na oficjalnej stronie projektu: http://picocms.org (bezpośredni link do wiki dla użytkownika: http://picocms.org/docs) -Screenshot ----------- +Screenshot (po angielsku) +------------------------- -![Pico Screenshot](https://picocms.github.io/screenshots/pico-20.png) +![Pico Screenshot](https://camo.githubusercontent.com/403f120dd230e421ae5fb0dfe79a5cac98374736/68747470733a2f2f7069636f636d732e6769746875622e696f2f73637265656e73686f74732f7069636f2d32302e706e67) -Install -------- +Instalacja na serwerze (hostingu) +---------------------- -Installing Pico is dead simple - and done in seconds! If you have access to a shell on your server (i.e. SSH access), we recommend using [Composer][]. If not, use a pre-bundled release. If you don't know what "SSH access" is, head over to the pre-bundled release. 😇 +Instalacja Pico na serwerze jest naprawdę łatwa, szybka i przyjemna. Jeśli masz dostęp do terminala na serwerze (np. przez protokół SSH), zalecamy użycie aplikacji Composer. Jeśli nie wiesz, co to jest SSH bądź nie masz takiego dostępu, skorzystaj z uprzednio przygotowanej wersji. 😇 -Pico requires PHP 5.3.6+ +Jedyne, czego Pico wymaga do działania, to dostęp do PHP w wersji 5.6.3 lub wyższej. -### I want to use Composer +### Chcę skorzystać z aplikacji Composer -Starting with Pico 2.0 we recommend installing Pico using Composer whenever possible. Trust us, you won't regret it when it comes to upgrading Pico! Anyway, if you don't want to use Composer, or if you simply can't use Composer because you don't have access to a shell on your server, don't despair, installing Pico using a pre-bundled release is still easier than everything you know! +Zalecamy używanie Composera wszędzie tam, gdzie jest to tylko możliwe, ponieważ przy użyciu tej metody łatwiej Ci będzie później zaktualizować CMS'a do nowszej wersji. Oczywiście nic nie tracisz, używając gotowego pakietu. -###### Step 1 +###### Krok 1. -Open a shell and navigate to the `httpdocs` directory (e.g. `/var/www/html`) of your server. Download Composer and run it with the `create-project` option to install it to the desired directory (e.g. `/var/www/html/pico`): +Otwórz terminal, podłącz się do serwera przez SSH i przejdź do katalogu, w którym musisz postawić stronę (na przykład `/var/www/html`, najczęściej ma on nazwę `htdocs`, `public_html` albo `html`) na Twoim serwerze. Zainstaluj na swoim serwerze Composera i pobierz najnowszą wersję Pico: ```shell $ curl -sSL https://getcomposer.org/installer | php $ php composer.phar create-project picocms/pico-composer pico ``` -###### Step 2 +###### Krok 2 -What second step? There's no second step. That's it! Open your favorite web browser and navigate to your brand new, stupidly simple, blazing fast, flat file CMS! Pico's sample contents will explain how to create your own contents. 😊 +Jaki drugi krok? To koniec instalacji! Drugim krokiem jest wejście na Twoją stronę i sprawdzenie, czy poprawnie wyświetla się domyślna strona główna. Zapoznaj się z tą stroną, żeby się dowiedzieć, jak wygląda tworzenie kontentu na Pico CMS. 😊 -### I want to use a pre-bundled release +### Chcę pobrać najnowszą wersję jako archiwum -Do you know the feeling: You want to install a new website, so you upload all files of your favorite CMS and run the setup script - just to find out that you forgot about creating the SQL database first? Later the setup script tells you that the file permissions are wrong. Heck, what does this even mean? Forget about it, Pico is different! +Znasz to uczucie? Chcesz stworzyć fajną i ciekawą wizytówkę w Internecie, więc sięgasz po jakiegoś renomowanego CMS'a, jak na przykład WordPressa albo Joomlę. Ściągasz wszystkie pliki i wrzucasz je na serwer, potem się dowiadując, że musisz utworzyć bazę danych MySQL. Następnie wyskoczy Ci komunikat o konieczności zmiany uprawnień wybranych plików... +Zapomnij o tym. Pico działa zupełnie inaczej! -###### Step 1 +###### Krok 1. -[Download the latest Pico release][LatestRelease] and upload all files to the desired install directory of Pico within the `httpdocs` directory (e.g. `/var/www/html/pico`) of your server. +[Pobierz najnowszą wersję Pico][LatestRelease] i wrzuć ją do katalogu z plikami strony (`htdocs` itp.) na serwer. Rozpakuj tam ją. -###### Step 2 +###### Krok 2. -Okay, here's the catch: There's no catch. That's it! Open your favorite web browser and navigate to your brand new, stupidly simple, blazing fast, flat file CMS! Pico's sample contents will explain how to create your own contents. 😊 +Co to jest *krok drugi*? To jest wszystko! Zostało Ci tylko wejść na stronę i sprawdzić, czy wyświetla się domyślna strona początkowa. Zapoznaj się z nią uważnie, żeby się dowiedzieć, jak tworzyć kontent w Pico. -### I'm a developer +### Jestem programistą -So, you're one of these amazing folks making all of this possible? We love you guys! As a developer we recommend you to clone [Pico's Git repository][PicoGit] as well as the Git repositories of [Pico's default theme][PicoThemeGit] and the [`PicoDeprecated` plugin][PicoDeprecatedGit]. You can set up your workspace using [Pico's Composer starter project][PicoComposerGit] and include all of Pico's components using local packages. +Aaa! Więc jesteś jedną z tych osób, która wie, jak technicznie działa CMS i mogłaby wspomóc nasz projekt? Kochamy Was! Pico jest systemem o otwartym kodzie źródłowym, więc każdy może dołożyć przysłowiową cegiełkę do systemu. Żeby zapoznać się z kodem źródłowym oraz możliwościami Pico, możesz skopiować na swój komputer trzy repozytoria składające się na ten system: -Using Pico's Git repositories is different from using one of the installation methods elucidated above. It gives you the current development version of Pico, what is likely *unstable* and *not ready for production use*! +* [główne repozytorium][PicoGit] (to repozytorium), +* [domyślny szablon tego CMS'a][PicoThemeGit], +* [wtyczkę `PicoDeprecated`][PicoDeprecatedGit], umożliwiającą zgodność najnowszej wersji CMS'a z wtyczkami i szablonami pisanymi pod starsze wersje. -1. Open a shell and navigate to the desired directory of Pico's development workspace within the `httpdocs` directory (e.g. `/var/www/html/pico`) of your server. Download and extract Pico's Composer starter project into the `workspace` directory: +Możesz przygotować sobie również również [projekt Pico w aplikacji Composer][PicoComposerGit] i dołączyć do niego brakujące elementy, używając lokalnych pakietów. + +Ważną rzeczą jest to, że to repozytorium **jest aktualizowane na bieżąco**. Oznacza to, że "poprawki" składające się na kolejne aktualizacje są w pierwszej kolejności udostępniane tutaj, a całe repozytorium jest traktowane jako swego rodzaju platforma do testów oraz baza dla programistów chcących współtworzyć projekt. Repozytorium nie jest przeznaczone do użytku jako instalacja CMS'a na serwerze dla użytkowników końcowych. + +1. Otwórz terminal i przejdź do katalogu, w którym docelowo będzie się znajdowało deweloperskie wydanie Pico. Powinieneś/Powinnaś ustawić go jako katalog serwowania strony internetowej przez Twój server (np. w Apache zmień adres w opcji *DocumentRoot* albo dodaj swój folder do innego portu). Przykładowa lokalizacja: `/var/www/picocms-dev`. + +2. Pobierz i rozpakuj gotową paczkę z projektem startowym w Composerze do docelowego katalogu. W tym przykładzie dodatkowo zmieniamy nazwę podkatalogu, do którego projekt został rozpakowany na *workspace*, więc docelowym katalogiem Twojej pracy zostanie `/var/www/picocms-dev/workspace`: ```shell $ curl -sSL https://github.com/picocms/pico-composer/archive/master.tar.gz | tar xz $ mv pico-composer-master workspace ``` -2. Clone the Git repositories of all Pico components (Pico's core, Pico's default theme and the `PicoDeprecated` plugin) into the `components` directory: +3. Będąc w katalogu wyżej od `workspace` (w przykładzie `/var/www/picocms-dev`), utwórz w nim dodatkowy podkatalog `components` i sklonuj do niego (w sensie `components`) repozytoria trzech podstawowych składników Pico: ```shell $ mkdir components @@ -74,7 +83,7 @@ Using Pico's Git repositories is different from using one of the installation me $ git clone https://github.com/picocms/pico-deprecated.git components/pico-deprecated ``` -3. Instruct Composer to use the local Git repositories as replacement for the `picocms/pico` (Pico's core), `picocms/pico-theme` (Pico's default theme) and `picocms/pico-deprecated` (the `PicoDeprecated` plugin) packages. Update the `composer.json` of your development workspace (i.e. `workspace/composer.json`) accordingly: +4. W Twoim katalogu pracy znajduje się plik `composer.json`. Zaktualizuj go tak, żeby użył uprzednio sklonowanych przez Ciebie repozytoriów zamiast pobierać stabilne wersje z serwerów. Tutaj masz przykład gotowej zmiany: ```json { @@ -104,47 +113,50 @@ Using Pico's Git repositories is different from using one of the installation me } ``` -4. Download Composer and run it with the `install` option: +Pamiętaj, że repozytoria oznaczają odpowiednio: `pico` - główne repozytorium Pico, `pico-theme` - domyślny szablon i `pico-deprecated` - wtyczka PicoDeprecated. + +4. Zainstaluj aplikację Composer i za jej pomocą skończ przygotowywanie katalogu komendą `install`: ```shell $ curl -sSL https://getcomposer.org/installer | php $ php composer.phar --working-dir=workspace install ``` -You can now open your web browser and navigate to Pico's development workspace. All changes you make to Pico's components will automatically be reflected in the development workspace. +Możesz teraz otworzyć swoją przeglądarkę (pamiętając o tym, jak skonfigurowałeś swój serwer). Powinienieś teraz zobaczyć stronę domyślną Pico. Wszystkie zmiany, które przeprowadzisz w częściach tego systemu, będziesz mógł natychmiast zaobserwować na ekranie. -By the way, you can also find all of Pico's components on [Packagist.org][Packagist]: [Pico's core][PicoPackagist], [Pico's default theme][PicoThemePackagist], the [`PicoDeprecated` plugin][PicoDeprecatedPackagist] and [Pico's Composer starter project][PicoComposerPackagist]. +Wszystkie komponenty Pico możesz znaleźć również w serwisie [Packagist.org][Packagist]: [główne jądro][PicoPackagist], [domyślny szablon][PicoThemePackagist], [wtyczka `PicoDeprecated`][PicoDeprecatedPackagist] i [startowy projekt w Composerze][PicoComposerPackagist]. -Upgrade -------- +Aktualizacja systemu +-------------------- -Do you remember when you installed Pico? It was ingeniously simple, wasn't it? Upgrading Pico is no difference! The upgrade process differs depending on whether you used [Composer][] or a pre-bundled release to install Pico. Please note that you should *always* create a backup of your Pico installation before upgrading! +Pamiętasz moment, gdy instalowałeś Pico? Łatwo było, co nie? Aktualizację się robi bardzo podobnie. Proces aktualizacji różni się przebiegiem w zależności od metody pierwszej installacji. Niezależnie od tego czynnika, *zawsze* warto przygotować sobie kopię zapasową treści Twojej strony. -Pico follows [Semantic Versioning 2.0][SemVer] and uses version numbers like `MAJOR`.`MINOR`.`PATCH`. When we update the `PATCH` version (e.g. `2.0.0` to `2.0.1`), we made backwards-compatible bug fixes. If we change the `MINOR` version (e.g. `2.0` to `2.1`), we added functionality in a backwards-compatible manner. Upgrading Pico is dead simple in both cases. Simply head over to the appropiate Upgrade sections below. +Pico korzysta z [semantycznego wersjonowania][SemVer] (standard w wersji 2.0.0), a co za tym idzie, numeracja kolejnych wersji CMS'a odbywa się w schemacie `MAJOR`.`MINOR`.`PATCH`. Gdy aktualizacja zmienia numerek `PATCH` (np. `2.0.0` -> `2.0.1`), oznacza to, że zawiera ona głównie poprawki błędów. Natomiast gdy zmienionym numerkiem jest `MINOR` (np. `2.0.5` -> `2.1.0`), dodaje ona ważniejsze zmiany, które jednak nie powinny zaburzać wstecznej kompatybilności ze starszymi wydaniami. -But wait, we forgot to mention what happens when we update the `MAJOR` version (e.g. `2.0` to `3.0`). In this case we made incompatible API changes. We will then provide a appropriate upgrade tutorial, so please head over to the ["Upgrade" page on our website][HelpUpgrade]. +Ostatnią możliwą sytuacją jest zmiana numerka `MINOR` (np. `2.0` -> `3.0`), co oznacza wprowadzenie bardzo ważnych nowości, które mogą (zwykle są) niekompatybilne z poprzednimi odsłonami API. W takiej sytuacji udostępnimy Wam dodatkowe informacje o aktualizacji oraz poradniki co i jak, więc spokojnie ;) Udaj się wtedy do [sekcji "Upgrade" na stronie Pico][HelpUpgrade] -### I've used Composer to install Pico +### Używałem/am Composera -Upgrading Pico is dead simple if you've used Composer to install Pico. Simply open a shell and navigate to Pico's install directory within the `httpdocs` directory (e.g. `/var/www/html/pico`) of your server. You can now upgrade Pico using just a single command: +Pamiętasz, gdy było napisane, że zalecamy używać Composera do zainstalowania Pico? Dzięki temu możesz zaktualizować CMS'a jedną komendą w terminalu, wykonaną w katalogu, w którym znajduje się Twoja strona internetowa: ```shell $ php composer.phar update ``` -That's it! Composer will automatically update Pico and all plugins and themes you've installed using Composer. Please make sure to manually update all plugins and themes you've installed manually. +Composer dokona automatycznej aktualizacji wszystkich tematów, wtyczek oraz oczywiście jądra Pico. **Ważna rzecz**: wszystkie tematy i wtyczki ręcznie wgrywane do systemu nie zostaną zaktualizowane, musisz tego dokonać samemu (w razie potrzeby). -### I've used a pre-bundled release to install Pico +### Używałem/am gotowego wydania (paczki do wgrania na serwer) -Okay, installing Pico was easy, but upgrading Pico is going to be hard, isn't it? I'm affraid I have to disappoint you... It's just as simple as installing Pico! +Nie martw się, nie będziesz miał/miała trudniejszej drogi do zaktualizowania Pico! -First you'll have to delete the `vendor` directory of your Pico installation (e.g. if you've installed Pico to `/var/www/html/pico`, delete `/var/www/html/pico/vendor`). Then [download the latest Pico release][LatestRelease] and upload all files to your existing Pico installation directory. You will be prompted whether you want to overwrite files like `index.php`, `.htaccess`, ... - simply hit "Yes". +Na początku usuń subfolder `vendor` z katalogu, w którym zainstalowany jest Pico (przykładowo, gdy Pico znajduje się w `/var/www/html`, usuń `/var/www/html/vendor`). Następnie [pobierz najnowszą gotową paczkę] i skopiuj wszystkie pliki z niej do katalogu z zainstalowaną starszą wersją. Zgódź się na nadpisanie plików (np. `index.php`, `.htaccess` itd.). Automatycznie skopiuje to także cały folder `vendor` i zaktualizuje biblioteki używane przez system. -That's it! Now that Pico is up-to-date, you need to update all plugins and themes you've installed. +To już wszystko - wejdź na swoją stronę i sprawdź, czy otwiera się poprawnie. -### I'm a developer +### Jestem programistą / webdesignerem -As a developer you should know how to stay up-to-date... 😉 For the sake of completeness, if you want to upgrade Pico, simply open a shell and navigate to Pico's development workspace (e.g. `/var/www/html/pico`). Then pull the latest commits from the Git repositories of [Pico's core][PicoGit], [Pico's default theme][PicoThemeGit] and the [`PicoDeprecated` plugin][PicoDeprecatedGit]. Let Composer update your dependencies and you're ready to go. +Jako programista powinieneś/powinnaś wiedzieć, jak być ze wszystkim na bieżąco... ;) +Jeśli utworzyłeś sobie miejsce pracy z repozytoriów i projektu startowego na Composerze, dokonaj w katalogach ze sklonowanymi repozytoriami Gita aktualizacji do najnowszej wersji. Następnie zaktualizuj projekt za pomocą Composera. Już, to wszystko. ```shell $ git -C components/pico pull @@ -153,50 +165,46 @@ $ git -C components/pico-deprecated pull $ php composer.phar --working-dir=workspace update ``` -Getting Help ------------- - -#### Getting Help as a user - -If you want to get started using Pico, please refer to our [user docs][HelpUserDocs]. Please read the [upgrade notes][HelpUpgrade] if you want to upgrade from Pico 1.0 to Pico 2.0. You can find officially supported [plugins][OfficialPlugins] and [themes][OfficialThemes] on our website. A greater choice of third-party plugins and themes can be found in our [Wiki][] on the [plugins][WikiPlugins] or [themes][WikiThemes] pages respectively. If you want to create your own plugin or theme, please refer to the "Getting Help as a developer" section below. +Pomoc +----- -#### Getting Help as a developer +#### Dla użytkownika -If you're a developer, please refer to the "Contributing" section below and our [contribution guidelines][ContributionGuidelines]. To get you started with creating a plugin or theme, please read the [developer docs on our website][HelpDevDocs]. +Jeśli po zainstalowaniu Pico coś nie jest jeszcze dla Ciebie jasne, możesz się zapoznać ze specjalnie przygotowaną [dokumentacją dla początkujących][HelpUserDocs] (jej część jest w języku angielskim). Zapoznaj się z [tym poradnikiem][HelpUpgrade], jeśli potrzebujesz zaktualizować Pico do wersji 2.0. Na oficjalnej stronie CMS'a możesz znaleźć oficjalne i wyróżnione [wtyczki][OfficialPlugins] oraz [szablony][OfficialThemes]. Dużo większy wybór możesz znaleźć na liście [wtyczek][WikiPlugins] i [szablonów][WikiThemes] przygotowanych przez społeczność projektu. Ty też możesz coś zrobić - zerknij na [wiki projektu na GitHubie][Wiki] oraz na akapit poniżej. -#### You still need help or experience a problem with Pico? +#### Dla programisty i designera -When the docs can't answer your question, you can get help by joining us on [#picocms on Freenode IRC][Freenode] ([logs][FreenodeLogs]). When you're experiencing problems with Pico, please don't hesitate to create a new [Issue][Issues] on GitHub. Concerning problems with plugins or themes, please refer to the website of the developer of this plugin or theme. +Jeśli jesteś programistą, webdesignerem, osobą mogącą wesprzeć projekt, jesteś kimś, kogo bardzo potrzebujemy! Zapoznaj się z [zasadami udziału w projekcie][ContributionGuidelines] oraz z [dokumentacją dla programistów][HelpDevDocs] (po angielsku, ale chyba Ci to nie straszne ;) ). Pico używa [Twiga](https://twig.symfony.com) do renderowania strony z szablonów. Jest to bardzo prosty w użyciu silnik używający PHP, więc łatwo Ci będzie przeportować praktycznie dowolny szablon - wystarczy zastąpić te części, które mogą się zmieniać na stronie odpowiednimi zmiennymi Twiga. -**Before creating a new Issue,** please make sure the problem wasn't reported yet using [GitHubs search engine][IssuesSearch]. Please describe your issue as clear as possible and always include the *Pico version* you're using. Provided that you're using *plugins*, include a list of them too. We need information about the *actual and expected behavior*, the *steps to reproduce* the problem, and what steps you have taken to resolve the problem by yourself (i.e. *your own troubleshooting*). +#### Masz jeszcze jakieś pytanie, problem, pomysł? -Contributing ------------- +Jeśli nie znalazłeś/aś szukanej przez Ciebie odpowiedzi w dokumentacji, nie wahaj się spytać o nią na [oficjalnym kanale IRC #picocms][Freenode] ([logi][FreenodeLogs]). Możesz także rozpocząć [dyskusję na GitHubie][Issues] lub przyłączyć się do już istniejącej. W razie problemów z wtyczkami bądź szablonami odwołaj się do jego/jej twórcy. -You want to contribute to Pico? We really appreciate that! You can help make Pico better by [contributing code][PullRequests] or [reporting issues][Issues], but please take note of our [contribution guidelines][ContributionGuidelines]. In general you can contribute in three different areas: +**Przed rozpoczęciem dyskusji na GitHubie** upewnij się, że już ktoś o to nie zapytał, używając [wyszukiwarki][IssuesSearch]. Zawsze opisuj swój problem tak dokładnie, jak tylko potrafisz, podając jak najwięcej szczegółów. Oczywistą koniecznością będzie podanie używanej wersji Pico, powiedz także, jakich wtyczek i jakiego szablonu używasz. Musimy wiedzieć, *w jakim stanie obecnie jest problem*, w jaki sposób *my możemy go odtworzyć u siebie* oraz co próbowałeś robić samemu, żeby go naprawić. -1. Plugins & Themes: You're a plugin developer or theme designer? We love you guys! You can find tons of information about how to develop plugins and themes at http://picocms.org/development/. If you have created a plugin or theme, please add it to our [Wiki][], either on the [plugins][WikiPlugins] or [themes][WikiThemes] page. You may also [Submit][] it to our website, where it'll be displayed on the official [plugin][OfficialPlugins] or [theme][OfficialThemes] pages! +Udział w projekcie +------------------ -2. Documentation: We always appreciate people improving our documentation. You can either improve the [inline user docs][EditInlineDocs] or the more extensive [user docs on our website][EditUserDocs]. You can also improve the [docs for plugin and theme developers][EditDevDocs]. Simply fork our website's Git repository from https://github.com/picocms/picocms.github.io, change the Markdown files and open a [pull request][PullRequestsWebsite]. +Chciałbyś/Chciałabyś włożyć swoją cegiełkę w rozwój Pico? Jesteś dokładnie tą osobą, której potrzebujemy! Możesz nam pomóc przez [zmiany kodu źródłowego][PullRequests] i [zgłaszanie problemów][Issues]. Prosimy jednak o zapoznanie się z [zasadami udziału w projekcie][ContributionGuidelines]. Możesz działać w tych sektorach: -3. Pico's Core: The supreme discipline is to work on Pico's Core. Your contribution should help *every* Pico user to have a better experience with Pico. If this is the case, fork Pico from https://github.com/picocms/Pico and open a [pull request][PullRequests]. We look forward to your contribution! +1. Wtyczki i tematy: Potrafisz napisać wtyczkę i/lub przeportować szablon do Pico, a może nawet stworzyć coś samemu? Czeka na Ciebie potężne wsparcie na specjalnej wiki dla deweloperów: http://picocms.org/development (po angielsku). Jeśli już coś stworzyłeś, możesz to dodać do [wiki dla użytkowników]. Stworzone są tam dwie sekcje: [dla wtyczek][WikiPlugins] i [dla szablonów stron][WikiThemes]. Możesz nawet [zaproponować ją do dodania strony projektu][]. Jeśli społeczność projektu zaakceptuje Twoją propozycję, będziesz mógł zobaczyć ją na oficjalnej stronie, odpowiednio [dla wtyczek][OfficialPlugins] bądź [szablonów stron][OfficialThemes]! -By contributing to Pico, you accept and agree to the *Developer Certificate of Origin* for your present and future contributions submitted to Pico. Please refer to the ["Developer Certificate of Origin" section in our `CONTRIBUTING.md`][ContributionGuidelinesDCO]. +2. Dokumentacja: Jeśli masz już doświadczenie w używaniu Pico, możesz przekuć je w dokumentację dla innych. Zarówno [domyślna strona dla świeżo zainstalowanego CMS'a][EditInlineDocs], jak i [wiki użytkownika][EditUserDocs], a także [wiki dewelopera][EditDevDocs] są hostowane na GitHubie, więc możesz śmiało skopiować repozytorium naszej strony: https://github.com/picocms/picocms.github.io, dokonać swoich zmian i otworzyć [nowy pull request][PullRequestsWebsite]. -You don't have time to contribute code to Pico, but still want to "stand a coffee" for the ones who do? You can contribute monetary to Pico using [Bountysource][], a crowd funding website that focuses on individual issues and feature requests. Just refer to the "Bounties and Fundraisers" section below for more info. +3. Jądro systemu: Tutaj sprawa zaczyna być poważna. Ważne jest to, że Twoja zmiana powinna pomagać *każdemu* użytkownikowi Pico w użyciu tego systemu. Jeśli ten warunek się u Ciebie sprawdza, po prostu sklonuj [repozytorium Pico](https://github.com/picocms/Pico) i otwórz [pull request][PullRequests]. -Bounties and Fundraisers ------------------------- +Każda pomoc w projekcie jest mile widziana! :) Pamiętaj o zapoznaniu się z zasadami uczestnictwa w projekcie, zwłaszcza z sekcją [*Developer Certificate of Origin*][ContributionGuidelinesDCO]. -Pico uses [Bountysource][] to allow monetary contributions to the project. Bountysource is a crowd funding website that focuses on individual issues and feature requests in Open Source projects using micropayment. Users, or "Backers", can pledge money for fixing a specific issue, implementing new features, or developing a new plugin or theme. Open source software developers, or "Bounty Hunters", can then pick up and solve these tasks to earn the money. +Nie masz czasu, żeby wspierać nas w pisaniu kodu źródłowego, jednak chciałbyś nam jakkolwiek pomóc? Możesz dokonać tego pieniężnie, używając crowdfundingowej strony [Bountysource][]. Po więcej informacji zerknij poniżej. -Obviously this won't allow a developer to replace a full time job, it's rather aiming to "stand a coffee". However, it helps bringing users and developers closer together, and shows developers what users want and how much they care about certain things. Nevertheless you can still donate money to the project itself, as an easy way to say "Thank You" and to support Pico. +Wsparcie pieniężne i zlecenia +----------------------------- -If you want to encourage developers to [fix a specific issue][Issues] or implement a feature, simply [pledge a new bounty][Bountysource] or back an existing one. +Pico używa strony [Bountysource], dzięki której możecie wpłacać środki na działanie projektu i wysyłać nam Wasze prośby w formie "zleceń". Użytkownicy mogą w specjalnej sekcji dotyczącej naszego systemu otworzyć prośbę o naprawienie jakiegoś problemu czy napisanie pluginu bądź szablonu. Programiści mogą wybierać sobie zadania, będąc w stałym kontakcie z osobą, która je otworzyła, i je wykonać, przy okazji zarabiając troszkę pieniędzy. Oczywiście taka zapłata nie zastąpi im pełnowymiarowej pracy. Można to raczej ująć jako coś w stylu "postawienia kawy", przy okazji zbliżając do siebie osób używających danych funkcji oraz osób programujących te funkcje. Programiści dodatkowo mogą bliżej poznać potrzeby użytkowników i użyteczność Pico z ich perspektywy. Istnieje także możliwość wpłacenia pieniędzy na sam projekt, co także nas miło wesprze. -As a developer you can pick up a bounty by simply contributing to Pico (please refer to the "Contributing" section above). You don't have to be a official Pico Contributor! Pico is a Open Source project, anyone can open [pull requests][PullRequests] and claim bounties. +Jeśli chciałbyś zaangażować kogoś do [naprawienia usterki w systemie][Issues] bądź dodania nowej funkcji, możesz [dodać nowe zlecenie][Bountysource] w Bountysource lub odwołać się do już istniejącego. Jako programista nie musisz być oficjalnym deweloperem Pico. Jak już widzisz, nasz projekt jest otwarty dla wszystkich - każdy może wybrać sobie zlecenie ;) -Official Pico Contributors won't claim bounties on their own behalf, Pico will never take any money out of Bountysource. All money collected by Pico is used to pledge new bounties or to support projects Pico depends on. +Osoby oficjalnie biorące udział w projekcie nigdy nie wezmą pieniędzy zebranych na rzecz Pico dla siebie. Deklarujemy, że wszystkie pieniądze zebrane w ramach Bountysource są wykorzystywane do wspierania projektów, na których Pico polega oraz na tworzenie nowych zleceń. [Composer]: https://getcomposer.org/ [LatestRelease]: https://github.com/picocms/Pico/releases/latest diff --git a/assets/.gitignore b/assets/.gitignore old mode 100644 new mode 100755 diff --git a/composer.json b/composer.json old mode 100644 new mode 100755 diff --git a/config/.gitignore b/config/.gitignore old mode 100644 new mode 100755 diff --git a/config/config.yml.template b/config/config.yml.template old mode 100644 new mode 100755 index 6a6ac19a5..31c7ccd62 --- a/config/config.yml.template +++ b/config/config.yml.template @@ -1,50 +1,52 @@ ## -# Basic +# Podstawowe ustawienia # -site_title: Pico # The title of your website -base_url: ~ # Pico will try to guess its base URL, if this fails, override it here - # Example: http://example.com/pico/ -rewrite_url: ~ # A boolean (true or false) indicating whether URL rewriting is forced -timezone: UTC # Your PHP installation might require you to manually specify a timezone +site_title: Pico # Tytuł Twojej strony. +base_url: ~ # Pico spróbuje samemu odczytać adres swojej instalacji. Jeśli powstanie błąd, możesz go tutaj wpisać. + # Przykład: https://example.com/pico +rewrite_url: ~ # Opcja true/false, opcjonalnie wskazująca, czy wymuszać użycie mod_rewrite +timezone: UTC # PHP może wymagać deklaracji strefy czasowej ## -# Theme +# Szablon # -theme: default # The name of your custom theme -theme_url: ~ # Pico will try to guess the URL to the themes dir of your installation - # If this fails, override it here. Example: http://example.com/pico/themes/ +theme: default # Nazwa Twojego szablonu (taka sama, jak folderu, w którym się znajduje) +theme_url: ~ # Pico spróbuje samemu odczytać adres, pod którym znajdują się pliki szablonu + # W razie błędu możesz go tutaj wpisać. Przykład: http://example.com/themes/default theme_config: - widescreen: false # Default theme: Use more horicontal space (i.e. make the site container wider) + widescreen: false # Dla domyślnego szablonu: TRUE/FALSE - wyświetlaj stronę na całej szerokosci ekranu. twig_config: - cache: false # Enable Twig template caching by specifying a path to a writable directory + cache: false # Włącz funkcję cache dla Twiga (TRUE/FALSE) autoescape: false # Let Twig escape variables by default - debug: false # Enable Twig's debugging mode + debug: false # Tryb debugowania Twiga (TRUE/FALSE) ## -# Content +# Kontent na stronie # -date_format: %D %T # Pico's default date format - # See http://php.net/manual/en/function.strftime.php for more info -pages_order_by_meta: author # Sort pages by meta value "author" (set "pages_order_by" to "meta") -pages_order_by: alpha # Change how Pico sorts pages ("alpha" for alphabetical order, "date", or "meta") -pages_order: asc # Sort pages in ascending ("asc") or descending ("desc") order -content_dir: content/ # The path to Pico's content directory -content_ext: .md # The file extension of your Markdown files +date_format: %D %T # Domyślny format wyświetlania dat (zobacz http://php.net/manual/en/function.strftime.php) +pages_order_by_meta: author # Według jakiego metatagu Pico ma sortować strony? (działa tylko, gdy pages_order_by = "alpha"). +pages_order_by: alpha # Według jakiego kryterium Pico ma sortować strony w menu? ("alpha" dla kolejności alfabetycznej, "date" - data, lub "meta" - metatagi, zobacz wyżej) +pages_order: asc # "asc" - sortuj strony rosnąco, "desc" - malejąco +content_dir: content/ # Ścieżka do katalogu z plikami Markdowna do renderowania stron (domyślnie "content"). +content_ext: .md # Rozszerzenie plików Markdowna (zwykle zmiana tego ustawienia jest niezalecana) content_config: - extra: true # Use the Parsedown Extra parser to support extended markup - # See https://michelf.ca/projects/php-markdown/extra/ for more info - breaks: false # A boolean indicating whether breaks in the markup should be reflected in the - # parsed contents of the page + extra: true # Włącz możliwość używania Parsedown Extra - ulepszonej składni Markdowna + # https://michelf.ca/projects/php-markdown/extra/ + breaks: false # TRUE/FALSE - przenoś entery i tabulatory z plików Markdowna do gotowej strony podczas procesu renderowania + # escape: false # Escape HTML markup in your content files; don't confuse this with some sort of # safe mode, enabling this doesn't allow you to process untrusted user input! - auto_urls: true # Automatically link URLs found in your markup + auto_urls: true # Automatycznie zamieniaj adresy URL znalezione w plikach Markdowna na odnośniki na stronie ## -# Plugins +# Wtyczki # -DummyPlugin.enabled: false # Force the plugin "DummyPlugin" to be disabled +DummyPlugin.enabled: false # Wymuś włączenie/wyłączenie wtyczki "DummyPlugin" w CMSie ## -# Custom +# Własne ustawienia # -my_custom_setting: Hello World! # You can access custom settings in themes using {{ config.my_custom_setting }} +moje_wlasne_ustawienie: Pico jest super +my_own_setting_in_English: Pico is great # Tutaj masz przykłady własnych ustawień. Są one dostępne w Twigu jako + # {{ config.moje_wlasne_ustawienie }} / {{ config.my_own_setting_in_English }}. + # Oczywiście możesz dodawać własne wyrażenia :) diff --git a/content-sample/404.md b/content-sample/404.md old mode 100644 new mode 100755 index e6ddf3072..8348b7932 --- a/content-sample/404.md +++ b/content-sample/404.md @@ -1,9 +1,9 @@ --- -Title: Error 404 +Title: Błąd 404 Robots: noindex,nofollow --- -Error 404 -========= +Błąd 404 +======== -Woops. Looks like this page doesn't exist. +Łoooo. Wygląda na to, że takiej strony nie ma. Spróbuj jeszcze raz, może to tylko literówka w adresie. diff --git a/content-sample/_meta.md b/content-sample/_meta.md old mode 100644 new mode 100755 index 9cdf2025c..106fe77aa --- a/content-sample/_meta.md +++ b/content-sample/_meta.md @@ -1,12 +1,12 @@ --- social: - - title: Visit us on GitHub + - title: Repozytorium Pico na GitHubie url: https://github.com/picocms/Pico icon: octocat - - title: Join us on Freenode IRC Webchat + - title: Jesteśmy dostępni na kanale IRC #picocms (Freenode) url: https://webchat.freenode.net/?channels=%23picocms icon: chat - - title: Help us by creating/collecting bounties and pledging to fundraisers + - title: Wspomóż nas w serwisie Bountysource, tworząc i/albo rozwiązując zadania url: https://www.bountysource.com/teams/picocms icon: dollar --- diff --git a/content-sample/index.md b/content-sample/index.md old mode 100644 new mode 100755 index 04b77a04f..9af3fab48 --- a/content-sample/index.md +++ b/content-sample/index.md @@ -1,39 +1,40 @@ --- -Title: Welcome -Description: Pico is a stupidly simple, blazing fast, flat file CMS. +Title: Witaj w Pico +Description: Pico jest prostym do bólu, niewymagającym żadnej bazy danych, doświadczenia w stronach internetowych ani znajomości HTML'a CMS'em (systemem zarządzania treścią). --- -## Welcome to Pico +## Witaj w Pico -Congratulations, you have successfully installed [Pico][] %version%. -%meta.description% +Gratulujemy, właśnie zainstalowałeś [Pico][] %version%. +%meta.description% -## Creating Content +## Tworzenie kontentu -Pico is a flat file CMS. This means there is no administration backend or -database to deal with. You simply create `.md` files in the `content` folder -and those files become your pages. For example, this file is called `index.md` -and is shown as the main landing page. +Pico jest CMS'em typu *flat file*. Oznacza to, że nie potrzebuje on do działania +żadnej bazy danych ani panelu administratora. Tworzenie nowych stron polega na +dodawaniu plików `.md` (Markdown) do folderu `content`, które będą wypełnione +metadanymi oraz treścią docelową. Przykładowo, plik odpowiadający za wyświetlanie +strony domyślnej nazywa się `index.md`, dlatego jest wyświetlany jako strona główna. -When you install Pico, it comes with some sample contents that will display -until you add your own content. Simply add some `.md` files to your `content` -folder in Pico's root directory. No configuration is required, Pico will -automatically use the `content` folder as soon as you create your own -`index.md`. Just check out [Pico's sample contents][SampleContents] for an -example! +Pico tuż po instalacji posiada kilka zapisanych stron, które wyświetlają się +zamiast Twojego kontentu. Gdy tylko dodasz jakiś plik `.md` do folderu `content`, +treść ta zniknie, a zamiast niej witryna zacznie być generowana z plików znajdujących +się w `content`. Jeśli będziesz potrzebował pomocy w tworzeniu strony z Pico, możesz +się wzorować na [treści plików `.md` domyślnych stron][SampleContents]. -If you create a folder within the content directory (e.g. `content/sub`) and -put an `index.md` inside it, you can access that folder at the URL -`%base_url%?sub`. If you want another page within the sub folder, simply create -a text file with the corresponding name and you will be able to access it -(e.g. `content/sub/page.md` is accessible from the URL `%base_url%?sub/page`). -Below we've shown some examples of locations and their corresponding URLs: +Gdy utworzysz folder w katalogu z kontentem (np. `content/sub`) i dodasz do niego +plik `index.md`, będziesz mógł otworzyć wygenerowaną przez niego stronę pod adresem +`%base_url%?sub`. Jeśli chcesz zmienić adres URL na jakiś inny, np. `%base_url%?sub/page`, +wystarczy, że w katalogu `sub` utworzysz plik `page.md` i wypełnisz go treścią. +Tak samo robi się dla każdej innej strony - wystarczy, że utworzysz plik (w razie +potrzeby także katalogi) z odpowiadającymi adresowi nazwami. Zobacz kilka przykładów +poniżej: - - + + @@ -43,112 +44,126 @@ Below we've shown some examples of locations and their corresponding URLs: - + - + - - + + - +
Physical LocationURLLokalizacja na serwerzeAdres URL
content/sub.md?sub (not accessible, see below)?sub (strona nie zostanie wyświetlona, jeśli równocześnie utworzysz plik `content/sub/index.md`)
content/sub/index.md?sub (same as above)?sub (zobacz przypadek powyżej, w przypadku równoczesnego istnienia obu plików priorytet +dzierży link `content/sub/index.md`)
content/sub/page.md?sub/pagecontent/jakisurl/alamakota.md?jakisurl/alamakota (nie istnieje, to tylko taki przykład)
content/a/very/long/url.mdcontent/a/stasiek/ma/psa.md - ?a/very/long/url - (doesn't exist) + ?a/stasiek/ma/psa + (również nie istnieje)
-If a file cannot be found, the file `content/404.md` will be shown. You can add -`404.md` files to any directory. So, for example, if you wanted to use a special -error page for your blog, you could simply create `content/blog/404.md`. - -Pico strictly separates contents of your website (the Markdown files in your -`content` directory) and how these contents should be displayed (the Twig -templates in your `themes` directory). However, not every file in your `content` -directory might actually be a distinct page. For example, some themes (including -Pico's default theme) use some special "hidden" file to manage meta data (like -`_meta.md` in Pico's sample contents). Some other themes use a `_footer.md` to -represent the contents of the website's footer. The common point is the `_`: all -files and directories prefixed by a `_` in your `content` directory are hidden. -These pages can't be accessed from a web browser, Pico will show a 404 error -page instead. - -As a common practice, we recommend you to separate your contents and assets -(like images, downloads, etc.). We even deny access to your `content` directory -by default. If you want to use some assets (e.g. a image) in one of your content -files, you should create an `assets` folder in Pico's root directory and upload -your assets there. You can then access them in your Markdown using +Jeśli jakiś plik nie będzie mógł zostać odnaleziony, zamiast niego zostanie pokazana +strona 404, którą możesz zdefiniować w pliku `content/404.md`. Możesz dodatkowo dodać +różne pliki `404.md` do zmiany treści tej strony dla poszczególnych podkatalogów. +Przykładowo, gdybyś chciał(a), żeby blog wyświetlał inną stronę 404, a blog ma adres +`%base_url%/?blog`, utwórz dla niej plik `content/blog/404.md`. + +Pico osobno renderuje kontent Twojej strony (pliki `.md` w katalogu `content`) +oraz **szablony**, czyli pliki określające, jak Twoja strona ma wyglądać (pliki +w katalogu `themes`). Nie każdy plik w katalogu `content` pełni jednak funkcję +definiującą daną stronę w Twojej witrynie. Przykładowo niektóre szablony (jak +ten domyślny) pozwalają tworzyć tzw. **ukryte strony**. Są to fragmenty kodu w Markdownie, +które mogą być metadanymi albo na przykład definiować strony w pasku nawigacji. Domyślna +strona Pico posiada plik `_meta.md` określający wygląd dolnej stopki strony w domyślnym temacie. +Ważny tutaj jest znak `_` przed "właściwą nazwą", ponieważ to on blokuje renderowanie strony, +gdy przeglądarka zostanie o to zapytana. Przykładowo, gdybyś do swojej strony dodał(a) +plik `content/_alajednakmapsa.md`, a następnie spróbował(a) otworzyć stronę +`%base_url%?alajednakmapsa`, zamiast niej pojawi się błąd 404. + +Dobą praktyką jest oddzielenie kontentu na stronie i wszelkich dodatków, jak na przykład +zdjęć i filmów do osadzenia na stronie czy plików do pobrania. Domyślnie Pico zabrania +dostępu do folderu `content` przez przeglądarkę. Jeśli chciałbyś/chciałabyś dodać jakiś +plik tego typu na swój serwer, zalecamy Ci, żebyś użył(a) w tym celu folderu `assets`. +Jest on niesprawdzany przez Pico, więc tam możesz spokojnie trzymać, co chcesz. Jeśli +katalog nie istnieje, utwórz go samemu. Możesz dodać wszystko z `assets` do Markdowna, +jak w tym przykładzie: %base_url%/assets/ for example: !\[Image Title\](%base_url%/assets/image.png) -### Text File Markup -Text files are marked up using [Markdown][] and [Markdown Extra][MarkdownExtra]. -They can also contain regular HTML. +### Pisanie treści na stronie -At the top of text files you can place a block comment and specify certain meta -attributes of the page using [YAML][] (the "YAML header"). For example: +Pliki tworzące treść strony używają składni [Markdown][] i [Markdown Extra][MarkdownExtra]. +Możesz do nich dodawać także zwykły kod HTML albo w razie potrzeby używać jednego i drugiego +łącznie. +Na początku tych plików możesz dodać blok komentarza, w którym określisz metadane strony +(np. tytuł, opis, słowa kluczowe). Później będzie on nazwany "YAML header'em". Przykładowy +header (nazwy danych muszą być po angielsku): --- - Title: Welcome - Description: This description will go in the meta description tag + Title: Tytuł Twojej strony internetowej + Description: To, co tu wpiszesz, zostanie wyświetlone w Author: Joe Bloggs Date: 2001-04-25 Robots: noindex,nofollow Template: index --- -These values will be contained in the `{{ meta }}` variable in themes (see -below). Meta headers sometimes have a special meaning: For instance, Pico not -only passes through the `Date` meta header, but rather evaluates it to really -"understand" when this page was created. This comes into play when you want to -sort your pages not just alphabetically, but by date. Another example is the -`Template` meta header: It controls what Twig template Pico uses to display -this page (e.g. if you add `Template: blog`, Pico uses `blog.twig`). - -In an attempt to separate contents and styling, we recommend you to not use -inline CSS in your Markdown files. You should rather add appropriate CSS -classes to your theme. For example, you might want to add some CSS classes to -your theme to rule how much of the available space a image should use (e.g. -`img.small { width: 80%; }`). You can then use these CSS classes in your -Markdown files, for example: +Te wartości będą później dostępne do użytku w szablonach przez zmienną `{{ meta }}` +(zobacz więcej poniżej). Czasami metadane mogą mieć znaczenie dodatkowe, przykładem +może być tutaj dana `Date` - Pico używa jej nie tylko do dodania do sekcji `` +gotowej strony, lecz także sprawdza za jej pomocą, kiedy strona została utworzona. +Może Ci się to przydać, gdy będziesz chciał(a) posortować strony według daty utworzenia +(np. przy tworzeniu bloga). Kolejnym przykładem jest metadana `Template`, której +zadaniem jest sprawdzanie, którego szablonu z templatki Pico ma użyć do renderowania +strony (przykładowo, wpisując `Template: blog`, Pico będzie szukał szablonu `blog.twig` +w używanym templacie). + +Następną zalecaną przez nas dobrą praktyką jest niewstawianie CSS'a bezpośrednio do +plików Markdowna. Zamiast tego dodaj potrzebne style do szablonów w templacie. Przykładowo, +przypuśćmy, że potrzebujesz ustawić następującą regułę CSS: `img.small { width: 80%; }`. +Możesz ją dodać do szablonu, a następnie wywołać ją w pliku `.md`, jak tutaj: !\[Image Title\](%base_url%/assets/image.png) {.small} -There are also certain variables that you can use in your text files: - -* %site_title% - The title of your Pico site -* %base_url% - The URL to your Pico site; internal links - can be specified using %base_url%?sub/page -* %theme_url% - The URL to the currently used theme -* %version% - Pico's current version string (e.g. `2.0.0`) -* %meta.*% - Access any meta variable of the current - page, e.g. %meta.author% is replaced with `Joe Bloggs` - -### Blogging - -Pico is not blogging software - but makes it very easy for you to use it as a -blog. You can find many plugins out there implementing typical blogging -features like authentication, tagging, pagination and social plugins. See the -below Plugins section for details. - -If you want to use Pico as a blogging software, you probably want to do -something like the following: - -1. Put all your blog articles in a separate `blog` folder in your `content` - directory. All these articles should have a `Date` meta header. -2. Create a `blog.md` or `blog/index.md` in your `content` directory. Add - `Template: blog-index` to the YAML header of this page. It will later show a - list of all your blog articles (see step 3). -3. Create the new Twig template `blog-index.twig` (the file name must match the - `Template` meta header from Step 2) in your theme directory. This template - probably isn't very different from your default `index.twig` (i.e. copy - `index.twig`), it will create a list of all your blog articles. Add the - following Twig snippet to `blog-index.twig` near `{{ content }}`: +Pico oferuje Ci także kilka zmiennych, których możesz używać w plikach Markdowna w celu +uniknięcia zbędnego powtarzania rzeczy takich jak: + +* %site_title% - Tytuł Twojej strony; +* %base_url% - Adres Twojej strony; linki do poszczególnych +stron mogą być wywołane za pomocą %base_url%?przykladowy/link; +* %theme_url% - Adres do plików używanej przez Twoją stronę templatki; +* %version% - Obecna wersja systemu (np. `2.0.5-beta.1`); +* %meta.*% - Wywołuje wartości z YAML header'a, np. +%meta.author% spowoduje wypisane `Joe Bloggs`. + +### Blogowanie + +Pico nie jest pisany z myślą o blogowaniu, lecz bardzo łatwo jest wprowadzić +taką funkcjonalność, jeśli tylko tego potrzebujesz. Możesz znaleźć potrzebne +Ci wtyczki, jeśli czegoś Ci będzie brakowało, jak na przykład tagowania, +uwierzytelniania czy paginacji. Więcej informacji znajdziesz w sekcji Wtyczki +poniżej. + +Chcąc używać Pico jako systemu także (bądź głównie) do prowadzenia bloga, +najłatwiej Ci będzie podążać za tym poradnikiem: + +1. Umieść wszystkie Twoje artykuły w oddzielnym folderze `blog` w katalogu +`content`. Wszystkie artykuły powinny mieć metadaną `Date`. +2. Utwórz stronę dla bloga, która stanie się swego rodzaju placeholderem +do czytania postów. Najlepiej oczywiście będzie, gdy będzie miała ona adres +`%base_url%?blog/`, więc utwórz plik o nazwie `blog.md` albo `blog/index.md` +(oba będą się odwoływały do tego adresu, lecz nie mogą istnieć jednocześnie). +Dodaj do tej strony metadaną `Template: blog-index`. +3. Utwórz nowy szablon Twiga o nazwie `blog-index.twig` (jak już pewnie widzisz, +nazwa musi się zgadzać z metadaną `Template` z pliku) tam, gdzie znajduje +się Twoja templatka. Nie będzie on zbytnio się różnił od głównego szablonu +`index.twig` (możesz przykładowo skopiować index, nadać kopii nazwę `blog-index.twig` +i wprowadzić w kopii Twoje zmiany). Przed zmienną `{{ content }}` dodaj +w pliku `blog-index.twig` ten kawałek kodu Twiga: + ``` {% for page in pages|sort_by("time")|reverse %} {% if page.id starts with "blog/" and not page.hidden %} @@ -161,77 +176,76 @@ something like the following: {% endfor %} ``` -## Customization - -Pico is highly customizable in two different ways: On the one hand you can -change Pico's appearance by using themes, on the other hand you can add new -functionality by using plugins. Doing the former includes changing Pico's HTML, -CSS and JavaScript, the latter mostly consists of PHP programming. - -This is all Greek to you? Don't worry, you don't have to spend time on these -techie talk - it's very easy to use one of the great themes or plugins others -developed and released to the public. Please refer to the next sections for -details. - -### Themes - -You can create themes for your Pico installation in the `themes` folder. Check -out the default theme for an example. Pico uses [Twig][] for template -rendering. You can select your theme by setting the `theme` option in -`config/config.yml` to the name of your theme folder. - -All themes must include an `index.twig` file to define the HTML structure of -the theme. Below are the Twig variables that are available to use in your -theme. Please note that paths (e.g. `{{ base_dir }}`) and URLs -(e.g. `{{ base_url }}`) don't have a trailing slash. - -* `{{ site_title }}` - Shortcut to the site title (see `config/config.yml`) -* `{{ config }}` - Contains the values you set in `config/config.yml` - (e.g. `{{ config.theme }}` becomes `default`) -* `{{ base_dir }}` - The path to your Pico root directory -* `{{ base_url }}` - The URL to your Pico site; use Twig's `link` filter to - specify internal links (e.g. `{{ "sub/page"|link }}`), - this guarantees that your link works whether URL rewriting - is enabled or not -* `{{ theme_dir }}` - The path to the currently active theme -* `{{ theme_url }}` - The URL to the currently active theme -* `{{ version }}` - Pico's current version string (e.g. `2.0.0`) -* `{{ meta }}` - Contains the meta values of the current page - * `{{ meta.title }}` - * `{{ meta.description }}` +## Modyfikowanie + +Pico może być łatwo modyfikowany dwoma sposobami: z jednej strony możesz +zmienić wygląd swojej strony przez tematy, z drugiej możesz dodać +nowe funkcje do samego CMS'a przez wtyczki. To pierwsze wiąże się +z używaniem języków webowych, jak HTML, CSS czy JS, a to drugie opiera +się głównie na PHP. + +Nie rozumiesz o co chodzi? Nie martw się, czeka na Ciebie katalog uprzednio +przygotowanych templatek i wtyczek. Więcej informacji znajduje się +w kolejnym rozdziale. + +### Szablony i motywy + +Możesz dodawać i tworzyć motywy dla systemu Pico w folderze `themes`. Jako +przykład możesz wykorzystać kod domyślnego motywu. Pico używa [Twiga][Twig] do +renderowania gotowej witryny. W celu wskazania motywu, którego chcesz używać na +swojej stronie, użyj opcji `theme` w pliku `config/config.yml`, ustawiając +jej wartość na nazwę Twojego szablonu. + +Wszystkie tematy muszą zawierać co najmniej jeden *szablon* - plik definiujący +strukturę strony i jej kod HTML. Obowiązkowym szablonem jest `index.twig`, +używany jako podstawowy. Oczywiście motywy mogą także zawierać więcej niż +jeden szablon, np. wspomniany w powyższej sekcji `blog-index.twig`. Ważną +uwagą jest to, że wszystkie ścieżki i URLe w Pico (np. `{{ base_dir }}`) +nie zawierają końcowego slasha `/`. Tworząc szablon do użycia z motywem w Pico, +możesz korzystać z następujących zmiennych Twiga: + +* `{{ site_title }}` - Nazwa Twojej strony (wartość z `config/config.yml`. +* `{{ config }}` - Tablica zawierająca wszystkie wartości z pliku `config/config.yml`, + np. `{{ config.theme }}` przyjmie wartość `default`. +* `{{ base_dir }}` - Ścieżka do Twojej instalacji Pico +* `{{ base_url }}` - Adres URL, pod którym jest dostępna Twoja instalacja Pico; + możesz użyć filtra `link` do zdefiniowania linków do innych + stron, np. `{{ "sub/page"|link }}`. Filtr `link` będzie działał + niezależnie od stanu modułu rewrite. +* `{{ theme_dir }}` - Ścieżka do aktualnie używanego tematu. +* `{{ theme_url }}` - Adres URL do aktualnie używanego tematu. +* `{{ version }}` - Obecna wersja Pico (np. `2.0.0`) +* `{{ meta }}` - Tablica zawierająca wartości z nagłówka YAML aktualnie renderowanej strony: + * `{{ meta.title }}` zawiera wartość `Title` z YAML header'a + * `{{ meta.description }}` zawiera wartość `Description` * `{{ meta.author }}` * `{{ meta.date }}` * `{{ meta.date_formatted }}` * `{{ meta.time }}` * `{{ meta.robots }}` - * ... -* `{{ content }}` - The content of the current page after it has been processed - through Markdown -* `{{ pages }}` - A collection of all the content pages in your site - * `{{ page.id }}` - The relative path to the content file (unique ID) - * `{{ page.url }}` - The URL to the page - * `{{ page.title }}` - The title of the page (YAML header) - * `{{ page.description }}` - The description of the page (YAML header) - * `{{ page.author }}` - The author of the page (YAML header) - * `{{ page.time }}` - The [Unix timestamp][UnixTimestamp] derived from - the `Date` header - * `{{ page.date }}` - The date of the page (YAML header) - * `{{ page.date_formatted }}` - The formatted date of the page as specified - by the `date_format` parameter in your - `config/config.yml` - * `{{ page.raw_content }}` - The raw, not yet parsed contents of the page; - use Twig's `content` filter to get the parsed - contents of a page by passing its unique ID - (e.g. `{{ "sub/page"|content }}`) - * `{{ page.meta }}`- The meta values of the page (see `{{ meta }}` above) - * `{{ page.previous_page }}` - The data of the respective previous page - * `{{ page.next_page }}` - The data of the respective next page - * `{{ page.tree_node }}` - The page's node in Pico's page tree -* `{{ prev_page }}` - The data of the previous page (relative to `current_page`) -* `{{ current_page }}` - The data of the current page (see `{{ pages }}` above) -* `{{ next_page }}` - The data of the next page (relative to `current_page`) - -Pages can be used like the following: + * i tak dalej... +* `{{ content }}` - Zmienna zawierająca kontent strony uprzednio przeparsowanej przez filtr Markdowna. +* `{{ pages }}` - Tablica zawierająca informacje o wszystkich stronach wykrytych przez Pico: + * `{{ page.id }}` - Identyfikator strony (URL bez adresu hosta i początkowego slasha) + * `{{ page.url }}` - Adres URL strony + * `{{ page.title }}` - Tytuł strony z nagłówka YAML + * `{{ page.description }}` - Opis strony + * `{{ page.author }}` - Autor strony + * `{{ page.time }}` - [Czas uniksowy][UnixTimestamp] wyliczony na podstawie zmiennej `Date` z nagłówka YAML + * `{{ page.date }}` - Data utworzenia strony, tak jak powyżej wykryta ze zmiennej `Date` + * `{{ page.date_formatted }}` - Data strony przeparsowana w sposób określony przez opcję `date_format` w pliku konfiguracyjnym + * `{{ page.raw_content }}` - Kontent danego pliku, jeszcze nie przeparsowany przez filtr Markdowna; + możesz użyć filtru `content` do włączenia parsera Markdowna dla podanej strony + (np. `{{ "sub/page"|content }}`) + * `{{ page.meta }}`- Podtablica zawierająca metadane stron (zobacz tablicę `{{ meta }}` dla porównania + * `{{ page.previous_page }}` - Informacje o poprzedniej stronie według numeracji Pico + * `{{ page.next_page }}` - Informacje o następnej stronie według numeracji Pico + * `{{ page.tree_node }}` - Tablica zawierająca wszystkie strony wykryte przez Pico ułożone hierarchicznie, niczym drzewo +* `{{ current_page }}` - Tablica zawierająca wszystkie informacje o obecnej stronie (dostępne wartości z `{{ pages }}`, zapoznaj się z tym po więcej informacji) +* `{{ prev_page }}` - Tablica zawierająca informacje o poprzedniej stronie (podobnie, jak `{{ current_page }}`) +* `{{ next_page }}` - Tablica z informacjami o następnej stronie (tak samo, jak `{{ prev_page }}`) + +Zmienne Twiga i dostęp do układu stron według numeracji Pico mogą zostać wykorzystane na przykład do ich wylistowania: -Besides using the `{{ pages }}` list, you can also access pages using Pico's -page tree. The page tree allows you to iterate through Pico's pages using a tree -structure, so you can e.g. iterate just a page's direct children. It allows you -to build recursive menus (like dropdowns) and to filter pages more easily. Just -head over to Pico's [page tree documentation][FeaturesPageTree] for details. - -To call assets from your theme, use `{{ theme_url }}`. For instance, to include -the CSS file `themes/my_theme/example.css`, add -`` -to your `index.twig`. This works for arbitrary files in your theme's folder, -including images and JavaScript files. - -Additional to Twigs extensive list of filters, functions and tags, Pico also -provides some useful additional filters to make theming easier. - -* Pass the unique ID of a page to the `link` filter to return the page's URL - (e.g. `{{ "sub/page"|link }}` gets `%base_url%?sub/page`). -* To get the parsed contents of a page, pass its unique ID to the `content` - filter (e.g. `{{ "sub/page"|content }}`). -* You can parse any Markdown string using the `markdown` filter (e.g. you can - use Markdown in the `description` meta variable and later parse it in your - theme using `{{ meta.description|markdown }}`). You can pass meta data as - parameter to replace %meta.*% placeholders (e.g. - `{{ "Written *by %meta.author%*"|markdown(meta) }}` yields "Written by - *John Doe*"). -* Arrays can be sorted by one of its keys using the `sort_by` filter - (e.g. `{% for page in pages|sort_by([ 'meta', 'nav' ]) %}...{% endfor %}` - iterates through all pages, ordered by the `nav` meta header; please note the - `[ 'meta', 'nav' ]` part of the example, it instructs Pico to sort by - `page.meta.nav`). Items which couldn't be sorted are moved to the bottom of - the array; you can specify `bottom` (move items to bottom; default), `top` - (move items to top), `keep` (keep original order) or `remove` (remove items) - as second parameter to change this behavior. -* You can return all values of a given array key using the `map` filter - (e.g. `{{ pages|map("title") }}` returns all page titles). -* Use the `url_param` and `form_param` Twig functions to access HTTP GET (i.e. - a URL's query string like `?some-variable=my-value`) and HTTP POST (i.e. data - of a submitted form) parameters. This allows you to implement things like - pagination, tags and categories, dynamic pages, and even more - with pure - Twig! Simply head over to our [introductory page for accessing HTTP - parameters][FeaturesHttpParams] for details. - -You can use different templates for different content files by specifying the -`Template` meta header. Simply add e.g. `Template: blog` to the YAML header of -a content file and Pico will use the `blog.twig` template in your theme folder -to display the page. - -Pico's default theme isn't really intended to be used for a productive website, -it's rather a starting point for creating your own theme. If the default theme -isn't sufficient for you, and you don't want to create your own theme, you can -use one of the great themes third-party developers and designers created in the -past. As with plugins, you can find themes in [our Wiki][WikiThemes] and on -[our website][OfficialThemes]. - -### Plugins - -#### Plugins for users - -Officially tested plugins can be found at http://picocms.org/plugins/, but -there are many awesome third-party plugins out there! A good start point for -discovery is [our Wiki][WikiPlugins]. - -Pico makes it very easy for you to add new features to your website using -plugins. Just like Pico, you can install plugins either using [Composer][] -(e.g. `composer require phrozenbyte/pico-file-prefixes`), or manually by -uploading the plugin's file (just for small plugins consisting of a single file, -e.g. `PicoFilePrefixes.php`) or directory (e.g. `PicoFilePrefixes`) to your -`plugins` directory. We always recommend you to use Composer whenever possible, -because it makes updating both Pico and your plugins way easier. Anyway, -depending on the plugin you want to install, you may have to go through some -more steps (e.g. specifying config variables) to make the plugin work. Thus you -should always check out the plugin's docs or `README.md` file to learn the -necessary steps. - -Plugins which were written to work with Pico 1.0 and later can be enabled and -disabled through your `config/config.yml`. If you want to e.g. disable the -`PicoDeprecated` plugin, add the following line to your `config/config.yml`: -`PicoDeprecated.enabled: false`. To force the plugin to be enabled, replace -`false` by `true`. - -#### Plugins for developers - -You're a plugin developer? We love you guys! You can find tons of information -about how to develop plugins at http://picocms.org/development/. If you've -developed a plugin before and want to upgrade it to Pico 2.0, refer to the -[upgrade section of the docs][PluginUpgrade]. - -## Config - -Configuring Pico really is stupidly simple: Just create a `config/config.yml` -to override the default Pico settings (and add your own custom settings). Take -a look at the `config/config.yml.template` for a brief overview of the -available settings and their defaults. To override a setting, simply copy the -line from `config/config.yml.template` to `config/config.yml` and set your -custom value. - -But we didn't stop there. Rather than having just a single config file, you can -use a arbitrary number of config files. Simply create a `.yml` file in Pico's -`config` dir and you're good to go. This allows you to add some structure to -your config, like a separate config file for your theme (`config/my_theme.yml`). - -Please note that Pico loads config files in a special way you should be aware -of. First of all it loads the main config file `config/config.yml`, and then -any other `*.yml` file in Pico's `config` dir in alphabetical order. The file -order is crucial: Config values which have been set already, cannot be -overwritten by a succeeding file. For example, if you set `site_title: Pico` in -`config/a.yml` and `site_title: My awesome site!` in `config/b.yml`, your site -title will be "Pico". - -Since YAML files are plain text files, users might read your Pico config by -navigating to `%base_url%/config/config.yml`. This is no problem in the first -place, but might get a problem if you use plugins that require you to store -security-relevant data in the config (like credentials). Thus you should -*always* make sure to configure your webserver to deny access to Pico's -`config` dir. Just refer to the "URL Rewriting" section below. By following the -instructions, you will not just enable URL rewriting, but also deny access to -Pico's `config` dir. - -### URL Rewriting - -Pico's default URLs (e.g. %base_url%/?sub/page) already are very user-friendly. -Additionally, Pico offers you a URL rewrite feature to make URLs even more -user-friendly (e.g. %base_url%/sub/page). Below you'll find some basic info -about how to configure your webserver proberly to enable URL rewriting. +Oprócz używania tablicy `{{ pages }}`, możesz również skorzystać z *drzewa +stron* Pico. Jest to tablica zawierająca wszystkie strony ułożone hierarchicznie, +niczym drzewo, co pozwoli Ci przykładowo na wylistowanie stron będących *dziećmi* +strony `sub` czy budowanie rekursywnych menu, jak np. list drop-down. Po więcej +informacji o tej funkcji sięgnij do [dokumentacji funkcji page tree][FeaturesPageTree]. + +W celu dodania do Twojej strony dodatków zawartych w Twoim temacie, możesz +użyć zmiennej Twiga `{{ theme_url }}`. Przypuszczając, że chcesz dodać arkusz +CSS `themes/moj_temat/przykladowy_arkusz.css`, dodaj +`` +do Twojego szablonu, np. `index.twig`. Funkcja ta będzie działała dla wszystkich plików +zawartych w katalogu z aktualnie używanym tematem. + +Kolejną funkcjonalnością w szablonach oprócz dostępnych filtrów Twiga są filtry +oferowane przez Pico: + +* Filtr `link` wywołuje adres URL żądanej przez Ciebie strony (np. `{{ "sub/page"|link }}` + doda do Twojej strony `%base_url%?sub/page`). +* Filtr `content` przepuszcza żądaną przez Ciebie stronę przez filtr Markdowna + (np. `{{ "sub/page"|content }}` wywoła kontent z pliku `content/sub/page.md`). +* Filtr `markdown` zamienia dowolny ciąg znaków Markdowna na kod HTML. Przykładowo, + możesz sformatować nagłówek `Description` danej strony i dodać go do Twojego szablonu + za pomocą zmiennej `{{ meta.description|markdown }}`. Możesz także dodać ogół + metadanych jako parametr zamiast wyrażenia %meta.*% (tutaj + też przykład, `{{ "Utworzone *przez %meta.author%*"|markdown(meta) }}` wypluje + "Utworzone przez *John Doe*". +* Filtr `sort_by` sortuje zmienne w tablicach według jednego albo więcej z ich kluczy + (np. `{% for page in pages|sort_by([ 'meta', 'nav' ]) %}...{% endfor %}` posortuje + wszystkie strony według informacji `nav` z nagłówka YAML; zwróć uwagę na użytą składnię + parametru, w przykładzie jest to `[ 'meta', 'nav' ]`, co wskazuje na `page.meta.nav`). + Pozycje niemożliwe do posortowania, np. z powodu braku zmiennej `nav`, zostaną umieszczone + na dole listy. Możesz to jednak zmienić za pomocą drugiego parametru filtra; oprócz + `bottom` (dół, domyślne) możesz także użyć `top` (góra, tutaj na początku listy), `keep` + (zachowaj oryginalną kolejność) albo `remove` (usuń strony niemożliwe do posortowania). +* Filtr `map` zwróci wszystkie wartości danej zmiennej ze wszystkich stron (np. + `{{ pages|map("title") }}` zwróci wszystkie tytuły stron znajdujących się w tablicy `pages`. +* Oprócz tych filtrów Twig udostępnia również funkcje `url_param` i `form_param`. Pozwalają one + na użycie odpowiednio metod GET (tutaj np. query string jak `?jakas-zmienna=wartosc`) + i POST (np. wysłanie informacji z formularza). Za pomocą tej funkcji możesz wprowadzić do + swojej strony dynamiczne elementy, jak np. kategorie, paginację czy tagi. Po więcej informacji + na ten temat [sięgnij do odpowiedniego działu ze strony Pico][FeaturesHttpParams]. + +Budując lub edytując daną stronę w Twojej witrynie, możesz dodać do odpowiadającego jej pliku +kontentu zmienną `Template` w nagłówku YAML. Odpowiada ona za przypisanie danej stronie szablonu +oferowanego przez dany motyw. Przykładowo, dodając do pliku `content/blog.md` zmienną +`Template: blog`, gdy użytkownik wejdzie na adres `%base_url%/?blog`, ujrzy stronę wygenerowaną +za pomocą szablonu `blog.twig`. Nazwa zmiennej `Template` musi odpowiadać nazwie któregoś +z szablonów, w przeciwnym wypadku spowoduje to błąd 500. + +Domyślny motyw oferowany przez Pico nie jest przeznaczony do budowania docelowych witryn, +lecz ma na celu bycie swego rodzaju bazą do modyfikacji, co Ci pozwoli na budowę prawdziwej +strony. Jeśli ani on, ani potrzeba wcześniej wspomnianej modyfikacji nie odpowiada Twoim +możliwościom bądź chęciom, możesz skorzystać z biblioteki motywów przygotowanych przez +chętnych programistów i webdesignerów. Wystarczy, że wejdziesz na [wiki Pico][WikiThemes] +albo na [listę najlepszych dodatków][OfficialThemes]. + + +### Wtyczki + +#### Dla użytkowników + +Promowane wtyczki są umieszczone na podstronie [http://picocms.org/plugins](http://picocms.org/plugins), +a pozostałe, choć równie interesujące, są wymienione w ogólnodostępnej [wiki][WikiPlugins]. + +Instalacja wtyczek do Pico jest bardzo łatwa. Możesz użyć w tym celu [Composera][Composer], +podobnie jak do samego CMS'a (jak np. `composer require phrozenbyte/pico-file-prefixes`) +albo wgrać pliki wtyczki do folderu `plugins/` (jak np. pojedynczego pliku `PicoFilePrefixes.php` +albo katalogu `PicoFilePrefixes`). Zalecamy używanie Composera wszędzie tam, gdzie tylko to możliwe, +ponieważ później pozwoli Ci to na dokonanie aktualizacji za pomocą jednej komendy. Pamiętaj o tym, +że niektóre wtyczki mogą wymagać dodatkowej konfiguracji, przykładowo dodania nowych zmiennych do +pliku `config.yml`. W tym celu zapoznaj się z tzw. załącznikiem *readme* (w wolnym tłumaczeniu +*przeczytaj mnie*, zanim mnie zainstalujesz). + +Wtyczki przeznaczone do używania z Pico 1.0 oraz nowszymi obsługują instrukcję włączenia/wyłączenia +w konfiguracji CMS'a. Przykładowo, jeśli chciałbyś wymusić wyłączenie wtyczki `PicoDeprecated`, +dodaj zmienną `PicoDeprecated.enabled: false` (fałsz) do `config/config.yml`, natomiast jeśli +go włączyć, ustaw wartość na `true` (prawda). + +#### Pisanie nowych wtyczek + +Dla programistów zainteresowanych napisaniem nowej wtyczki udostępniamy przydatną dokumentację +na stronie http://picocms.org/development (po angielsku). Jeśli natomiast chciałbyś/chciałabyś +zaktualizować swoją wtyczkę w celu kompatybilności z wersją 2 i nowszą, [odwołaj się do tej +strony][PluginUpgrade]. + +## Konfiguracja + +Konfiguracja systemu również spełnia kryterium *prostoty do bólu*, wymagając jedynie utworzenia +podstawowego pliku `config/config.yml` (i oczywiście wypełnienia go zawartością). W celu zrozumienia +zasad obsługi tego pliku przygotowaliśmy dla Ciebie szablon w pliku `config/config.yml.template`. +Na początek możesz po prostu zmienić jego nazwę na `config/config.yml`, a następnie edytować według Twoich potrzeb. + +W razie potrzeby możesz również rozłożyć swoją konfigurację na kilka plików. Każdy plik konfiguracji +musi mieć rozszerzenie `.yml` oraz być poprawnym według języka YAML. Za pomocą tej funkcjonalności +możesz np. dodać oddzielną konfigurację dla swojego motywu (`config/moj_motyw.yml`). + +Ważne jest to, że w pierwszej kolejności ładowany jest plik `config.yml`, a następnie wszystkie +pozostałe **w alfabetycznej kolejności**. Dodatkowo zmienne, które już raz zostały ustawione, nie mogą +być zmienione w kolejnym pliku. Biorąc za żywy przykład sytuację z poprzedniego akapitu, gdybyś +w `config.yml` dodał(a) wpis `site_title: Moja strona internetowa`, a w `moj_motyw.yml` - `site_title: +Moja lepsza strona internetowa`, tytułem strony pozostanie `Moja strona internetowa`. + +Pliki YAML są zwykłymi plikami tekstowymi, toteż użytkownicy mogą mieć możliwość przeczytania +ich zawartości poprzez odwiedzenie linku `%base_url%/config/config.yml`. Na początku pewnie +nie będzie to dla Ciebie zbytnim problemem, jednak może się nim stać, gdy jakieś wtyczki bądź +Ty sam będziesz chciał(a) przechowywać w nich hasła, loginy bądź inne poufne dane. W tym celu +razem z Pico dostarczana jest odpowiednia konfiguracja serwera w pliku *.htaccess*, co jednak +wymaga włączonego modułu rewrite. Po więcej informacji sięgnij do sekcji poniżej. Funkcja ta +nie tylko włączy na Twojej stronie ładniejszą składnię URL'i, ale również zabroni odczytywania +surowych danych z poziomu przeglądarki. + +### Moduł rewrite + +Domyślna składnia adresu URL (np. %base_url%/?ala/ma/kota) od razu ma na celu bycie przyjazną, +jednak Pico dodatkowo wspiera moduł rewrite serwera, za pomocą którego adresy przyjmą postać +bez jakichkolwiek pytajników (powyższy przykład zmieni się w %base_url%/ala/ma/kota). Poniżej +znajdziesz poradniki, jak włączyć na swoim serwerze rewriting. #### Apache -If you're using the Apache web server, URL rewriting probably already is -enabled - try it yourself, click on the [second URL](%base_url%/sub/page). If -URL rewriting doesn't work (you're getting `404 Not Found` error messages from -Apache), please make sure to enable the [`mod_rewrite` module][ModRewrite] and -to enable `.htaccess` overrides. You might have to set the -[`AllowOverride` directive][AllowOverride] to `AllowOverride All` in your -virtual host config file or global `httpd.conf`/`apache.conf`. Assuming -rewritten URLs work, but Pico still shows no rewritten URLs, force URL -rewriting by setting `rewrite_url: true` in your `config/config.yml`. If you -rather get a `500 Internal Server Error` no matter what you do, try removing -the `Options` directive from Pico's `.htaccess` file (it's the last line). +Jeśli używasz serwera Apache (co jest wysoce prawdopodobne, gdyż jest to najczęściej +wybierany serwer przez hostingodawców), powinieneś już mieć odgórnie włączoną funkcję +rewritingu. Sprawdź samemu, [klikając w ten link](%base_url%/sub/page). Jeśli wyskakuje +Ci błąd 404, co oznacza, że rewriting jest wyłączony, upewnij się, że +[dyrektywa `AllowOverride`][AllowOverride] ma wartość `AllowOverride All`, a +[moduł `mod_rewrite`][ModRewrite] jest włączony. Zakładając, że serwer jest skonfigurowany +poprawnie, ale z jakiegoś powodu rewriting ciągle nie działa, możesz spróbować ustawienia +zmiennej `rewrite_url` na wartość `true` w pliku `config.yml`. Jeśli natomiast otrzymujesz +błąd `500 Internal Server Error`, spróbuj usunąć ostatnią linijkę z pliku `.htaccess` +(dyrektywę `Options`). #### Nginx -If you're using Nginx, you can use the following config to enable URL rewriting -(lines `5` to `8`) and denying access to Pico's internal files (lines `1` to -`3`). You'll need to adjust the path (`/pico` on lines `1`, `2`, `5` and `7`) -to match your installation directory. Additionally, you'll need to enable URL -rewriting by setting `rewrite_url: true` in your `config/config.yml`. The Nginx -config should provide the *bare minimum* you need for Pico. Nginx is a very -extensive subject. If you have any trouble, please read through our -[Nginx config docs][NginxConfig]. +Jeśli używasz Nginx'a, możesz użyć podanego tutaj snippetu kodu do włączenia +funkcji rewritingu (linie `5` do `8`) oraz zabronienia dostępu do +surowych danych Twojej strony (`1` do `3`). W liniach `1`, `2`, `5` i `7` musisz +zmienić ciąg znaków `/pico` na ścieżkę dostępu do Twojej strony. Dodatkowo musisz +ustawić zmienną `rewrite_url` na `true` w pliku konfiguracji. Poniższa konfiguracja +powinna Ci wystarczyć do włączenia tych funkcji, jeśli jednak cały czas napotykasz +jakieś problemy, możesz odnieść się do [naszych instrukcji nt. oprogramowania +Nginx][NginxConfig]. ``` location ~ ^/pico/((config|content|vendor|composer\.(json|lock|phar))(/|$)|(.+/)?\.(?!well-known(/|$))) { @@ -402,12 +408,9 @@ location /pico/ { #### Lighttpd -Pico runs smoothly on Lighttpd. You can use the following config to enable URL -rewriting (lines `6` to `9`) and denying access to Pico's internal files (lines -`1` to `4`). Make sure to adjust the path (`/pico` on lines `2`, `3` and `7`) -to match your installation directory, and let Pico know about available URL -rewriting by setting `rewrite_url: true` in your `config/config.yml`. The -config below should provide the *bare minimum* you need for Pico. +Możesz użyć tego kodu do włączenia obu funkcjonalności, oczywiście - podobnie +jak w przypadku Nginx'a - pamiętając o dostosowaniu ścieżki do serwera (`/pico` +w liniach `2`, `3` i `7`) oraz ustawieniu zmiennej `rewrite_url: true`. ``` url.rewrite-once = ( @@ -420,9 +423,9 @@ url.rewrite-if-not-file = ( ) ``` -## Documentation +## Dokumentacja -For more help have a look at the Pico documentation at http://picocms.org/docs. +Po więcej informacji zajrzyj do oficjalnej dokumentacji Pico na stronie http://picocms.org/docs. [Pico]: http://picocms.org/ [SampleContents]: https://github.com/picocms/Pico/tree/master/content-sample diff --git a/content-sample/sub/index.md b/content-sample/sub/index.md old mode 100644 new mode 100755 index 42edf3f01..619726597 --- a/content-sample/sub/index.md +++ b/content-sample/sub/index.md @@ -1,11 +1,11 @@ --- -Title: Sub Page Index +Title: Podstrona --- -## This is a Sub Page Index +## To jest podstrona Pico -This is `index.md` in the `sub` folder. +Podstrona ta odpowiada plikowi `index.md` w folderze `sub`. Strona ta może również odpowiadać plikowi `sub.md` bezpośrednio w `content/`. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies tristique nulla et mattis. Phasellus id massa eget nisl congue blandit sit amet id ligula. Praesent et nulla eu augue tempus sagittis. Mauris faucibus nibh et nibh cursus in vestibulum sapien egestas. Curabitur ut lectus tortor. Sed ipsum eros, egestas ut eleifend non, elementum vitae eros. Mauris felis diam, pellentesque vel lacinia ac, dictum a nunc. Mauris mattis nunc sed mi sagittis et facilisis tortor volutpat. Etiam tincidunt urna mattis erat placerat placerat ac eu tellus. Ut nec velit id nisl tincidunt vehicula id a metus. Pellentesque erat neque, faucibus id ultricies vel, mattis in ante. Donec lobortis, mauris id congue scelerisque, diam nisl accumsan orci, condimentum porta est magna vel arcu. Curabitur varius ante dui. Vivamus sit amet ante ac diam ullamcorper sodales sed a odio. -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies tristique nulla et mattis. Phasellus id massa eget nisl congue blandit sit amet id ligula. Praesent et nulla eu augue tempus sagittis. Mauris faucibus nibh et nibh cursus in vestibulum sapien egestas. Curabitur ut lectus tortor. Sed ipsum eros, egestas ut eleifend non, elementum vitae eros. Mauris felis diam, pellentesque vel lacinia ac, dictum a nunc. Mauris mattis nunc sed mi sagittis et facilisis tortor volutpat. Etiam tincidunt urna mattis erat placerat placerat ac eu tellus. Ut nec velit id nisl tincidunt vehicula id a metus. Pellentesque erat neque, faucibus id ultricies vel, mattis in ante. Donec lobortis, mauris id congue scelerisque, diam nisl accumsan orci, condimentum porta est magna vel arcu. Curabitur varius ante dui. Vivamus sit amet ante ac diam ullamcorper sodales sed a odio. \ No newline at end of file +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies tristique nulla et mattis. Phasellus id massa eget nisl congue blandit sit amet id ligula. Praesent et nulla eu augue tempus sagittis. Mauris faucibus nibh et nibh cursus in vestibulum sapien egestas. Curabitur ut lectus tortor. Sed ipsum eros, egestas ut eleifend non, elementum vitae eros. Mauris felis diam, pellentesque vel lacinia ac, dictum a nunc. Mauris mattis nunc sed mi sagittis et facilisis tortor volutpat. Etiam tincidunt urna mattis erat placerat placerat ac eu tellus. Ut nec velit id nisl tincidunt vehicula id a metus. Pellentesque erat neque, faucibus id ultricies vel, mattis in ante. Donec lobortis, mauris id congue scelerisque, diam nisl accumsan orci, condimentum porta est magna vel arcu. Curabitur varius ante dui. Vivamus sit amet ante ac diam ullamcorper sodales sed a odio. diff --git a/content-sample/sub/page.md b/content-sample/sub/page.md old mode 100644 new mode 100755 index 95d67bdfc..0645195e6 --- a/content-sample/sub/page.md +++ b/content-sample/sub/page.md @@ -1,11 +1,11 @@ --- -Title: Sub Page +Title: Kolejna podstrona --- -## This is a Sub Page +## To jest podstrona serwisu Pico -This is `page.md` in the `sub` folder. +Zawartość tej strony jest zdefiniowana w pliku `content/sub/page.md`. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies tristique nulla et mattis. Phasellus id massa eget nisl congue blandit sit amet id ligula. Praesent et nulla eu augue tempus sagittis. Mauris faucibus nibh et nibh cursus in vestibulum sapien egestas. Curabitur ut lectus tortor. Sed ipsum eros, egestas ut eleifend non, elementum vitae eros. Mauris felis diam, pellentesque vel lacinia ac, dictum a nunc. Mauris mattis nunc sed mi sagittis et facilisis tortor volutpat. Etiam tincidunt urna mattis erat placerat placerat ac eu tellus. Ut nec velit id nisl tincidunt vehicula id a metus. Pellentesque erat neque, faucibus id ultricies vel, mattis in ante. Donec lobortis, mauris id congue scelerisque, diam nisl accumsan orci, condimentum porta est magna vel arcu. Curabitur varius ante dui. Vivamus sit amet ante ac diam ullamcorper sodales sed a odio. -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies tristique nulla et mattis. Phasellus id massa eget nisl congue blandit sit amet id ligula. Praesent et nulla eu augue tempus sagittis. Mauris faucibus nibh et nibh cursus in vestibulum sapien egestas. Curabitur ut lectus tortor. Sed ipsum eros, egestas ut eleifend non, elementum vitae eros. Mauris felis diam, pellentesque vel lacinia ac, dictum a nunc. Mauris mattis nunc sed mi sagittis et facilisis tortor volutpat. Etiam tincidunt urna mattis erat placerat placerat ac eu tellus. Ut nec velit id nisl tincidunt vehicula id a metus. Pellentesque erat neque, faucibus id ultricies vel, mattis in ante. Donec lobortis, mauris id congue scelerisque, diam nisl accumsan orci, condimentum porta est magna vel arcu. Curabitur varius ante dui. Vivamus sit amet ante ac diam ullamcorper sodales sed a odio. \ No newline at end of file +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ultricies tristique nulla et mattis. Phasellus id massa eget nisl congue blandit sit amet id ligula. Praesent et nulla eu augue tempus sagittis. Mauris faucibus nibh et nibh cursus in vestibulum sapien egestas. Curabitur ut lectus tortor. Sed ipsum eros, egestas ut eleifend non, elementum vitae eros. Mauris felis diam, pellentesque vel lacinia ac, dictum a nunc. Mauris mattis nunc sed mi sagittis et facilisis tortor volutpat. Etiam tincidunt urna mattis erat placerat placerat ac eu tellus. Ut nec velit id nisl tincidunt vehicula id a metus. Pellentesque erat neque, faucibus id ultricies vel, mattis in ante. Donec lobortis, mauris id congue scelerisque, diam nisl accumsan orci, condimentum porta est magna vel arcu. Curabitur varius ante dui. Vivamus sit amet ante ac diam ullamcorper sodales sed a odio. diff --git a/content/.gitignore b/content/.gitignore old mode 100644 new mode 100755 diff --git a/index.php b/index.php old mode 100644 new mode 100755 diff --git a/index.php.dist b/index.php.dist old mode 100644 new mode 100755 diff --git a/lib/AbstractPicoPlugin.php b/lib/AbstractPicoPlugin.php old mode 100644 new mode 100755 diff --git a/lib/Pico.php b/lib/Pico.php old mode 100644 new mode 100755 diff --git a/lib/PicoPluginInterface.php b/lib/PicoPluginInterface.php old mode 100644 new mode 100755 diff --git a/lib/PicoTwigExtension.php b/lib/PicoTwigExtension.php old mode 100644 new mode 100755 diff --git a/plugins/.gitignore b/plugins/.gitignore old mode 100644 new mode 100755 diff --git a/plugins/DummyPlugin.php b/plugins/DummyPlugin.php old mode 100644 new mode 100755 diff --git a/themes/.gitignore b/themes/.gitignore old mode 100644 new mode 100755