diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 6e8a87a98..38bf2df8d 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,3 +1,5 @@ +:warning: If your issue is about an error during fetching a link, please read: http://doc.wallabag.org/en/master/user/errors_during_fetching.html#how-can-i-help-to-fix-that + ### Issue details Please provide issue details here. diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ed12954d..947dff6f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,31 +1,41 @@ -# Change Log +# Changelog -## [Unreleased](https://github.com/wallabag/wallabag/tree/HEAD) - -**Fixed bugs:** - -- defaut langage [\#2379](https://github.com/wallabag/wallabag/issues/2379) -- Deleting a developer client throws \(My\)SQL error [\#2350](https://github.com/wallabag/wallabag/issues/2350) -- Cannot create an OAuth token when using HTTP-basic [\#2278](https://github.com/wallabag/wallabag/issues/2278) -- Orphaned tags. [\#2270](https://github.com/wallabag/wallabag/issues/2270) -- Tags are empty and not exported in json export [\#2256](https://github.com/wallabag/wallabag/issues/2256) -- Fix exists API call [\#2377](https://github.com/wallabag/wallabag/pull/2377) ([tcitworld](https://github.com/tcitworld)) - -**Closed issues:** - -- ClassNotFoundException when executing bin/console [\#2398](https://github.com/wallabag/wallabag/issues/2398) -- Redis using unix socket [\#2391](https://github.com/wallabag/wallabag/issues/2391) -- Don't display two factor checkbox in user admin panel when two factor is disabled [\#2380](https://github.com/wallabag/wallabag/issues/2380) -- Bug: Error when I delete API's client [\#2369](https://github.com/wallabag/wallabag/issues/2369) -- Error with simplexml\_load\_file\(\) [\#2368](https://github.com/wallabag/wallabag/issues/2368) -- Add information in public articles [\#2289](https://github.com/wallabag/wallabag/issues/2289) -- Allow socket connection to MySQL [\#2143](https://github.com/wallabag/wallabag/issues/2143) -- Write permission on data/db [\#2064](https://github.com/wallabag/wallabag/issues/2064) -- New third-party resource [\#2039](https://github.com/wallabag/wallabag/issues/2039) -- add speed reading option [\#2000](https://github.com/wallabag/wallabag/issues/2000) +## [2.1.2](https://github.com/wallabag/wallabag/tree/2.1.2) (2016-10-17) **Merged pull requests:** +- Fixed hardcoded title for internal settings [\#2464](https://github.com/wallabag/wallabag/pull/2464) ([nicosomb](https://github.com/nicosomb)) +- German: improve existing and add missing translation [\#2459](https://github.com/wallabag/wallabag/pull/2459) ([Strubbl](https://github.com/Strubbl)) +- add link to German documentation in about page [\#2457](https://github.com/wallabag/wallabag/pull/2457) ([Strubbl](https://github.com/Strubbl)) +- Fix tabs on material [\#2455](https://github.com/wallabag/wallabag/pull/2455) ([tcitworld](https://github.com/tcitworld)) +- Fix baggy display on small screens [\#2454](https://github.com/wallabag/wallabag/pull/2454) ([tcitworld](https://github.com/tcitworld)) +- Bring make dev [\#2451](https://github.com/wallabag/wallabag/pull/2451) ([tcitworld](https://github.com/tcitworld)) +- View improvements [\#2450](https://github.com/wallabag/wallabag/pull/2450) ([nicosomb](https://github.com/nicosomb)) +- Fixed french and german doc homepages [\#2447](https://github.com/wallabag/wallabag/pull/2447) ([nicosomb](https://github.com/nicosomb)) +- Added information about tagging rules in documentation [\#2446](https://github.com/wallabag/wallabag/pull/2446) ([nicosomb](https://github.com/nicosomb)) +- Mention example instance in docs [\#2444](https://github.com/wallabag/wallabag/pull/2444) ([Kaligule](https://github.com/Kaligule)) +- Minor fixes in the english documentation [\#2439](https://github.com/wallabag/wallabag/pull/2439) ([zertrin](https://github.com/zertrin)) +- Update messages.pl.yml [\#2438](https://github.com/wallabag/wallabag/pull/2438) ([mruminski](https://github.com/mruminski)) +- Added french documentation for upgrade [\#2435](https://github.com/wallabag/wallabag/pull/2435) ([nicosomb](https://github.com/nicosomb)) +- Added french documentation for parameters.yml [\#2434](https://github.com/wallabag/wallabag/pull/2434) ([nicosomb](https://github.com/nicosomb)) +- Update ISSUE\_TEMPLATE.md [\#2432](https://github.com/wallabag/wallabag/pull/2432) ([j0k3r](https://github.com/j0k3r)) +- Lock deps for FOSUser [\#2429](https://github.com/wallabag/wallabag/pull/2429) ([j0k3r](https://github.com/j0k3r)) +- Fix links on english documentation homepage [\#2426](https://github.com/wallabag/wallabag/pull/2426) ([nicosomb](https://github.com/nicosomb)) +- Fixed display for note in installation page [\#2422](https://github.com/wallabag/wallabag/pull/2422) ([nicosomb](https://github.com/nicosomb)) +- Avoid error when Redis isn't here in tests [\#2420](https://github.com/wallabag/wallabag/pull/2420) ([j0k3r](https://github.com/j0k3r)) +- Fixed Twitter Cards by adding a description tag [\#2419](https://github.com/wallabag/wallabag/pull/2419) ([nicosomb](https://github.com/nicosomb)) +- Added support of Twitter Cards for public articles [\#2418](https://github.com/wallabag/wallabag/pull/2418) ([nicosomb](https://github.com/nicosomb)) +- Define a dev version for the master [\#2417](https://github.com/wallabag/wallabag/pull/2417) ([j0k3r](https://github.com/j0k3r)) +- Remove automatic closing of the window from bookmarklet [\#2414](https://github.com/wallabag/wallabag/pull/2414) ([szafranek](https://github.com/szafranek)) +- When a sub command fail, display error message [\#2413](https://github.com/wallabag/wallabag/pull/2413) ([j0k3r](https://github.com/j0k3r)) +- Fix PostgreSQL migrations [\#2412](https://github.com/wallabag/wallabag/pull/2412) ([j0k3r](https://github.com/j0k3r)) +- Fix entities definition [\#2411](https://github.com/wallabag/wallabag/pull/2411) ([j0k3r](https://github.com/j0k3r)) +- Optimize tag list display [\#2410](https://github.com/wallabag/wallabag/pull/2410) ([j0k3r](https://github.com/j0k3r)) +- Occitan version update [\#2409](https://github.com/wallabag/wallabag/pull/2409) ([Quent-in](https://github.com/Quent-in)) +- Show number of annotations instead of nbAnnotations placeholder [\#2406](https://github.com/wallabag/wallabag/pull/2406) ([szafranek](https://github.com/szafranek)) +- Fix few invalid HTML tags [\#2405](https://github.com/wallabag/wallabag/pull/2405) ([szafranek](https://github.com/szafranek)) +- Cleaned up documentation for installation process [\#2403](https://github.com/wallabag/wallabag/pull/2403) ([nicosomb](https://github.com/nicosomb)) +- Removed 1.x stuff in CHANGELOG [\#2402](https://github.com/wallabag/wallabag/pull/2402) ([nicosomb](https://github.com/nicosomb)) - Set env to prod in documentation [\#2400](https://github.com/wallabag/wallabag/pull/2400) ([j0k3r](https://github.com/j0k3r)) - Use default locale for user config [\#2399](https://github.com/wallabag/wallabag/pull/2399) ([j0k3r](https://github.com/j0k3r)) - Ensure orphan tag are remove in API [\#2397](https://github.com/wallabag/wallabag/pull/2397) ([j0k3r](https://github.com/j0k3r)) @@ -37,137 +47,27 @@ - Changed Changelog by using github-changelog-generator from @skywinder [\#2386](https://github.com/wallabag/wallabag/pull/2386) ([nicosomb](https://github.com/nicosomb)) - Added documentation about siteconfig fix [\#2385](https://github.com/wallabag/wallabag/pull/2385) ([nicosomb](https://github.com/nicosomb)) - Added OpenGraph support for public articles [\#2383](https://github.com/wallabag/wallabag/pull/2383) ([nicosomb](https://github.com/nicosomb)) +- Fix exists API call [\#2377](https://github.com/wallabag/wallabag/pull/2377) ([tcitworld](https://github.com/tcitworld)) - try to reduce assets build npm connection failing by updating nodejs [\#2375](https://github.com/wallabag/wallabag/pull/2375) ([tcitworld](https://github.com/tcitworld)) - Clickable tags [\#2374](https://github.com/wallabag/wallabag/pull/2374) ([tcitworld](https://github.com/tcitworld)) +- API: ability to export entry in all available format \(epub, pdf, etc...\) [\#2372](https://github.com/wallabag/wallabag/pull/2372) ([pmartin](https://github.com/pmartin)) - Remove mouf/nodejs-installer from composer [\#2363](https://github.com/wallabag/wallabag/pull/2363) ([j0k3r](https://github.com/j0k3r)) - Changed relation between API client and refresh token [\#2351](https://github.com/wallabag/wallabag/pull/2351) ([nicosomb](https://github.com/nicosomb)) - Fix relations export for Entry [\#2332](https://github.com/wallabag/wallabag/pull/2332) ([j0k3r](https://github.com/j0k3r)) +- Delete user [\#2177](https://github.com/wallabag/wallabag/pull/2177) ([tcitworld](https://github.com/tcitworld)) ## [2.1.1](https://github.com/wallabag/wallabag/tree/2.1.1) (2016-10-04) -**Fixed bugs:** - -- Does not remember scroll position in theme "material" [\#2360](https://github.com/wallabag/wallabag/issues/2360) -- Bug authentification sur utilisateur supplémentaire [\#2357](https://github.com/wallabag/wallabag/issues/2357) -- Issue with grunt during the upgrade to 2.1.0 [\#2346](https://github.com/wallabag/wallabag/issues/2346) -- Unable to update to 2.1.0 [\#2345](https://github.com/wallabag/wallabag/issues/2345) -- Update to 2.1.0 from 2.0.8 fails [\#2343](https://github.com/wallabag/wallabag/issues/2343) -- Basically, fix everything [\#2353](https://github.com/wallabag/wallabag/pull/2353) ([tcitworld](https://github.com/tcitworld)) - -**Closed issues:** - -- 2.1.0 PHP Fatal error [\#2355](https://github.com/wallabag/wallabag/issues/2355) -- Blank page new installation 2.0.8 with MySQL v5.5.52, PHP 5.5.9-1ubuntu4.19 and Apache v2.4 [\#2352](https://github.com/wallabag/wallabag/issues/2352) -- Issue with doctrine migraion on 2.0.8 -\> 2.1.0 upgrage [\#2347](https://github.com/wallabag/wallabag/issues/2347) -- install.sh is missing [\#2344](https://github.com/wallabag/wallabag/issues/2344) -- Upgrading from 2.0 to 2.1 broken [\#2337](https://github.com/wallabag/wallabag/issues/2337) -- Saving images with v2? [\#2139](https://github.com/wallabag/wallabag/issues/2139) -- shared hosting Update -\> 2.1.0 no graphics [\#2356](https://github.com/wallabag/wallabag/issues/2356) -- php-bcmath extension is missing [\#2342](https://github.com/wallabag/wallabag/issues/2342) -- Update js & css assets [\#2249](https://github.com/wallabag/wallabag/issues/2249) - **Merged pull requests:** - Create config even if user is disabled [\#2359](https://github.com/wallabag/wallabag/pull/2359) ([j0k3r](https://github.com/j0k3r)) - Add php-bcmath extension to requirements [\#2354](https://github.com/wallabag/wallabag/pull/2354) ([Zayon](https://github.com/Zayon)) +- Basically, fix everything [\#2353](https://github.com/wallabag/wallabag/pull/2353) ([tcitworld](https://github.com/tcitworld)) - Prepare wallabag 2.1.1 [\#2349](https://github.com/wallabag/wallabag/pull/2349) ([nicosomb](https://github.com/nicosomb)) - Update messages.pl.yml [\#2341](https://github.com/wallabag/wallabag/pull/2341) ([mruminski](https://github.com/mruminski)) - small improvement for german translation [\#2340](https://github.com/wallabag/wallabag/pull/2340) ([Strubbl](https://github.com/Strubbl)) - Fix for 2.1 installation [\#2338](https://github.com/wallabag/wallabag/pull/2338) ([j0k3r](https://github.com/j0k3r)) ## [2.1.0](https://github.com/wallabag/wallabag/tree/2.1.0) (2016-10-03) -**Fixed bugs:** - -- Invalid EPub export for Kobo devices when title contains '+' [\#2296](https://github.com/wallabag/wallabag/issues/2296) -- Import deconding error [\#2090](https://github.com/wallabag/wallabag/issues/2090) -- The CSRF token is invalid. Please try to resubmit the form. [\#1988](https://github.com/wallabag/wallabag/issues/1988) -- Division by zero warnings in nginx error log [\#1880](https://github.com/wallabag/wallabag/issues/1880) -- Importing from Pocket in v2 gives Internal Server Error 500 [\#1855](https://github.com/wallabag/wallabag/issues/1855) -- cannot import very long article \(v2\) [\#1724](https://github.com/wallabag/wallabag/issues/1724) -- Freshly registered user doesn't have Config associated [\#2312](https://github.com/wallabag/wallabag/issues/2312) -- "next" links in /api/entries responses lack search parameters [\#2305](https://github.com/wallabag/wallabag/issues/2305) -- 2.0.8 hangs when loading articles page [\#2302](https://github.com/wallabag/wallabag/issues/2302) -- Number of tags in sidebar is wrong [\#2298](https://github.com/wallabag/wallabag/issues/2298) -- When an article is marked as read the description in the menu is wrong [\#2286](https://github.com/wallabag/wallabag/issues/2286) -- jquery too long in firefox [\#2281](https://github.com/wallabag/wallabag/issues/2281) -- Use created date for imported content [\#2257](https://github.com/wallabag/wallabag/issues/2257) -- Make tests work with the latest version of phpunit [\#2187](https://github.com/wallabag/wallabag/issues/2187) -- Articles duplicates when URI contains non-ascii characters [\#2126](https://github.com/wallabag/wallabag/issues/2126) -- Duplicate tags on import [\#1981](https://github.com/wallabag/wallabag/issues/1981) -- Different font-size for form labels with Material theme [\#1788](https://github.com/wallabag/wallabag/issues/1788) -- Unable to do a fresh install [\#1608](https://github.com/wallabag/wallabag/issues/1608) -- Remove error message when creating ePub versions [\#2330](https://github.com/wallabag/wallabag/pull/2330) ([pmichelazzo](https://github.com/pmichelazzo)) -- Remove CSS class who caused long loading on Firefox [\#2313](https://github.com/wallabag/wallabag/pull/2313) ([nicosomb](https://github.com/nicosomb)) -- fix feeds not syncing on android app [\#2301](https://github.com/wallabag/wallabag/pull/2301) ([tcitworld](https://github.com/tcitworld)) -- Add filter for tags on API [\#2174](https://github.com/wallabag/wallabag/pull/2174) ([tcitworld](https://github.com/tcitworld)) -- fix font paths [\#2169](https://github.com/wallabag/wallabag/pull/2169) ([tcitworld](https://github.com/tcitworld)) -- Add modules when NodeJS versions are too low. [\#2168](https://github.com/wallabag/wallabag/pull/2168) ([tcitworld](https://github.com/tcitworld)) - -**Closed issues:** - -- /api/entries endpoint ignores tags parameter [\#2304](https://github.com/wallabag/wallabag/issues/2304) -- Tags created multiple times on repeated imports [\#2303](https://github.com/wallabag/wallabag/issues/2303) -- Importing tags in Browser import [\#2300](https://github.com/wallabag/wallabag/issues/2300) -- \# [\#2283](https://github.com/wallabag/wallabag/issues/2283) -- Unable to retrieve article [\#2211](https://github.com/wallabag/wallabag/issues/2211) -- Delete Framabag account [\#2207](https://github.com/wallabag/wallabag/issues/2207) -- Error during login\_check [\#2163](https://github.com/wallabag/wallabag/issues/2163) -- White screen after installation [\#2146](https://github.com/wallabag/wallabag/issues/2146) -- wallabag can't retrieve contents for this article [\#2144](https://github.com/wallabag/wallabag/issues/2144) -- 2 bugs after upgrade to 2.0.5 [\#2140](https://github.com/wallabag/wallabag/issues/2140) -- Wallabag can't retrieve contents of a page [\#2135](https://github.com/wallabag/wallabag/issues/2135) -- Export to html [\#2133](https://github.com/wallabag/wallabag/issues/2133) -- wallabag can't retrieve contents for this article. [\#2102](https://github.com/wallabag/wallabag/issues/2102) -- delete user missing in admin view [\#1934](https://github.com/wallabag/wallabag/issues/1934) -- Can't import article from carnetdevol.shost.ca [\#1865](https://github.com/wallabag/wallabag/issues/1865) -- Crawl multipage articles [\#1758](https://github.com/wallabag/wallabag/issues/1758) -- Ability to redownload previously failed content [\#1704](https://github.com/wallabag/wallabag/issues/1704) -- \[v2\] Asynchronous jobs [\#1554](https://github.com/wallabag/wallabag/issues/1554) -- What's in my bag this week? [\#1300](https://github.com/wallabag/wallabag/issues/1300) -- How can I help wallabag [\#1254](https://github.com/wallabag/wallabag/issues/1254) -- have users choosing their css for articles [\#1233](https://github.com/wallabag/wallabag/issues/1233) -- Siteconfig issue \(will be edited to keep up status\) [\#1229](https://github.com/wallabag/wallabag/issues/1229) -- OpenClassroom courses don't get fetch properly [\#987](https://github.com/wallabag/wallabag/issues/987) -- Sphinx search support [\#985](https://github.com/wallabag/wallabag/issues/985) -- Migration from MySQL to PostgreSQL with import [\#884](https://github.com/wallabag/wallabag/issues/884) -- Import a list of urls to put into wallabag [\#599](https://github.com/wallabag/wallabag/issues/599) -- Confirmation screen needs margin [\#2288](https://github.com/wallabag/wallabag/issues/2288) -- Create an import for Readability [\#2253](https://github.com/wallabag/wallabag/issues/2253) -- Instapaper import missing from Wallabag 2? [\#2248](https://github.com/wallabag/wallabag/issues/2248) -- Clean entries.html.twig for page title [\#2244](https://github.com/wallabag/wallabag/issues/2244) -- Some UIs issues using baggy [\#2231](https://github.com/wallabag/wallabag/issues/2231) -- Feature request: User management [\#2116](https://github.com/wallabag/wallabag/issues/2116) -- Display tags on entries view [\#1995](https://github.com/wallabag/wallabag/issues/1995) -- Tags not handled in /api/entries [\#1984](https://github.com/wallabag/wallabag/issues/1984) -- API improvements [\#1982](https://github.com/wallabag/wallabag/issues/1982) -- Disable public user registration [\#1873](https://github.com/wallabag/wallabag/issues/1873) -- Open entries from tags page [\#1798](https://github.com/wallabag/wallabag/issues/1798) -- \[Feature request\] API endpoint for checking if a URL is already bookmarked [\#1796](https://github.com/wallabag/wallabag/issues/1796) -- Editing tagging rules [\#1794](https://github.com/wallabag/wallabag/issues/1794) -- Idea to simplify UI for results numbers [\#1789](https://github.com/wallabag/wallabag/issues/1789) -- Use NPM to handle external \(JS & CSS\) assets [\#1759](https://github.com/wallabag/wallabag/issues/1759) -- Displaying how much comments there are for an entry on top of it [\#1713](https://github.com/wallabag/wallabag/issues/1713) -- List all untagged articles [\#1631](https://github.com/wallabag/wallabag/issues/1631) -- Import from wallabag asynchronously [\#1611](https://github.com/wallabag/wallabag/issues/1611) -- \[v2\] 404 page [\#1570](https://github.com/wallabag/wallabag/issues/1570) -- Full compatibility of wallabag with firefox bookmarks preserving tags! [\#1448](https://github.com/wallabag/wallabag/issues/1448) -- Pagination more intuitive [\#1329](https://github.com/wallabag/wallabag/issues/1329) -- \[v2\] API wishes [\#1182](https://github.com/wallabag/wallabag/issues/1182) -- Modify a tag name from the all tags panel [\#1128](https://github.com/wallabag/wallabag/issues/1128) -- Adding automatic articles tags support [\#1111](https://github.com/wallabag/wallabag/issues/1111) -- Add untagged support. [\#1083](https://github.com/wallabag/wallabag/issues/1083) -- Integrate some new icons [\#977](https://github.com/wallabag/wallabag/issues/977) -- Ability to login in password protected websites [\#886](https://github.com/wallabag/wallabag/issues/886) -- Make joomla sites show full articles [\#838](https://github.com/wallabag/wallabag/issues/838) -- Re-save button [\#726](https://github.com/wallabag/wallabag/issues/726) -- Add .mobi export [\#701](https://github.com/wallabag/wallabag/issues/701) -- Future plans for wallabag [\#687](https://github.com/wallabag/wallabag/issues/687) -- Make all standard site\_config files downloadable [\#627](https://github.com/wallabag/wallabag/issues/627) -- Change database structure [\#620](https://github.com/wallabag/wallabag/issues/620) -- Tutorial for beginners [\#560](https://github.com/wallabag/wallabag/issues/560) -- Set number of articles provided in RSS files [\#553](https://github.com/wallabag/wallabag/issues/553) -- v2: API routes definition [\#414](https://github.com/wallabag/wallabag/issues/414) -- public mode [\#95](https://github.com/wallabag/wallabag/issues/95) - **Merged pull requests:** - Docker : install PHP 'gd' extension [\#2319](https://github.com/wallabag/wallabag/pull/2319) ([pmartin](https://github.com/pmartin)) @@ -178,6 +78,7 @@ - Prepare wallabag 2.1.0 :rocket: [\#2334](https://github.com/wallabag/wallabag/pull/2334) ([nicosomb](https://github.com/nicosomb)) - for 2.1, translate all strings to German, which haven't been translated yet [\#2333](https://github.com/wallabag/wallabag/pull/2333) ([Strubbl](https://github.com/Strubbl)) - Fix parameters in API \_links [\#2331](https://github.com/wallabag/wallabag/pull/2331) ([j0k3r](https://github.com/j0k3r)) +- Remove error message when creating ePub versions [\#2330](https://github.com/wallabag/wallabag/pull/2330) ([pmichelazzo](https://github.com/pmichelazzo)) - Occitan version update [\#2329](https://github.com/wallabag/wallabag/pull/2329) ([Quent-in](https://github.com/Quent-in)) - Avoid duplicate url with accents [\#2328](https://github.com/wallabag/wallabag/pull/2328) ([j0k3r](https://github.com/j0k3r)) - Add users management UI [\#2327](https://github.com/wallabag/wallabag/pull/2327) ([j0k3r](https://github.com/j0k3r)) @@ -191,9 +92,11 @@ - Update messages.pl.yml [\#2316](https://github.com/wallabag/wallabag/pull/2316) ([mruminski](https://github.com/mruminski)) - Fixes about upgrade [\#2315](https://github.com/wallabag/wallabag/pull/2315) ([nicosomb](https://github.com/nicosomb)) - Assets work [\#2314](https://github.com/wallabag/wallabag/pull/2314) ([tcitworld](https://github.com/tcitworld)) +- Remove CSS class who caused long loading on Firefox [\#2313](https://github.com/wallabag/wallabag/pull/2313) ([nicosomb](https://github.com/nicosomb)) - Add Instapaper import [\#2310](https://github.com/wallabag/wallabag/pull/2310) ([j0k3r](https://github.com/j0k3r)) - Fix duplicate tags on import [\#2308](https://github.com/wallabag/wallabag/pull/2308) ([j0k3r](https://github.com/j0k3r)) - Some checks about Redis & RabbitMQ [\#2306](https://github.com/wallabag/wallabag/pull/2306) ([j0k3r](https://github.com/j0k3r)) +- fix feeds not syncing on android app [\#2301](https://github.com/wallabag/wallabag/pull/2301) ([tcitworld](https://github.com/tcitworld)) - polish version [\#2299](https://github.com/wallabag/wallabag/pull/2299) ([mruminski](https://github.com/mruminski)) - Fixed label for mark as read link in entry view [\#2292](https://github.com/wallabag/wallabag/pull/2292) ([nicosomb](https://github.com/nicosomb)) - Add links to translations in documentation homepage [\#2291](https://github.com/wallabag/wallabag/pull/2291) ([nicosomb](https://github.com/nicosomb)) @@ -219,8 +122,11 @@ - Add option to disable registration [\#2186](https://github.com/wallabag/wallabag/pull/2186) ([tcitworld](https://github.com/tcitworld)) - Bring tags on entries view to baggy [\#2183](https://github.com/wallabag/wallabag/pull/2183) ([tcitworld](https://github.com/tcitworld)) - Add since parameter [\#2176](https://github.com/wallabag/wallabag/pull/2176) ([tcitworld](https://github.com/tcitworld)) +- Add filter for tags on API [\#2174](https://github.com/wallabag/wallabag/pull/2174) ([tcitworld](https://github.com/tcitworld)) - Name api clients [\#2171](https://github.com/wallabag/wallabag/pull/2171) ([tcitworld](https://github.com/tcitworld)) - Add tags on entries view and minor ui fixes [\#2170](https://github.com/wallabag/wallabag/pull/2170) ([tcitworld](https://github.com/tcitworld)) +- fix font paths [\#2169](https://github.com/wallabag/wallabag/pull/2169) ([tcitworld](https://github.com/tcitworld)) +- Add modules when NodeJS versions are too low. [\#2168](https://github.com/wallabag/wallabag/pull/2168) ([tcitworld](https://github.com/tcitworld)) - Manage assets through npm [\#2142](https://github.com/wallabag/wallabag/pull/2142) ([tcitworld](https://github.com/tcitworld)) - Feature display items number [\#2002](https://github.com/wallabag/wallabag/pull/2002) ([nicosomb](https://github.com/nicosomb)) - wallabag 2.1 [\#1999](https://github.com/wallabag/wallabag/pull/1999) ([nicosomb](https://github.com/nicosomb)) @@ -230,97 +136,31 @@ - Share entry with a public URL [\#1904](https://github.com/wallabag/wallabag/pull/1904) ([nicosomb](https://github.com/nicosomb)) ## [2.0.8](https://github.com/wallabag/wallabag/tree/2.0.8) (2016-09-07) -**Fixed bugs:** - -- wallabag:install, clear:cache error [\#2265](https://github.com/wallabag/wallabag/issues/2265) -- API: Not used tag exists in the db, but is not returned in API GET /api/tags result. [\#2259](https://github.com/wallabag/wallabag/issues/2259) -- Error 500 when saving a PDF [\#2204](https://github.com/wallabag/wallabag/issues/2204) -- Form to save a new article is broken with Google Chrome [\#1991](https://github.com/wallabag/wallabag/issues/1991) -- login page cut in Qupzilla [\#1877](https://github.com/wallabag/wallabag/issues/1877) -- Fix issue \#1991: correction of the height field to add articles [\#2241](https://github.com/wallabag/wallabag/pull/2241) ([modos189](https://github.com/modos189)) - -**Closed issues:** - -- Retrieves article without error, but empty [\#2269](https://github.com/wallabag/wallabag/issues/2269) -- Unable to retrieve contents for article: thepointmag.com [\#2264](https://github.com/wallabag/wallabag/issues/2264) -- Send content to wallabag, instead of URL [\#2228](https://github.com/wallabag/wallabag/issues/2228) -- wallabag retrieves only parts of multi-part feature article [\#2153](https://github.com/wallabag/wallabag/issues/2153) -- Titles are too short in the tiles \(material\) [\#2128](https://github.com/wallabag/wallabag/issues/2128) -- Titles are ellipsized too aggressively [\#2055](https://github.com/wallabag/wallabag/issues/2055) -- reflets.info articles : unable to retrieve full-text content [\#1649](https://github.com/wallabag/wallabag/issues/1649) -- Adding Tags when saving URL from Chrome extension [\#835](https://github.com/wallabag/wallabag/issues/835) -- Add a requirement in InstallCommand to check database connection \(after driver checking\) [\#2251](https://github.com/wallabag/wallabag/issues/2251) - **Merged pull requests:** - Occitan updated [\#2267](https://github.com/wallabag/wallabag/pull/2267) ([Quent-in](https://github.com/Quent-in)) - Allow failure for PHP 7.1 [\#2236](https://github.com/wallabag/wallabag/pull/2236) ([j0k3r](https://github.com/j0k3r)) - Prepare wallabag 2.0.8 [\#2271](https://github.com/wallabag/wallabag/pull/2271) ([nicosomb](https://github.com/nicosomb)) - Add a check for the database connection [\#2262](https://github.com/wallabag/wallabag/pull/2262) ([j0k3r](https://github.com/j0k3r)) +- Fix issue \#1991: correction of the height field to add articles [\#2241](https://github.com/wallabag/wallabag/pull/2241) ([modos189](https://github.com/modos189)) - V2 improve view [\#2238](https://github.com/wallabag/wallabag/pull/2238) ([modos189](https://github.com/modos189)) - Add configuration for german documentation [\#2235](https://github.com/wallabag/wallabag/pull/2235) ([nicosomb](https://github.com/nicosomb)) - Fixes mailto link in documentation [\#2234](https://github.com/wallabag/wallabag/pull/2234) ([cstuder](https://github.com/cstuder)) - Cut entries title in card view: continued [\#2230](https://github.com/wallabag/wallabag/pull/2230) ([modos189](https://github.com/modos189)) ## [2.0.7](https://github.com/wallabag/wallabag/tree/2.0.7) (2016-08-22) -**Fixed bugs:** - -- Uncaught Exception: Secured pdf file are currently not supported \(Smalot/PdfParser\) [\#2223](https://github.com/wallabag/wallabag/issues/2223) -- Enable PATCH method for CORS in API part [\#2220](https://github.com/wallabag/wallabag/pull/2220) ([Rurik19](https://github.com/Rurik19)) - -**Closed issues:** - -- iOS App and bag it! doesn't work [\#2217](https://github.com/wallabag/wallabag/issues/2217) -- CORS: Different "Access-Control-Allow-Origin" header behaviour [\#2215](https://github.com/wallabag/wallabag/issues/2215) -- Update the arch aur package [\#2138](https://github.com/wallabag/wallabag/issues/2138) -- link of the addons if the footer [\#2037](https://github.com/wallabag/wallabag/issues/2037) -- Translate pictures in android documentation [\#2032](https://github.com/wallabag/wallabag/issues/2032) -- filtering option only for unread articles [\#2031](https://github.com/wallabag/wallabag/issues/2031) -- Set name for a client for the API [\#1765](https://github.com/wallabag/wallabag/issues/1765) -- consistency between favorite / star\(red\) terms [\#2041](https://github.com/wallabag/wallabag/issues/2041) -- date of the creation. of a post [\#2034](https://github.com/wallabag/wallabag/issues/2034) - **Merged pull requests:** - Prepare wallabag 2.0.7 [\#2226](https://github.com/wallabag/wallabag/pull/2226) ([nicosomb](https://github.com/nicosomb)) - Avoid breaking import when fetching fail [\#2224](https://github.com/wallabag/wallabag/pull/2224) ([j0k3r](https://github.com/j0k3r)) - Added creation date and reading time on article view [\#2222](https://github.com/wallabag/wallabag/pull/2222) ([nicosomb](https://github.com/nicosomb)) - Replaced favorite word/icon with star one [\#2221](https://github.com/wallabag/wallabag/pull/2221) ([nicosomb](https://github.com/nicosomb)) +- Enable PATCH method for CORS in API part [\#2220](https://github.com/wallabag/wallabag/pull/2220) ([Rurik19](https://github.com/Rurik19)) - Enable CORS headers for OAUTH part [\#2216](https://github.com/wallabag/wallabag/pull/2216) ([Rurik19](https://github.com/Rurik19)) - Run tests on an uptodate HHVM [\#2134](https://github.com/wallabag/wallabag/pull/2134) ([j0k3r](https://github.com/j0k3r)) - Fix form user display when 2FA is disabled [\#2095](https://github.com/wallabag/wallabag/pull/2095) ([nicosomb](https://github.com/nicosomb)) ## [2.0.6](https://github.com/wallabag/wallabag/tree/2.0.6) (2016-08-10) -**Fixed bugs:** - -- Filtering by reading time does not work if only one limit is set [\#2077](https://github.com/wallabag/wallabag/issues/2077) -- Delete in article tries to redirect to deleted article [\#1964](https://github.com/wallabag/wallabag/issues/1964) -- PDF said to be saved by wallabag when it isn't. [\#2188](https://github.com/wallabag/wallabag/issues/2188) -- Fix 3rd-Party Apps links \(Chrome & Firefox\) [\#2185](https://github.com/wallabag/wallabag/pull/2185) ([tcitworld](https://github.com/tcitworld)) - -**Closed issues:** - -- Social Features [\#2206](https://github.com/wallabag/wallabag/issues/2206) -- Backslash issue at /var/cache/appProdProjectContainer.php [\#2205](https://github.com/wallabag/wallabag/issues/2205) -- httpoxy vulnerability [\#2197](https://github.com/wallabag/wallabag/issues/2197) -- wallabag can't retrieve contents for this article: linksunten.indymedia.org [\#2196](https://github.com/wallabag/wallabag/issues/2196) -- The iOS application doesn't work with the latest wallabag version [\#2191](https://github.com/wallabag/wallabag/issues/2191) -- wallabag fetches too much content on: www.drgoulu.com [\#2184](https://github.com/wallabag/wallabag/issues/2184) -- Try to use Google AMP pages for fetching and/or redirect to original page [\#2173](https://github.com/wallabag/wallabag/issues/2173) -- wallabag only retrieves first page of multi-page articles on arstechnica.co.uk [\#2154](https://github.com/wallabag/wallabag/issues/2154) -- wallabag can't retrieve contents of fairly simple HTML article [\#2152](https://github.com/wallabag/wallabag/issues/2152) -- wallabag retrieves the wrong contents for this page: theatlantic.com [\#2151](https://github.com/wallabag/wallabag/issues/2151) -- wallabag can't retrieve contents for this article: o6asan.com [\#2099](https://github.com/wallabag/wallabag/issues/2099) -- wallabag can't retrieve contents for this article: lifehacker.com [\#2082](https://github.com/wallabag/wallabag/issues/2082) -- wallabag can't retrieve contents for this article: gizmodo.com [\#2079](https://github.com/wallabag/wallabag/issues/2079) -- wallabag can't retrieve title for this article: blog.uberspace.de [\#2078](https://github.com/wallabag/wallabag/issues/2078) -- wallabag can't retrieve contents for this article: community.redhat.com/blog [\#2076](https://github.com/wallabag/wallabag/issues/2076) -- wallabag can't retrieve contents for this article: theatlantic.com [\#2075](https://github.com/wallabag/wallabag/issues/2075) -- wallabag can't retrieve contents for this article: washingtonpost.com [\#2072](https://github.com/wallabag/wallabag/issues/2072) -- wallabag can't retrieve contents for this article: vanseodesign.com [\#2071](https://github.com/wallabag/wallabag/issues/2071) -- wallabag can't retrieve contents for this article: blog.martin-graesslin.com [\#2070](https://github.com/wallabag/wallabag/issues/2070) -- Migrate PHP-CS-Fixer [\#2141](https://github.com/wallabag/wallabag/issues/2141) - **Merged pull requests:** - add some missing phpdoc parameters [\#2202](https://github.com/wallabag/wallabag/pull/2202) ([tcitworld](https://github.com/tcitworld)) @@ -331,6 +171,7 @@ - FIX image inside a figure element max-width [\#2198](https://github.com/wallabag/wallabag/pull/2198) ([Simounet](https://github.com/Simounet)) - Remove binary from repo [\#2195](https://github.com/wallabag/wallabag/pull/2195) ([j0k3r](https://github.com/j0k3r)) - Fixed spelling Artúclos --\> Artículos [\#2194](https://github.com/wallabag/wallabag/pull/2194) ([benages](https://github.com/benages)) +- Fix 3rd-Party Apps links \(Chrome & Firefox\) [\#2185](https://github.com/wallabag/wallabag/pull/2185) ([tcitworld](https://github.com/tcitworld)) - Change the way to login user in tests [\#2172](https://github.com/wallabag/wallabag/pull/2172) ([j0k3r](https://github.com/j0k3r)) - Fix a few french translations typos [\#2165](https://github.com/wallabag/wallabag/pull/2165) ([tcitworld](https://github.com/tcitworld)) - Update symlink to php-cs-fixer [\#2160](https://github.com/wallabag/wallabag/pull/2160) ([j0k3r](https://github.com/j0k3r)) @@ -342,35 +183,6 @@ - Jump to Symfony 3.1 [\#2132](https://github.com/wallabag/wallabag/pull/2132) ([j0k3r](https://github.com/j0k3r)) ## [2.0.5](https://github.com/wallabag/wallabag/tree/2.0.5) (2016-05-31) -**Fixed bugs:** - -- Non-ASCII characters from locale files are shown as "?" [\#1215](https://github.com/wallabag/wallabag/issues/1215) -- SERIOUS BUG - Tags clears on all articles after deleting article contains tags [\#2121](https://github.com/wallabag/wallabag/issues/2121) -- API: POST on existing entry clears starred and archived flags [\#2089](https://github.com/wallabag/wallabag/issues/2089) -- The font used in the "Material" theme renders a bit weirdly in Firefox on Windows [\#1833](https://github.com/wallabag/wallabag/issues/1833) - -**Closed issues:** - -- At last: Chrome plugin [\#2120](https://github.com/wallabag/wallabag/issues/2120) -- 404 when trying to complete account activation [\#2108](https://github.com/wallabag/wallabag/issues/2108) -- wallabag can't retrieve contents for this article: https://lwn.net/Articles/607652/ [\#2100](https://github.com/wallabag/wallabag/issues/2100) -- Tag menu disappear while on mobile screen size [\#2091](https://github.com/wallabag/wallabag/issues/2091) -- API: is\_starred and is\_archived return wrond values \(alwais 0\) [\#2088](https://github.com/wallabag/wallabag/issues/2088) -- wallabag can't retrieve contents for this article: http://hn.premii.com/\#/comments/11661313 [\#2087](https://github.com/wallabag/wallabag/issues/2087) -- wallabag can't retrieve contents for this article: wired.de [\#2086](https://github.com/wallabag/wallabag/issues/2086) -- wallabag can't retrieve contents for this article: developer-blog.net [\#2085](https://github.com/wallabag/wallabag/issues/2085) -- wallabag can't retrieve contents for this article: linuxnix.com [\#2084](https://github.com/wallabag/wallabag/issues/2084) -- wallabag can't retrieve title for this article: jgnatch.com [\#2083](https://github.com/wallabag/wallabag/issues/2083) -- wallabag can't retrieve contents for this article: blog.christian-stankowic.de [\#2081](https://github.com/wallabag/wallabag/issues/2081) -- wallabag can't retrieve contents for this article: eff.org [\#2080](https://github.com/wallabag/wallabag/issues/2080) -- wallabag can't retrieve contents for this article: lwn.net [\#2073](https://github.com/wallabag/wallabag/issues/2073) -- HTTP 500 error and no logs in nginx error.log [\#2043](https://github.com/wallabag/wallabag/issues/2043) -- Can't fetch articles from Forbes.com [\#1978](https://github.com/wallabag/wallabag/issues/1978) -- the 3 points story ;\) [\#2065](https://github.com/wallabag/wallabag/issues/2065) -- Update .github/CONTRIBUTING.md [\#2059](https://github.com/wallabag/wallabag/issues/2059) -- missing image in two factor authentication email [\#2045](https://github.com/wallabag/wallabag/issues/2045) -- wallabag can't retrieve contents for this article. Please report this issue to us. [\#2040](https://github.com/wallabag/wallabag/issues/2040) - **Merged pull requests:** - Improve English translation [\#2109](https://github.com/wallabag/wallabag/pull/2109) ([Poorchop](https://github.com/Poorchop)) @@ -392,40 +204,6 @@ - Update api.rst [\#2049](https://github.com/wallabag/wallabag/pull/2049) ([joshp23](https://github.com/joshp23)) ## [2.0.4](https://github.com/wallabag/wallabag/tree/2.0.4) (2016-05-07) -**Fixed bugs:** - -- Tag-list not properly rebuilt after import 1.9 \> 2.0b [\#1760](https://github.com/wallabag/wallabag/issues/1760) -- cant set the title of the post from the API when "post"\(ing\) [\#2009](https://github.com/wallabag/wallabag/issues/2009) -- Renderer of the main page not align/overlaps [\#2008](https://github.com/wallabag/wallabag/issues/2008) -- Number of entries per tag is not correct in tag/list [\#2006](https://github.com/wallabag/wallabag/issues/2006) -- Reading speed not defined when creating user via config page [\#2004](https://github.com/wallabag/wallabag/issues/2004) -- not all tags are listed properly [\#1994](https://github.com/wallabag/wallabag/issues/1994) -- Wrong reading time in filter entries [\#1975](https://github.com/wallabag/wallabag/issues/1975) - -**Closed issues:** - -- 504 while importing from Pocket [\#2027](https://github.com/wallabag/wallabag/issues/2027) -- wallabag can't retrieve contents for this article. Please report this issue to us. [\#2026](https://github.com/wallabag/wallabag/issues/2026) -- Bug in bootstrap.php.cache / Wallabag v2.0.3 / 1st lauch [\#2015](https://github.com/wallabag/wallabag/issues/2015) -- Updating 2x? [\#2007](https://github.com/wallabag/wallabag/issues/2007) -- filter list by tag [\#1996](https://github.com/wallabag/wallabag/issues/1996) -- Problem reading DZone entry [\#1980](https://github.com/wallabag/wallabag/issues/1980) -- Can't fetch indiegogo project [\#1972](https://github.com/wallabag/wallabag/issues/1972) -- Table not found error in wallabag fresh install with pdo\_mysql [\#1971](https://github.com/wallabag/wallabag/issues/1971) -- Wrong display in wallabag v2 - site http://wiki.korben.info [\#1892](https://github.com/wallabag/wallabag/issues/1892) -- Unable to retrieve full-text content \(http://www.yellow-bricks.com\) [\#1533](https://github.com/wallabag/wallabag/issues/1533) -- What can we do with "wrong display" emails? [\#1340](https://github.com/wallabag/wallabag/issues/1340) -- Keeping support.wallabag.org alive? [\#1270](https://github.com/wallabag/wallabag/issues/1270) -- Create email address for support [\#1260](https://github.com/wallabag/wallabag/issues/1260) -- website with special caracters in URL not saved [\#1235](https://github.com/wallabag/wallabag/issues/1235) -- github blobs: "unable to retrieve full-text content" [\#1198](https://github.com/wallabag/wallabag/issues/1198) -- Add pagination on bottom of page [\#2021](https://github.com/wallabag/wallabag/issues/2021) -- Translation missing when creating new user via config [\#2003](https://github.com/wallabag/wallabag/issues/2003) -- Doc improvement about installation and rights permission [\#1983](https://github.com/wallabag/wallabag/issues/1983) -- \[Installation V2\] Impossible to install: post-install-cmd error [\#1961](https://github.com/wallabag/wallabag/issues/1961) -- Apache reload error [\#1950](https://github.com/wallabag/wallabag/issues/1950) -- HowTo use wallabag v2 with LigHTTPd [\#1931](https://github.com/wallabag/wallabag/issues/1931) - **Merged pull requests:** - Prepare wallabag 2.0.4 [\#2035](https://github.com/wallabag/wallabag/pull/2035) ([nicosomb](https://github.com/nicosomb)) @@ -460,47 +238,10 @@ - Update API documentation with cURL examples [\#1962](https://github.com/wallabag/wallabag/pull/1962) ([nicosomb](https://github.com/nicosomb)) ## [2.0.2](https://github.com/wallabag/wallabag/tree/2.0.2) (2016-04-21) -**Fixed bugs:** - -- No branch or tag called 2.0.1 [\#1920](https://github.com/wallabag/wallabag/issues/1920) -- Cannot update from v2.0 git a119acd [\#1917](https://github.com/wallabag/wallabag/issues/1917) -- export pdf/epub : 504 Gateway Time-out [\#1808](https://github.com/wallabag/wallabag/issues/1808) -- unable to add link, when user needs to login first [\#961](https://github.com/wallabag/wallabag/issues/961) -- Button not translated after registration [\#1956](https://github.com/wallabag/wallabag/issues/1956) -- Give original URL through RSS feeds [\#1926](https://github.com/wallabag/wallabag/issues/1926) -- Calling directly /archive/123 gives 500 Internal Server Error [\#1924](https://github.com/wallabag/wallabag/issues/1924) -- Fix UTF-8 encoding before JSON export [\#1866](https://github.com/wallabag/wallabag/pull/1866) ([ymage](https://github.com/ymage)) - -**Closed issues:** - -- API v2 is it possible to use curl to add,remove items like in pocket? [\#1955](https://github.com/wallabag/wallabag/issues/1955) -- Changing reading view? [\#1949](https://github.com/wallabag/wallabag/issues/1949) -- Property "link" links back to the wallabag item in starred feed [\#1947](https://github.com/wallabag/wallabag/issues/1947) -- Error 500 when starring or archiving an article with the wallabag app for Android [\#1946](https://github.com/wallabag/wallabag/issues/1946) -- \[Documentation request\] Please add a curl example to the API documentation of v2 [\#1939](https://github.com/wallabag/wallabag/issues/1939) -- .htaccess instead of vhost [\#1930](https://github.com/wallabag/wallabag/issues/1930) -- Save articles sending them by email [\#1928](https://github.com/wallabag/wallabag/issues/1928) -- Login fails after upgrading to 2.0.1 [\#1914](https://github.com/wallabag/wallabag/issues/1914) -- Docker image [\#1858](https://github.com/wallabag/wallabag/issues/1858) -- Vendor Package Alpha v2 [\#1623](https://github.com/wallabag/wallabag/issues/1623) -- Unable to retrieve full-text content http://www.ulyces.co/ [\#1539](https://github.com/wallabag/wallabag/issues/1539) -- \[v2\] Remove tags from an entry [\#1377](https://github.com/wallabag/wallabag/issues/1377) -- \[v2\] Assign multiple tags at once [\#1376](https://github.com/wallabag/wallabag/issues/1376) -- No article from Catholic.com get save to wallabag [\#1076](https://github.com/wallabag/wallabag/issues/1076) -- Automatic site config [\#1029](https://github.com/wallabag/wallabag/issues/1029) -- Bylines not being grabbed [\#850](https://github.com/wallabag/wallabag/issues/850) -- Bad support of instructables.com [\#792](https://github.com/wallabag/wallabag/issues/792) -- Share articles between users of the same wallabag instance [\#779](https://github.com/wallabag/wallabag/issues/779) -- \[List\] unable to retrieve full-text content [\#598](https://github.com/wallabag/wallabag/issues/598) -- Hide pagination if not needed [\#1932](https://github.com/wallabag/wallabag/issues/1932) -- Show full title in a tooltip [\#1906](https://github.com/wallabag/wallabag/issues/1906) -- Hide pagination when there's too many entries [\#1905](https://github.com/wallabag/wallabag/issues/1905) -- Update translations [\#1809](https://github.com/wallabag/wallabag/issues/1809) -- Blogger Articles show up as untitled [\#803](https://github.com/wallabag/wallabag/issues/803) - **Merged pull requests:** - Update messages.es.yml [\#1935](https://github.com/wallabag/wallabag/pull/1935) ([jami7](https://github.com/jami7)) +- Fix UTF-8 encoding before JSON export [\#1866](https://github.com/wallabag/wallabag/pull/1866) ([ymage](https://github.com/ymage)) - \[Do Not Merge\] Wallabag 1.9.2 [\#1814](https://github.com/wallabag/wallabag/pull/1814) ([tcitworld](https://github.com/tcitworld)) - Fix translation for Go to your account button after subscription [\#1957](https://github.com/wallabag/wallabag/pull/1957) ([nicosomb](https://github.com/nicosomb)) - Update links in documentation [\#1954](https://github.com/wallabag/wallabag/pull/1954) ([nicosomb](https://github.com/nicosomb)) @@ -520,75 +261,6 @@ - add title hover on entry titles [\#1911](https://github.com/wallabag/wallabag/pull/1911) ([tcitworld](https://github.com/tcitworld)) ## [2.0.1](https://github.com/wallabag/wallabag/tree/2.0.1) (2016-04-11) -**Fixed bugs:** - -- Package installer is broken in 2.0.0 [\#1843](https://github.com/wallabag/wallabag/issues/1843) -- recusive redirection with X-Forwarded-For set [\#1222](https://github.com/wallabag/wallabag/issues/1222) -- Different reading time for one article [\#1893](https://github.com/wallabag/wallabag/issues/1893) -- Duplicate entry via bookmarklet [\#1886](https://github.com/wallabag/wallabag/issues/1886) -- 500 Internal Server Error -\> "Setting \"piwik\_enabled\" couldn't be found [\#1881](https://github.com/wallabag/wallabag/issues/1881) -- PHP Warnings - bootstrap.php.cache missing [\#1872](https://github.com/wallabag/wallabag/issues/1872) -- 2 options in internal settings are ineffective [\#1867](https://github.com/wallabag/wallabag/issues/1867) -- Only getting unread items from API [\#1863](https://github.com/wallabag/wallabag/issues/1863) -- Round the estimated reading time [\#1859](https://github.com/wallabag/wallabag/issues/1859) -- Can't install wallabag via composer install if my mysql database doesn't exist [\#1769](https://github.com/wallabag/wallabag/issues/1769) -- Import from wallabag v1 data fails with csrf error and 'too large file' error [\#1764](https://github.com/wallabag/wallabag/issues/1764) -- \[v2\] Post-installation error with postgresql [\#1752](https://github.com/wallabag/wallabag/issues/1752) - -**Closed issues:** - -- No search in v2? [\#1908](https://github.com/wallabag/wallabag/issues/1908) -- have alexa read your blogs with some integration [\#1907](https://github.com/wallabag/wallabag/issues/1907) -- Wrong display in wallabag v2 - site https://blog.journalduhacker.net [\#1897](https://github.com/wallabag/wallabag/issues/1897) -- Wrong display in wallabag v2 - site http://blog.niqnutn.com [\#1888](https://github.com/wallabag/wallabag/issues/1888) -- Composer hangs on "updating dependencies" [\#1885](https://github.com/wallabag/wallabag/issues/1885) -- Composer is killed during Wallabag 2 installation [\#1883](https://github.com/wallabag/wallabag/issues/1883) -- Loading path /import/wallabag-v2 gives 500 Internal Server Error [\#1878](https://github.com/wallabag/wallabag/issues/1878) -- Error 500 with importing from Wallabag v1 [\#1860](https://github.com/wallabag/wallabag/issues/1860) -- Adding SQL Schema for easier initialisation in containers [\#1857](https://github.com/wallabag/wallabag/issues/1857) -- Syntax Error on installing v2 package with all dependencies [\#1852](https://github.com/wallabag/wallabag/issues/1852) -- Missing parameters during install [\#1848](https://github.com/wallabag/wallabag/issues/1848) -- Php server takes way too much CPU on Raspberry Pi [\#1846](https://github.com/wallabag/wallabag/issues/1846) -- General error: 14 unable to open database file [\#1845](https://github.com/wallabag/wallabag/issues/1845) -- \[error\] v2 nginx hosting error [\#1828](https://github.com/wallabag/wallabag/issues/1828) -- wallabag can't retrieve contents from overblog [\#1826](https://github.com/wallabag/wallabag/issues/1826) -- Fix articles [\#1578](https://github.com/wallabag/wallabag/issues/1578) -- Not capturing [\#1573](https://github.com/wallabag/wallabag/issues/1573) -- Unable to retrieve readable content http://distributistreview.com [\#1568](https://github.com/wallabag/wallabag/issues/1568) -- Wrong display in wallabag [\#1549](https://github.com/wallabag/wallabag/issues/1549) -- Unable to retrieve full-text content http://www.histoire.presse.fr/ [\#1538](https://github.com/wallabag/wallabag/issues/1538) -- atteres.org's articles not displayed [\#1532](https://github.com/wallabag/wallabag/issues/1532) -- Indiegogo - Pardon Our Interruption / blocked by www.distilnetworks.com [\#1520](https://github.com/wallabag/wallabag/issues/1520) -- Installation on shared webhosting [\#1479](https://github.com/wallabag/wallabag/issues/1479) -- www.forbes.com/sites [\#1452](https://github.com/wallabag/wallabag/issues/1452) -- www.newstatesman.com [\#1428](https://github.com/wallabag/wallabag/issues/1428) -- http://www.nationaljournal.com articles [\#1427](https://github.com/wallabag/wallabag/issues/1427) -- Documentation for v2 [\#1359](https://github.com/wallabag/wallabag/issues/1359) -- Wrong display in wallabag [\#1347](https://github.com/wallabag/wallabag/issues/1347) -- Wrong display in wallabag [\#1345](https://github.com/wallabag/wallabag/issues/1345) -- Unable to retrieve full-text content \(dailylinuxnews.com\) [\#1265](https://github.com/wallabag/wallabag/issues/1265) -- file config: zataz.com [\#1249](https://github.com/wallabag/wallabag/issues/1249) -- Incomplete article with self-hosted wallabag [\#1189](https://github.com/wallabag/wallabag/issues/1189) -- Wrong display in wallabag: lowerclassmag.com [\#1077](https://github.com/wallabag/wallabag/issues/1077) -- Cannot add some articles from FreshRSS [\#1041](https://github.com/wallabag/wallabag/issues/1041) -- Untitled articles [\#989](https://github.com/wallabag/wallabag/issues/989) -- Pluxml [\#976](https://github.com/wallabag/wallabag/issues/976) -- Wrong displayed Website [\#924](https://github.com/wallabag/wallabag/issues/924) -- Lifehacker article cut after image [\#918](https://github.com/wallabag/wallabag/issues/918) -- Problem getting article from BBC site [\#825](https://github.com/wallabag/wallabag/issues/825) -- Page capture failing for articles on this blog [\#818](https://github.com/wallabag/wallabag/issues/818) -- wallabag reddit comment pages [\#692](https://github.com/wallabag/wallabag/issues/692) -- Limit size of article [\#640](https://github.com/wallabag/wallabag/issues/640) -- Save Recepies from rezeptwelt.de [\#562](https://github.com/wallabag/wallabag/issues/562) -- adding links asynchronously [\#156](https://github.com/wallabag/wallabag/issues/156) -- Saving a PDF document [\#116](https://github.com/wallabag/wallabag/issues/116) -- Wrong operator definition in the Tagging Rules page [\#1889](https://github.com/wallabag/wallabag/issues/1889) -- Wrong page title for the list archived articles [\#1882](https://github.com/wallabag/wallabag/issues/1882) -- position of tag edit field [\#1870](https://github.com/wallabag/wallabag/issues/1870) -- client\_max\_body\_size for Nginx [\#1849](https://github.com/wallabag/wallabag/issues/1849) -- Installation not possible on cheap webhosting services [\#1827](https://github.com/wallabag/wallabag/issues/1827) -- Update baggy theme with all changes [\#1673](https://github.com/wallabag/wallabag/issues/1673) - **Merged pull requests:** - Fix estimated reading time in material view [\#1898](https://github.com/wallabag/wallabag/pull/1898) ([nicosomb](https://github.com/nicosomb)) @@ -618,71 +290,6 @@ - Force user-agent for iansommerville.com [\#1804](https://github.com/wallabag/wallabag/pull/1804) ([j0k3r](https://github.com/j0k3r)) ## [2.0.0](https://github.com/wallabag/wallabag/tree/2.0.0) (2016-04-03) -**Fixed bugs:** - -- Marking article text advances to the next article [\#1309](https://github.com/wallabag/wallabag/issues/1309) -- v2 beta 2 - Typos in quickstart page [\#1793](https://github.com/wallabag/wallabag/issues/1793) -- v2 beta 2 - Typo in import forms [\#1790](https://github.com/wallabag/wallabag/issues/1790) -- v2 beta 2 - Tabs display in about page with Material theme [\#1787](https://github.com/wallabag/wallabag/issues/1787) -- Split tags with commas [\#1768](https://github.com/wallabag/wallabag/issues/1768) -- timezone error with docker-compose [\#1726](https://github.com/wallabag/wallabag/issues/1726) -- Comments created with one theme aren't displayed with another [\#1718](https://github.com/wallabag/wallabag/issues/1718) -- Pocket import 500 internal error [\#1661](https://github.com/wallabag/wallabag/issues/1661) -- no title in epub [\#1552](https://github.com/wallabag/wallabag/issues/1552) -- \[v2\] Issue with PostgreSQL, table prefixes and `user` table [\#1498](https://github.com/wallabag/wallabag/issues/1498) -- Hide search buttons [\#1838](https://github.com/wallabag/wallabag/pull/1838) ([nicosomb](https://github.com/nicosomb)) -- Check selected PDO driver on install [\#1832](https://github.com/wallabag/wallabag/pull/1832) ([j0k3r](https://github.com/j0k3r)) -- fix tabs display on mobile view [\#1799](https://github.com/wallabag/wallabag/pull/1799) ([tcitworld](https://github.com/tcitworld)) -- Don't add entry through API if it already exists [\#1797](https://github.com/wallabag/wallabag/pull/1797) ([tcitworld](https://github.com/tcitworld)) -- fix api properties and typo [\#1791](https://github.com/wallabag/wallabag/pull/1791) ([tcitworld](https://github.com/tcitworld)) -- Fix quote strategy for reserved keyword in Postgres [\#1500](https://github.com/wallabag/wallabag/pull/1500) ([j0k3r](https://github.com/j0k3r)) - -**Closed issues:** - -- Search returns 404 page [\#1836](https://github.com/wallabag/wallabag/issues/1836) -- Wallabag only works on localhost [\#1834](https://github.com/wallabag/wallabag/issues/1834) -- \[v2-beta2\] Fatal error: Class 'Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle' not found [\#1830](https://github.com/wallabag/wallabag/issues/1830) -- Wallabag Client 2.0 - Does not work, is vanishing and does not store articles [\#1811](https://github.com/wallabag/wallabag/issues/1811) -- wallabag can't retrieve contents for this article [\#1801](https://github.com/wallabag/wallabag/issues/1801) -- Support for OAuth RefreshToken [\#1783](https://github.com/wallabag/wallabag/issues/1783) -- \[v2. beta 1\] Error 404 on search. [\#1781](https://github.com/wallabag/wallabag/issues/1781) -- Adding entry through the api returns "500 Internal Server Error" [\#1780](https://github.com/wallabag/wallabag/issues/1780) -- page title confusing [\#1756](https://github.com/wallabag/wallabag/issues/1756) -- "Take wallabag with you" disappears [\#1751](https://github.com/wallabag/wallabag/issues/1751) -- Only small portion of the website gets saved [\#1744](https://github.com/wallabag/wallabag/issues/1744) -- Implement Version Endpoint [\#1737](https://github.com/wallabag/wallabag/issues/1737) -- API : Do not display all informations about user [\#1698](https://github.com/wallabag/wallabag/issues/1698) -- Replace sentences by keys in translations file [\#1697](https://github.com/wallabag/wallabag/issues/1697) -- Reorder static pages in v2 [\#1694](https://github.com/wallabag/wallabag/issues/1694) -- Add contributors in CREDITS.md [\#1684](https://github.com/wallabag/wallabag/issues/1684) -- Error installing on windows 7 [\#1669](https://github.com/wallabag/wallabag/issues/1669) -- Move assignTagsToEntry in a more global place [\#1667](https://github.com/wallabag/wallabag/issues/1667) -- Document upgrade from v1 to v2 [\#1624](https://github.com/wallabag/wallabag/issues/1624) -- \[v2\] Fix SensioLabsInsight issues [\#1604](https://github.com/wallabag/wallabag/issues/1604) -- \[v2\] Source code should not contain TODO comments - in src/Wallabag/…/Command/InstallCommand.php, line 67 [\#1603](https://github.com/wallabag/wallabag/issues/1603) -- \[v2\] Source code should not contain TODO comments - in src/Wallabag/…/Import/PocketImport.php, line 181 [\#1602](https://github.com/wallabag/wallabag/issues/1602) -- \[v2\] Client ID/secret [\#1597](https://github.com/wallabag/wallabag/issues/1597) -- Can we please get some proper migration guides for v2? [\#1595](https://github.com/wallabag/wallabag/issues/1595) -- \[v2\] Import from wallabag v2 [\#1590](https://github.com/wallabag/wallabag/issues/1590) -- \[v2\] Web interface for developers [\#1589](https://github.com/wallabag/wallabag/issues/1589) -- \[v2\] Documentation for tagging rule [\#1556](https://github.com/wallabag/wallabag/issues/1556) -- \[v2\] Documentation for pocket import [\#1555](https://github.com/wallabag/wallabag/issues/1555) -- \[v2\] Is the username useful? [\#1462](https://github.com/wallabag/wallabag/issues/1462) -- Create Wallabag\UserBundle [\#1442](https://github.com/wallabag/wallabag/issues/1442) -- Fix Scrutinizer issues [\#1360](https://github.com/wallabag/wallabag/issues/1360) -- Maintenance mode [\#1351](https://github.com/wallabag/wallabag/issues/1351) -- \[v2\] Architecture for framabag [\#1330](https://github.com/wallabag/wallabag/issues/1330) -- Implement Piwik [\#1137](https://github.com/wallabag/wallabag/issues/1137) -- Change URL of article [\#1124](https://github.com/wallabag/wallabag/issues/1124) -- Add tag field. [\#1108](https://github.com/wallabag/wallabag/issues/1108) -- Search into tags [\#980](https://github.com/wallabag/wallabag/issues/980) -- Preview picture for each article [\#972](https://github.com/wallabag/wallabag/issues/972) -- Pocket Import Issue [\#956](https://github.com/wallabag/wallabag/issues/956) -- Mark all imported articles as read [\#870](https://github.com/wallabag/wallabag/issues/870) -- Update to last version of full-text-rss [\#694](https://github.com/wallabag/wallabag/issues/694) -- Add comment about wallabaged page [\#592](https://github.com/wallabag/wallabag/issues/592) -- importing from wallabag v1 [\#210](https://github.com/wallabag/wallabag/issues/210) - **Merged pull requests:** - Occitan version [\#1829](https://github.com/wallabag/wallabag/pull/1829) ([Quent-in](https://github.com/Quent-in)) @@ -693,13 +300,18 @@ - Add message on unread page about v2 [\#1815](https://github.com/wallabag/wallabag/pull/1815) ([nicosomb](https://github.com/nicosomb)) - \[v2\] German translation [\#1813](https://github.com/wallabag/wallabag/pull/1813) ([jlnostr](https://github.com/jlnostr)) - fix typo diaspora\* share [\#1807](https://github.com/wallabag/wallabag/pull/1807) ([nikaro](https://github.com/nikaro)) +- Hide search buttons [\#1838](https://github.com/wallabag/wallabag/pull/1838) ([nicosomb](https://github.com/nicosomb)) - :rocket: Prepare v2.0.0 :birthday: [\#1835](https://github.com/wallabag/wallabag/pull/1835) ([nicosomb](https://github.com/nicosomb)) +- Check selected PDO driver on install [\#1832](https://github.com/wallabag/wallabag/pull/1832) ([j0k3r](https://github.com/j0k3r)) - Refacto wallabag import [\#1820](https://github.com/wallabag/wallabag/pull/1820) ([j0k3r](https://github.com/j0k3r)) - Some cleanup [\#1819](https://github.com/wallabag/wallabag/pull/1819) ([j0k3r](https://github.com/j0k3r)) - add migration docs [\#1818](https://github.com/wallabag/wallabag/pull/1818) ([tcitworld](https://github.com/tcitworld)) - Translate flash message in baggy theme [\#1806](https://github.com/wallabag/wallabag/pull/1806) ([nicosomb](https://github.com/nicosomb)) - Fix \#1768 Split tags with commas from UI [\#1805](https://github.com/wallabag/wallabag/pull/1805) ([nicosomb](https://github.com/nicosomb)) +- fix tabs display on mobile view [\#1799](https://github.com/wallabag/wallabag/pull/1799) ([tcitworld](https://github.com/tcitworld)) +- Don't add entry through API if it already exists [\#1797](https://github.com/wallabag/wallabag/pull/1797) ([tcitworld](https://github.com/tcitworld)) - add tests on user in API responses [\#1792](https://github.com/wallabag/wallabag/pull/1792) ([tcitworld](https://github.com/tcitworld)) +- fix api properties and typo [\#1791](https://github.com/wallabag/wallabag/pull/1791) ([tcitworld](https://github.com/tcitworld)) - API shows just what needed for user [\#1786](https://github.com/wallabag/wallabag/pull/1786) ([tcitworld](https://github.com/tcitworld)) - add refresh-token grant-type [\#1784](https://github.com/wallabag/wallabag/pull/1784) ([tcitworld](https://github.com/tcitworld)) - Switch to keys in translated files [\#1774](https://github.com/wallabag/wallabag/pull/1774) ([j0k3r](https://github.com/j0k3r)) @@ -708,17 +320,12 @@ - lots of diverse translation stuff & some typos [\#1665](https://github.com/wallabag/wallabag/pull/1665) ([tcitworld](https://github.com/tcitworld)) - remove tag from entry \#1377 [\#1663](https://github.com/wallabag/wallabag/pull/1663) ([tcitworld](https://github.com/tcitworld)) - v2 – Fix some deprecated for Symfony3 [\#1510](https://github.com/wallabag/wallabag/pull/1510) ([j0k3r](https://github.com/j0k3r)) +- Fix quote strategy for reserved keyword in Postgres [\#1500](https://github.com/wallabag/wallabag/pull/1500) ([j0k3r](https://github.com/j0k3r)) - Rule based tags [\#1478](https://github.com/wallabag/wallabag/pull/1478) ([K-Phoen](https://github.com/K-Phoen)) - \[WIP\] language selection on config screen [\#1446](https://github.com/wallabag/wallabag/pull/1446) ([nicosomb](https://github.com/nicosomb)) - Add multiple database tests on Travis [\#1434](https://github.com/wallabag/wallabag/pull/1434) ([j0k3r](https://github.com/j0k3r)) ## [2.0.0-beta.2](https://github.com/wallabag/wallabag/tree/2.0.0-beta.2) (2016-03-12) -**Closed issues:** - -- Failed to setup via composer [\#1772](https://github.com/wallabag/wallabag/issues/1772) -- lowtechmagazine.com siteconfig [\#1748](https://github.com/wallabag/wallabag/issues/1748) -- From Wallabag 1.9 to 2 [\#1746](https://github.com/wallabag/wallabag/issues/1746) - **Merged pull requests:** - clarify that wllbg is compatible php 7 [\#1776](https://github.com/wallabag/wallabag/pull/1776) ([tcitworld](https://github.com/tcitworld)) @@ -740,103 +347,6 @@ - Added RELEASE\_PROCESS document [\#1615](https://github.com/wallabag/wallabag/pull/1615) ([bdunogier](https://github.com/bdunogier)) ## [2.0.0-beta.1](https://github.com/wallabag/wallabag/tree/2.0.0-beta.1) (2016-03-01) -**Fixed bugs:** - -- Do not capture mouse gestures [\#1674](https://github.com/wallabag/wallabag/issues/1674) -- Failed to load css and js files under "web" folder [\#1613](https://github.com/wallabag/wallabag/issues/1613) -- json export doesn't work [\#1534](https://github.com/wallabag/wallabag/issues/1534) -- large bookmark imports fails [\#1458](https://github.com/wallabag/wallabag/issues/1458) -- Import fails with white screen [\#1405](https://github.com/wallabag/wallabag/issues/1405) -- Add URL -\> URL not saved and logged out [\#1361](https://github.com/wallabag/wallabag/issues/1361) -- Sessions do not last when switching networks [\#1277](https://github.com/wallabag/wallabag/issues/1277) -- pb recherche dans les tags avec caractère spéciaux. [\#1258](https://github.com/wallabag/wallabag/issues/1258) -- Deleting user fails with PHP Fatal error [\#1242](https://github.com/wallabag/wallabag/issues/1242) -- Adding via API does not succeed if logged out [\#1241](https://github.com/wallabag/wallabag/issues/1241) -- wallabag "crashes" with YunoHost when changing skin [\#1220](https://github.com/wallabag/wallabag/issues/1220) -- Epub generation is slow [\#1199](https://github.com/wallabag/wallabag/issues/1199) -- Long chapter names produce malformed epub [\#1196](https://github.com/wallabag/wallabag/issues/1196) -- New install, can't log in - just get the login page [\#1145](https://github.com/wallabag/wallabag/issues/1145) -- Erreur à l'installation [\#1114](https://github.com/wallabag/wallabag/issues/1114) -- Delete cached images [\#1087](https://github.com/wallabag/wallabag/issues/1087) -- Change tag icon [\#1079](https://github.com/wallabag/wallabag/issues/1079) -- instapaper import fails [\#1071](https://github.com/wallabag/wallabag/issues/1071) -- 404 Links on Install Page [\#1039](https://github.com/wallabag/wallabag/issues/1039) -- Wallabag goes to 100% CPU and does not respond when adding Google Drive spreadsheet [\#1027](https://github.com/wallabag/wallabag/issues/1027) -- Error: I cannot access to Wallabag after installation got this error "An error occured: "db" directory must be writeable for your web server user!" [\#1023](https://github.com/wallabag/wallabag/issues/1023) -- PDF export fails if pictures are not accessible [\#1011](https://github.com/wallabag/wallabag/issues/1011) -- Kobo Touch DRM-related error when trying to open ePub documented exported from Wallabag 1.8.1 \(Framabag\) [\#992](https://github.com/wallabag/wallabag/issues/992) -- www.theverge.com consistent "unable to retrieve full-text content" [\#969](https://github.com/wallabag/wallabag/issues/969) -- Click on "Save link"/"Search" doesn't closes popup [\#962](https://github.com/wallabag/wallabag/issues/962) -- Absolute urls in pochePictures.php tend to break [\#950](https://github.com/wallabag/wallabag/issues/950) -- Download pictures: some pictures are not downloaded [\#949](https://github.com/wallabag/wallabag/issues/949) -- 1.8.0: Only the RSS for favs works, unread and archive RSS doesn't [\#914](https://github.com/wallabag/wallabag/issues/914) -- how to import big files from pocket, pre-processing to avoid import of read links without a tag [\#857](https://github.com/wallabag/wallabag/issues/857) -- Fatal error on Importing from Pocket [\#833](https://github.com/wallabag/wallabag/issues/833) -- youtube filter not working on https Sites [\#824](https://github.com/wallabag/wallabag/issues/824) -- Search does not work properly after first page [\#809](https://github.com/wallabag/wallabag/issues/809) -- Articles content never fetched after import if no article is present [\#793](https://github.com/wallabag/wallabag/issues/793) -- Some themes display a citation box wrong [\#759](https://github.com/wallabag/wallabag/issues/759) -- Unable to get the content of shaarli posts [\#639](https://github.com/wallabag/wallabag/issues/639) -- https redirect with htaccess [\#534](https://github.com/wallabag/wallabag/issues/534) -- Can't delete tag [\#1717](https://github.com/wallabag/wallabag/issues/1717) -- Travis and "Could not authenticate against github.com" [\#1703](https://github.com/wallabag/wallabag/issues/1703) -- Translation string for 'min' in the 'estimated reading time: 10 min' [\#1682](https://github.com/wallabag/wallabag/issues/1682) -- \[v2\] Wallabag v1 import ignores tags [\#1657](https://github.com/wallabag/wallabag/issues/1657) -- Authentication via 2factor failed [\#1643](https://github.com/wallabag/wallabag/issues/1643) -- \[v2\] Enable users without email confirmation [\#1622](https://github.com/wallabag/wallabag/issues/1622) -- \[v2\] Default configuration for FosUserBundle [\#1621](https://github.com/wallabag/wallabag/issues/1621) -- Wallabag V2 : PHP Fatal error: Uncaught exception 'Symfony\\Component\\Debug\\Exception [\#1609](https://github.com/wallabag/wallabag/issues/1609) -- \[v2\] syntax problem with v2 export [\#1600](https://github.com/wallabag/wallabag/issues/1600) -- \[v2\] fsockopen connection refused [\#1593](https://github.com/wallabag/wallabag/issues/1593) -- \[v2\] Nginx official support? [\#1585](https://github.com/wallabag/wallabag/issues/1585) -- \[v2\] bug in EntryControllerTest::testDelete [\#1566](https://github.com/wallabag/wallabag/issues/1566) -- delete item in page n, go back to page 1 [\#1551](https://github.com/wallabag/wallabag/issues/1551) -- \[v2\] tags are not deleted when you delete an entry [\#1453](https://github.com/wallabag/wallabag/issues/1453) -- Caracter encoding problem on material preview cards [\#1426](https://github.com/wallabag/wallabag/issues/1426) -- Fix \#1551 - Redirect to the last page when current page is out of range [\#1700](https://github.com/wallabag/wallabag/pull/1700) ([delyriand](https://github.com/delyriand)) -- Test if some keys are missing in v2 import [\#1651](https://github.com/wallabag/wallabag/pull/1651) ([nicosomb](https://github.com/nicosomb)) -- Exported entries were added twice in export file [\#1650](https://github.com/wallabag/wallabag/pull/1650) ([nicosomb](https://github.com/nicosomb)) -- Fix \#1635: change database name for test environments \(mysql/pgsql\) [\#1639](https://github.com/wallabag/wallabag/pull/1639) ([nicosomb](https://github.com/nicosomb)) -- Use translator interface instead of final class [\#1587](https://github.com/wallabag/wallabag/pull/1587) ([j0k3r](https://github.com/j0k3r)) - -**Closed issues:** - -- Feed saved automatically [\#1677](https://github.com/wallabag/wallabag/issues/1677) -- \[Fx 44 Ext 2.0.0\] Cannot save login&password anymore [\#1637](https://github.com/wallabag/wallabag/issues/1637) -- Wallabag demo website gives Bad credentials [\#1626](https://github.com/wallabag/wallabag/issues/1626) -- "stay signed in" do not work [\#1515](https://github.com/wallabag/wallabag/issues/1515) -- Delete ALL articles in one click [\#1506](https://github.com/wallabag/wallabag/issues/1506) -- API addition to allow 3rd party \(tt-rss\) integration in 1.9.1 [\#1425](https://github.com/wallabag/wallabag/issues/1425) -- wallabag will use Pootle for translating [\#1291](https://github.com/wallabag/wallabag/issues/1291) -- Tag article related to its estimated reading time [\#1239](https://github.com/wallabag/wallabag/issues/1239) -- Make the dice bigger [\#1101](https://github.com/wallabag/wallabag/issues/1101) -- full webpage screenshot [\#1098](https://github.com/wallabag/wallabag/issues/1098) -- Wrong display in wallabag: graswurzel.net - umlauts are missing [\#1074](https://github.com/wallabag/wallabag/issues/1074) -- unable to retrieve full-text content [\#885](https://github.com/wallabag/wallabag/issues/885) -- Unclear config settings [\#832](https://github.com/wallabag/wallabag/issues/832) -- public list of articles/links with tags [\#812](https://github.com/wallabag/wallabag/issues/812) -- unable to retrieve full-text content [\#811](https://github.com/wallabag/wallabag/issues/811) -- Make the cache time for Flattr checking a setting [\#765](https://github.com/wallabag/wallabag/issues/765) -- Only show the wallabag this link when on an article when the mouse is over the link. [\#685](https://github.com/wallabag/wallabag/issues/685) -- Footnotes lost in article [\#670](https://github.com/wallabag/wallabag/issues/670) -- readability renders huge share buttons [\#1729](https://github.com/wallabag/wallabag/issues/1729) -- Update CONTRIBUTING with v2 [\#1711](https://github.com/wallabag/wallabag/issues/1711) -- typo in french documentation [\#1708](https://github.com/wallabag/wallabag/issues/1708) -- Documentation about translation: which language file is the reference? [\#1692](https://github.com/wallabag/wallabag/issues/1692) -- Create ISSUE\_TEMPLATE and PULL\_REQUEST\_TEMPLATE [\#1691](https://github.com/wallabag/wallabag/issues/1691) -- \[v2\] can't add link on mobile view with material design [\#1636](https://github.com/wallabag/wallabag/issues/1636) -- Change databases name for mysql/pgsql in test environment [\#1635](https://github.com/wallabag/wallabag/issues/1635) -- \[v2\] Use internal settings to enable \(or not\) export in export sidebar \(material theme\) [\#1620](https://github.com/wallabag/wallabag/issues/1620) -- Ability to install wallabag without dev deps [\#1617](https://github.com/wallabag/wallabag/issues/1617) -- \[v2\] Import of v1 JSON export to v2.wallabag.org fails [\#1598](https://github.com/wallabag/wallabag/issues/1598) -- Composer? [\#1576](https://github.com/wallabag/wallabag/issues/1576) -- \[v2\] Ease installation at maximum [\#1575](https://github.com/wallabag/wallabag/issues/1575) -- \[v2\] Welcome page when article list is empty [\#1501](https://github.com/wallabag/wallabag/issues/1501) -- \[v2\] Add content in 2FA emails [\#1490](https://github.com/wallabag/wallabag/issues/1490) -- Backport site config changes from wallabag v1 to fivefilters repo [\#1414](https://github.com/wallabag/wallabag/issues/1414) -- \[v2\] "Mark as read" & "Mark as unread"? [\#1394](https://github.com/wallabag/wallabag/issues/1394) -- Highlight text [\#994](https://github.com/wallabag/wallabag/issues/994) - **Merged pull requests:** - minor typofix + missing quotes [\#1739](https://github.com/wallabag/wallabag/pull/1739) ([goofy-bz](https://github.com/goofy-bz)) @@ -871,6 +381,7 @@ - French translation for documentation [\#1705](https://github.com/wallabag/wallabag/pull/1705) ([nicosomb](https://github.com/nicosomb)) - Added Piwik implementation [\#1702](https://github.com/wallabag/wallabag/pull/1702) ([nicosomb](https://github.com/nicosomb)) - Fix \#1351: add maintenance mode [\#1701](https://github.com/wallabag/wallabag/pull/1701) ([nicosomb](https://github.com/nicosomb)) +- Fix \#1551 - Redirect to the last page when current page is out of range [\#1700](https://github.com/wallabag/wallabag/pull/1700) ([delyriand](https://github.com/delyriand)) - Move assignTagsToEntry in ContentProxy helper [\#1699](https://github.com/wallabag/wallabag/pull/1699) ([j0k3r](https://github.com/j0k3r)) - Add some missing french translations [\#1696](https://github.com/wallabag/wallabag/pull/1696) ([nicosomb](https://github.com/nicosomb)) - Fix \#1691 create ISSUE\_TEMPLATE and PULL\_REQUEST\_TEMPLATE [\#1693](https://github.com/wallabag/wallabag/pull/1693) ([nicosomb](https://github.com/nicosomb)) @@ -885,12 +396,15 @@ - fix \#1636 [\#1654](https://github.com/wallabag/wallabag/pull/1654) ([tcitworld](https://github.com/tcitworld)) - V2 annotator comments [\#1653](https://github.com/wallabag/wallabag/pull/1653) ([tcitworld](https://github.com/tcitworld)) - User created via wallabag:install is now a SUPER\_ADMIN :crown: [\#1652](https://github.com/wallabag/wallabag/pull/1652) ([nicosomb](https://github.com/nicosomb)) +- Test if some keys are missing in v2 import [\#1651](https://github.com/wallabag/wallabag/pull/1651) ([nicosomb](https://github.com/nicosomb)) +- Exported entries were added twice in export file [\#1650](https://github.com/wallabag/wallabag/pull/1650) ([nicosomb](https://github.com/nicosomb)) - Fix project version in installation command [\#1648](https://github.com/wallabag/wallabag/pull/1648) ([lologhi](https://github.com/lologhi)) - Force prod env on project creation [\#1647](https://github.com/wallabag/wallabag/pull/1647) ([j0k3r](https://github.com/j0k3r)) - Fix \#1643: fix the way to load the HTML template in 2factor auth [\#1645](https://github.com/wallabag/wallabag/pull/1645) ([nicosomb](https://github.com/nicosomb)) - Fix \#1622: parameter for FosUser confirmation [\#1644](https://github.com/wallabag/wallabag/pull/1644) ([nicosomb](https://github.com/nicosomb)) - Unescape content for Material card [\#1642](https://github.com/wallabag/wallabag/pull/1642) ([j0k3r](https://github.com/j0k3r)) - Update import.rst to fix a doc typo [\#1641](https://github.com/wallabag/wallabag/pull/1641) ([nicosomb](https://github.com/nicosomb)) +- Fix \#1635: change database name for test environments \(mysql/pgsql\) [\#1639](https://github.com/wallabag/wallabag/pull/1639) ([nicosomb](https://github.com/nicosomb)) - Exporttxt [\#1633](https://github.com/wallabag/wallabag/pull/1633) ([tcitworld](https://github.com/tcitworld)) - fix \#1620 and introduce new parameters to export [\#1629](https://github.com/wallabag/wallabag/pull/1629) ([tcitworld](https://github.com/tcitworld)) - \[\#1621\] Add default address for FosUser [\#1625](https://github.com/wallabag/wallabag/pull/1625) ([nicosomb](https://github.com/nicosomb)) @@ -902,6 +416,7 @@ - Remove tag relation when removing an entry [\#1606](https://github.com/wallabag/wallabag/pull/1606) ([j0k3r](https://github.com/j0k3r)) - \[\#1604\] First draft to fix SensioLabsInsight report [\#1605](https://github.com/wallabag/wallabag/pull/1605) ([nicosomb](https://github.com/nicosomb)) - \[\#1590\] Add JSON import from wallabag v2 [\#1601](https://github.com/wallabag/wallabag/pull/1601) ([nicosomb](https://github.com/nicosomb)) +- Use translator interface instead of final class [\#1587](https://github.com/wallabag/wallabag/pull/1587) ([j0k3r](https://github.com/j0k3r)) - some cleanup [\#1584](https://github.com/wallabag/wallabag/pull/1584) ([nicosomb](https://github.com/nicosomb)) - Fix `findOneByUrl` side effect in tests [\#1583](https://github.com/wallabag/wallabag/pull/1583) ([j0k3r](https://github.com/j0k3r)) - Fix typo and set version in the README [\#1574](https://github.com/wallabag/wallabag/pull/1574) ([jjanvier](https://github.com/jjanvier)) @@ -913,21 +428,6 @@ - Upgrade to Symfony 3.0 [\#1524](https://github.com/wallabag/wallabag/pull/1524) ([j0k3r](https://github.com/j0k3r)) ## [2.0.0-alpha.2](https://github.com/wallabag/wallabag/tree/2.0.0-alpha.2) (2016-01-22) -**Closed issues:** - -- Trouble because of proxy. [\#1596](https://github.com/wallabag/wallabag/issues/1596) -- V2 installation errors [\#1591](https://github.com/wallabag/wallabag/issues/1591) -- Unable to retrieve readable content http://www.firstthings.com [\#1579](https://github.com/wallabag/wallabag/issues/1579) -- MarkDown Texts [\#1569](https://github.com/wallabag/wallabag/issues/1569) -- epub export doesn't work on v2 [\#1567](https://github.com/wallabag/wallabag/issues/1567) -- Unable to retrieve readable content http://habrahabr.ru/ [\#1541](https://github.com/wallabag/wallabag/issues/1541) -- Display the base URL for syncing on the config page [\#1514](https://github.com/wallabag/wallabag/issues/1514) -- \[v2\] Account activation link returns 404 [\#1508](https://github.com/wallabag/wallabag/issues/1508) -- Support of U2F for authentication [\#1499](https://github.com/wallabag/wallabag/issues/1499) -- Back to article list when "mark as read" [\#1407](https://github.com/wallabag/wallabag/issues/1407) -- Update documentation website [\#1268](https://github.com/wallabag/wallabag/issues/1268) -- import from pocket with our username [\#236](https://github.com/wallabag/wallabag/issues/236) - **Merged pull requests:** - Ignore composer.lock [\#1607](https://github.com/wallabag/wallabag/pull/1607) ([j0k3r](https://github.com/j0k3r)) @@ -941,85 +441,6 @@ - \[v2\] documentation cleaning [\#1558](https://github.com/wallabag/wallabag/pull/1558) ([nicosomb](https://github.com/nicosomb)) ## [2.0.0-alpha.1](https://github.com/wallabag/wallabag/tree/2.0.0-alpha.1) (2016-01-07) -**Fixed bugs:** - -- "Stay signed in" don't do what it promise [\#1550](https://github.com/wallabag/wallabag/issues/1550) -- Fatal error: Call to undefined function session\_get\_cookie\_params\(\) in wallabag-1.9.1-b/inc/3rdparty/Session.class.php on line 59 [\#1519](https://github.com/wallabag/wallabag/issues/1519) -- Attempted to call function "curl\_init" from namespace "Graby\Ring\Client". [\#1511](https://github.com/wallabag/wallabag/issues/1511) -- \[v2\] API response doesn't match the request [\#1494](https://github.com/wallabag/wallabag/issues/1494) -- iframes not correctly handled [\#1438](https://github.com/wallabag/wallabag/issues/1438) -- Unable to bag http://stormsabrewin.org/pizzacigarette.html [\#1430](https://github.com/wallabag/wallabag/issues/1430) -- Send articles by mail is sometimes broken [\#1273](https://github.com/wallabag/wallabag/issues/1273) -- still using the “fr\_FR.utf8 [\#1271](https://github.com/wallabag/wallabag/issues/1271) -- Wallabag does not follow redirects [\#1240](https://github.com/wallabag/wallabag/issues/1240) -- database port not managed [\#1218](https://github.com/wallabag/wallabag/issues/1218) -- Untitled - Import - Click to finish import [\#1213](https://github.com/wallabag/wallabag/issues/1213) -- Installation error solution [\#1192](https://github.com/wallabag/wallabag/issues/1192) -- Email sharing not functional with gmail [\#1173](https://github.com/wallabag/wallabag/issues/1173) -- Deleting article in archive return to "unread" [\#1005](https://github.com/wallabag/wallabag/issues/1005) -- The pagination's variable has no effect [\#875](https://github.com/wallabag/wallabag/issues/875) -- Repeating notifications [\#648](https://github.com/wallabag/wallabag/issues/648) -- can't add link if referers are blocked [\#82](https://github.com/wallabag/wallabag/issues/82) -- \[v2\] Duplicate tags when 2 rules match article [\#1528](https://github.com/wallabag/wallabag/issues/1528) -- Wallabag\CoreBundle\Entity\Entry object not found. [\#1512](https://github.com/wallabag/wallabag/issues/1512) -- \[v2\] Avoid duplicate entry [\#1502](https://github.com/wallabag/wallabag/issues/1502) -- \[v2\] Articles from wallabag.org website are not fetched [\#1454](https://github.com/wallabag/wallabag/issues/1454) -- Only french language is stored [\#1431](https://github.com/wallabag/wallabag/issues/1431) -- v2 – Fix wrong if when deleting an entry [\#1547](https://github.com/wallabag/wallabag/pull/1547) ([j0k3r](https://github.com/j0k3r)) -- v2 – Avoid multiple tag creation [\#1542](https://github.com/wallabag/wallabag/pull/1542) ([j0k3r](https://github.com/j0k3r)) -- v2 – Don't redirect to the content page after deletion [\#1540](https://github.com/wallabag/wallabag/pull/1540) ([j0k3r](https://github.com/j0k3r)) -- fix \#1005 V2 redirect after deletion [\#1496](https://github.com/wallabag/wallabag/pull/1496) ([nicosomb](https://github.com/nicosomb)) -- fix type hint for User [\#1464](https://github.com/wallabag/wallabag/pull/1464) ([nicosomb](https://github.com/nicosomb)) - -**Closed issues:** - -- Wrong display in wallabag [\#1548](https://github.com/wallabag/wallabag/issues/1548) -- \[V2\] - Error on deleting an item alpha in 2.0.0-alpha [\#1531](https://github.com/wallabag/wallabag/issues/1531) -- Problems with my migration from Instapaper [\#1527](https://github.com/wallabag/wallabag/issues/1527) -- Article half downloaded [\#1522](https://github.com/wallabag/wallabag/issues/1522) -- Unable to retrieve full-text content \(putaindecode.io\) [\#1517](https://github.com/wallabag/wallabag/issues/1517) -- Unable to retrieve full-text content \(http://blog.xebia.fr/\) [\#1516](https://github.com/wallabag/wallabag/issues/1516) -- Bad credentials response when trying logging into v2 [\#1513](https://github.com/wallabag/wallabag/issues/1513) -- Wallabag problem - cannot generate MOBI and PDF [\#1509](https://github.com/wallabag/wallabag/issues/1509) -- Wrong Content-Disposition header when download epub \(rfc1806\) [\#1481](https://github.com/wallabag/wallabag/issues/1481) -- Unable to retrieve text from baylon-industries.com [\#1480](https://github.com/wallabag/wallabag/issues/1480) -- Howto use oauth2 with wallabag [\#1476](https://github.com/wallabag/wallabag/issues/1476) -- v2 doesn’t install with RHEL-6 \(i.e., php 5.3.3\) [\#1474](https://github.com/wallabag/wallabag/issues/1474) -- 500 Internal Server Error when posting an article via API [\#1465](https://github.com/wallabag/wallabag/issues/1465) -- Simple bookmarks list, not downloading content [\#1456](https://github.com/wallabag/wallabag/issues/1456) -- Reset password [\#1444](https://github.com/wallabag/wallabag/issues/1444) -- Tempo Storm articles \[unable to retrieve full-text content\] [\#1413](https://github.com/wallabag/wallabag/issues/1413) -- Adding possibility to delete article with 404 result [\#1410](https://github.com/wallabag/wallabag/issues/1410) -- Can't get article on shuhaowu [\#1409](https://github.com/wallabag/wallabag/issues/1409) -- update demo website / framabag [\#1269](https://github.com/wallabag/wallabag/issues/1269) -- No warning at login when session can't be created [\#1188](https://github.com/wallabag/wallabag/issues/1188) -- \[UX\] The cross button in the upper right toolset should be to close current article [\#1125](https://github.com/wallabag/wallabag/issues/1125) -- Are all of the dependecies including those installed by composer under the MIT license as well? [\#1118](https://github.com/wallabag/wallabag/issues/1118) -- Create an "About" section - Get a way to check server configuration again [\#864](https://github.com/wallabag/wallabag/issues/864) -- Contributing to wallabag and/or site\_config [\#849](https://github.com/wallabag/wallabag/issues/849) -- \[Feature\] Possibility to use www.readability.com [\#837](https://github.com/wallabag/wallabag/issues/837) -- lifehacker, io9 and gawker media articles not parsed [\#821](https://github.com/wallabag/wallabag/issues/821) -- New install [\#820](https://github.com/wallabag/wallabag/issues/820) -- Wallabag fails to grab this particular page [\#815](https://github.com/wallabag/wallabag/issues/815) -- RSS [\#93](https://github.com/wallabag/wallabag/issues/93) -- export epub [\#79](https://github.com/wallabag/wallabag/issues/79) -- v2 – Remove user reference in Tag entry ? [\#1543](https://github.com/wallabag/wallabag/issues/1543) -- \[v2\] reload article content [\#1503](https://github.com/wallabag/wallabag/issues/1503) -- \[v2\] Rule-based tags [\#1477](https://github.com/wallabag/wallabag/issues/1477) -- Clean CoreBundle\Resources\views [\#1470](https://github.com/wallabag/wallabag/issues/1470) -- Use Chips for tags in material theme [\#1457](https://github.com/wallabag/wallabag/issues/1457) -- Move the footer in the sidebar [\#1445](https://github.com/wallabag/wallabag/issues/1445) -- When displaying domain on themes, skip the www part [\#1433](https://github.com/wallabag/wallabag/issues/1433) -- List view for material theme [\#1424](https://github.com/wallabag/wallabag/issues/1424) -- Warn that registration is disabled when adding an user [\#1423](https://github.com/wallabag/wallabag/issues/1423) -- \[v2\] Store entry language [\#1333](https://github.com/wallabag/wallabag/issues/1333) -- oAuth implementation [\#795](https://github.com/wallabag/wallabag/issues/795) -- Text colour from article might conflict with theme [\#741](https://github.com/wallabag/wallabag/issues/741) -- Browse or group articles by domain [\#729](https://github.com/wallabag/wallabag/issues/729) -- Add to the feed the date when the article was added [\#589](https://github.com/wallabag/wallabag/issues/589) -- wallabag can't handle plain text [\#444](https://github.com/wallabag/wallabag/issues/444) -- multi users GUI [\#46](https://github.com/wallabag/wallabag/issues/46) - **Merged pull requests:** - Updated composer.lock [\#1537](https://github.com/wallabag/wallabag/pull/1537) ([bdunogier](https://github.com/bdunogier)) @@ -1041,18 +462,23 @@ - Add support to timeshighereducation.com [\#1450](https://github.com/wallabag/wallabag/pull/1450) ([benages](https://github.com/benages)) - typo [\#1447](https://github.com/wallabag/wallabag/pull/1447) ([tcitworld](https://github.com/tcitworld)) - Hide export button if we are not on entries list [\#1553](https://github.com/wallabag/wallabag/pull/1553) ([nicosomb](https://github.com/nicosomb)) +- v2 – Fix wrong if when deleting an entry [\#1547](https://github.com/wallabag/wallabag/pull/1547) ([j0k3r](https://github.com/j0k3r)) - v2 – Ability to reload an entry [\#1546](https://github.com/wallabag/wallabag/pull/1546) ([j0k3r](https://github.com/j0k3r)) - v2 – Remove user reference in tag [\#1545](https://github.com/wallabag/wallabag/pull/1545) ([j0k3r](https://github.com/j0k3r)) - v2 – Add custom email for 2FA [\#1544](https://github.com/wallabag/wallabag/pull/1544) ([j0k3r](https://github.com/j0k3r)) +- v2 – Avoid multiple tag creation [\#1542](https://github.com/wallabag/wallabag/pull/1542) ([j0k3r](https://github.com/j0k3r)) +- v2 – Don't redirect to the content page after deletion [\#1540](https://github.com/wallabag/wallabag/pull/1540) ([j0k3r](https://github.com/j0k3r)) - changed table name for tagging rule [\#1529](https://github.com/wallabag/wallabag/pull/1529) ([nicosomb](https://github.com/nicosomb)) - Typo [\#1523](https://github.com/wallabag/wallabag/pull/1523) ([tcitworld](https://github.com/tcitworld)) - Add graby log [\#1505](https://github.com/wallabag/wallabag/pull/1505) ([j0k3r](https://github.com/j0k3r)) +- fix \#1005 V2 redirect after deletion [\#1496](https://github.com/wallabag/wallabag/pull/1496) ([nicosomb](https://github.com/nicosomb)) - Add german translation. [\#1491](https://github.com/wallabag/wallabag/pull/1491) ([jlnostr](https://github.com/jlnostr)) - Slug for tags [\#1488](https://github.com/wallabag/wallabag/pull/1488) ([nicosomb](https://github.com/nicosomb)) - 2factor authentication via email [\#1484](https://github.com/wallabag/wallabag/pull/1484) ([nicosomb](https://github.com/nicosomb)) - fix \#1470: clean material theme [\#1472](https://github.com/wallabag/wallabag/pull/1472) ([nicosomb](https://github.com/nicosomb)) - implement bookmarklet [\#1471](https://github.com/wallabag/wallabag/pull/1471) ([nicosomb](https://github.com/nicosomb)) - fix bug on detect active theme [\#1468](https://github.com/wallabag/wallabag/pull/1468) ([nicosomb](https://github.com/nicosomb)) +- fix type hint for User [\#1464](https://github.com/wallabag/wallabag/pull/1464) ([nicosomb](https://github.com/nicosomb)) - fix \#1433: add test for removeWww Twig Extension [\#1461](https://github.com/wallabag/wallabag/pull/1461) ([nicosomb](https://github.com/nicosomb)) - Add french translation [\#1441](https://github.com/wallabag/wallabag/pull/1441) ([nicosomb](https://github.com/nicosomb)) - fix \#1433: remove www. on entries view [\#1440](https://github.com/wallabag/wallabag/pull/1440) ([nicosomb](https://github.com/nicosomb)) @@ -1064,702 +490,6 @@ - V2 – Export entries [\#1422](https://github.com/wallabag/wallabag/pull/1422) ([tcitworld](https://github.com/tcitworld)) ## [2.0.0-alpha.0](https://github.com/wallabag/wallabag/tree/2.0.0-alpha.0) (2015-09-14) -**Fixed bugs:** - -- 500 Internal Server Error on filtering articles [\#1416](https://github.com/wallabag/wallabag/issues/1416) -- Server Side Request Forgery \(SSRF\) using Wallabag [\#1364](https://github.com/wallabag/wallabag/issues/1364) -- Lost session too often [\#1339](https://github.com/wallabag/wallabag/issues/1339) -- Show button for adding firefox social service only on secured connections [\#1237](https://github.com/wallabag/wallabag/issues/1237) -- error loading feed when synchronizing [\#1212](https://github.com/wallabag/wallabag/issues/1212) -- tags & tags\_entry not properly deleted after article deletion [\#1209](https://github.com/wallabag/wallabag/issues/1209) -- Tags not being exported in Wallabag 1.9.0 [\#1203](https://github.com/wallabag/wallabag/issues/1203) -- I don't see any icons. [\#1183](https://github.com/wallabag/wallabag/issues/1183) -- Error in install process. [\#1175](https://github.com/wallabag/wallabag/issues/1175) -- Clear cache function deleted .htaccess, .gitignore files under cache/ [\#1154](https://github.com/wallabag/wallabag/issues/1154) -- Update jQuery [\#1139](https://github.com/wallabag/wallabag/issues/1139) -- translation issue [\#1133](https://github.com/wallabag/wallabag/issues/1133) -- Baggy theme: no Icon for shaarli [\#1131](https://github.com/wallabag/wallabag/issues/1131) -- Archive an unread article [\#1126](https://github.com/wallabag/wallabag/issues/1126) -- Error in first log in [\#1121](https://github.com/wallabag/wallabag/issues/1121) -- "About" not translated into french in the menu ? [\#1116](https://github.com/wallabag/wallabag/issues/1116) -- Firefox Addon give an error on saving a link [\#1104](https://github.com/wallabag/wallabag/issues/1104) -- I'm getting duplicate articles. [\#1102](https://github.com/wallabag/wallabag/issues/1102) -- Register email at installation [\#1093](https://github.com/wallabag/wallabag/issues/1093) -- Saying I don't have permission to access to /inc/poche/config.inc.php during install. [\#1086](https://github.com/wallabag/wallabag/issues/1086) -- allow\_url\_fopen disabled try to use php-curl [\#1078](https://github.com/wallabag/wallabag/issues/1078) -- "Fetch content for articles with no content" doesn't work [\#1058](https://github.com/wallabag/wallabag/issues/1058) -- New Install - Can't Log In [\#1040](https://github.com/wallabag/wallabag/issues/1040) -- The "back to top" button is missing in responsive design \(Baggy theme\) [\#1010](https://github.com/wallabag/wallabag/issues/1010) -- Security issue [\#997](https://github.com/wallabag/wallabag/issues/997) -- \[Installation\] Throw an exception if PDO isn't found at installation. [\#996](https://github.com/wallabag/wallabag/issues/996) -- \[Installation\] Wrong login on MySQL/PostgreSQL databases fail silently [\#995](https://github.com/wallabag/wallabag/issues/995) -- An error occured: "db" directory must be writeable for your web server user! [\#990](https://github.com/wallabag/wallabag/issues/990) -- logic bug in autoclose code? [\#984](https://github.com/wallabag/wallabag/issues/984) -- Can't mark an article as favorite [\#983](https://github.com/wallabag/wallabag/issues/983) -- Export does not work \(JSON & ePub\) [\#970](https://github.com/wallabag/wallabag/issues/970) -- Problem with Readability.php when save link [\#963](https://github.com/wallabag/wallabag/issues/963) -- White Screen after Install [\#955](https://github.com/wallabag/wallabag/issues/955) -- wallabag install enable to save links on openbsd [\#948](https://github.com/wallabag/wallabag/issues/948) -- Courgette theme really broken [\#941](https://github.com/wallabag/wallabag/issues/941) -- White Screen when mysql user has no privileges. [\#940](https://github.com/wallabag/wallabag/issues/940) -- crashing because unknown character set 'utf8mb4' [\#935](https://github.com/wallabag/wallabag/issues/935) -- Mobile view and popups [\#912](https://github.com/wallabag/wallabag/issues/912) -- Texts not translated when adding tag [\#887](https://github.com/wallabag/wallabag/issues/887) -- epub Export does not work [\#882](https://github.com/wallabag/wallabag/issues/882) -- Article not saved if not logged in [\#877](https://github.com/wallabag/wallabag/issues/877) -- In baggy : no preview text in linear visualisation [\#874](https://github.com/wallabag/wallabag/issues/874) -- In baggy mark as read button stays gray [\#873](https://github.com/wallabag/wallabag/issues/873) -- Fix "Mark as read" translations [\#871](https://github.com/wallabag/wallabag/issues/871) -- The link to check the server compatibility is broken [\#858](https://github.com/wallabag/wallabag/issues/858) -- Trouble installing with Postgres as DB [\#844](https://github.com/wallabag/wallabag/issues/844) -- CSS Bug on article list when browsing on Small size device [\#834](https://github.com/wallabag/wallabag/issues/834) -- Search and SaveALink windows overlap [\#830](https://github.com/wallabag/wallabag/issues/830) -- New self-hosted install: Android app and FF Extension do not work [\#829](https://github.com/wallabag/wallabag/issues/829) -- Download pictures doesn't work [\#822](https://github.com/wallabag/wallabag/issues/822) -- \[dev branch\] Installation doesn't work [\#813](https://github.com/wallabag/wallabag/issues/813) -- \[EPUB\] Images not included when cached on the server. [\#804](https://github.com/wallabag/wallabag/issues/804) -- Empty page after upgrade [\#796](https://github.com/wallabag/wallabag/issues/796) -- Installation of Wallabag with SQLite3 database fails [\#788](https://github.com/wallabag/wallabag/issues/788) -- Delete Courgette theme [\#781](https://github.com/wallabag/wallabag/issues/781) -- Import empty file [\#776](https://github.com/wallabag/wallabag/issues/776) -- Login session is not remembered. [\#769](https://github.com/wallabag/wallabag/issues/769) -- Add check php5-gd to wallabag: Compatibility Test [\#766](https://github.com/wallabag/wallabag/issues/766) -- « welcome to your wallabag » is not translated [\#763](https://github.com/wallabag/wallabag/issues/763) -- wired.com comes out totally messed up [\#756](https://github.com/wallabag/wallabag/issues/756) -- Add support for multipage articles [\#750](https://github.com/wallabag/wallabag/issues/750) -- Ereader complains about DRM with epubs [\#748](https://github.com/wallabag/wallabag/issues/748) -- Soucis traduction bouton envoyer [\#743](https://github.com/wallabag/wallabag/issues/743) -- Arrays not being displayed the same depending on theme \(previously was : new site\_config file\) [\#740](https://github.com/wallabag/wallabag/issues/740) -- Sort RSS Tag Feed [\#738](https://github.com/wallabag/wallabag/issues/738) -- Error parsing file imported from Pocket [\#718](https://github.com/wallabag/wallabag/issues/718) -- EPUB-Download for more than one article create a corrupt file [\#717](https://github.com/wallabag/wallabag/issues/717) -- Can't save new article [\#710](https://github.com/wallabag/wallabag/issues/710) -- Dailymotion support [\#708](https://github.com/wallabag/wallabag/issues/708) -- Deleting install dir isn't automatic in dev branch [\#700](https://github.com/wallabag/wallabag/issues/700) -- Out of memory size limit with big article [\#682](https://github.com/wallabag/wallabag/issues/682) -- Installation fails with "parse\_ini\_file" disabled [\#678](https://github.com/wallabag/wallabag/issues/678) -- When downloading images, wallabag doesnt respect html "base" tag [\#677](https://github.com/wallabag/wallabag/issues/677) -- page not saved [\#675](https://github.com/wallabag/wallabag/issues/675) -- RSS Problems [\#664](https://github.com/wallabag/wallabag/issues/664) -- 1.6.1 storage name mismatch for postgres in installer [\#657](https://github.com/wallabag/wallabag/issues/657) -- Errors importing from Pocket [\#650](https://github.com/wallabag/wallabag/issues/650) -- Error 500 - PHP fatal error [\#647](https://github.com/wallabag/wallabag/issues/647) -- Warning: putenv\(\) \[function.putenv\]: Safe Mode warning [\#646](https://github.com/wallabag/wallabag/issues/646) -- rss feed content type [\#636](https://github.com/wallabag/wallabag/issues/636) -- Multi-User problem [\#630](https://github.com/wallabag/wallabag/issues/630) -- PosgreSQL error on sequence users\_id\_seq with version 1.6 [\#628](https://github.com/wallabag/wallabag/issues/628) -- Import doesn't finish [\#619](https://github.com/wallabag/wallabag/issues/619) -- Walla bag fails to grab pages from tutplus.com [\#615](https://github.com/wallabag/wallabag/issues/615) -- I can't close "search" popup with the cross picture [\#613](https://github.com/wallabag/wallabag/issues/613) -- Escap key displays "save a link" form [\#612](https://github.com/wallabag/wallabag/issues/612) -- display problem with smartphone and Baggy [\#610](https://github.com/wallabag/wallabag/issues/610) -- Post 1.6 upgrade - bagging anything lead to PDOException [\#602](https://github.com/wallabag/wallabag/issues/602) -- Fail to sync articles with poche app. [\#593](https://github.com/wallabag/wallabag/issues/593) -- Embed videos in an iframe don't show [\#590](https://github.com/wallabag/wallabag/issues/590) -- Check file permissions at install [\#584](https://github.com/wallabag/wallabag/issues/584) -- The RSS Feed doesn't seem valid [\#583](https://github.com/wallabag/wallabag/issues/583) -- Running Wallabag on Windows Host [\#580](https://github.com/wallabag/wallabag/issues/580) -- \[Windows\] Many problems with WAMP [\#579](https://github.com/wallabag/wallabag/issues/579) -- Invalid url message for this page [\#578](https://github.com/wallabag/wallabag/issues/578) -- baggy theme - "powered by" overlapps pagination [\#577](https://github.com/wallabag/wallabag/issues/577) -- \[Bug ?\] Export wallabag data : not saving but opening in browser [\#570](https://github.com/wallabag/wallabag/issues/570) -- missing rss.png files [\#568](https://github.com/wallabag/wallabag/issues/568) -- Cron.php deadlocks import process on many "Untitled" elements [\#565](https://github.com/wallabag/wallabag/issues/565) -- Data is not retrieved properly [\#561](https://github.com/wallabag/wallabag/issues/561) -- In RSS feed, the link leads to my wallabag page [\#556](https://github.com/wallabag/wallabag/issues/556) -- Failing to add a link [\#555](https://github.com/wallabag/wallabag/issues/555) -- CTRL S open "save this page" in firefox [\#552](https://github.com/wallabag/wallabag/issues/552) -- deactivate keyboard shortcuts when entering tags [\#546](https://github.com/wallabag/wallabag/issues/546) -- Parser Fail: Text overwrites other text and images [\#537](https://github.com/wallabag/wallabag/issues/537) -- Instapaper Import Failed [\#536](https://github.com/wallabag/wallabag/issues/536) -- Import fail from Poche [\#530](https://github.com/wallabag/wallabag/issues/530) -- Failure in makefulltextfeed.php [\#529](https://github.com/wallabag/wallabag/issues/529) -- Firefox: download the extension - Link Broken [\#528](https://github.com/wallabag/wallabag/issues/528) -- autoclose with baggy theme and firefox addon [\#527](https://github.com/wallabag/wallabag/issues/527) -- minor glitch in baggy theme [\#526](https://github.com/wallabag/wallabag/issues/526) -- baggy theme removed "remember scroll position" feature [\#519](https://github.com/wallabag/wallabag/issues/519) -- on Framabag re-login needed after "bag it!" [\#509](https://github.com/wallabag/wallabag/issues/509) -- youtube videos are not saved [\#508](https://github.com/wallabag/wallabag/issues/508) -- Heise article crashes online demo [\#498](https://github.com/wallabag/wallabag/issues/498) -- Bug: makefulltextfeed.php crashing on article [\#494](https://github.com/wallabag/wallabag/issues/494) -- Erreur PHP Fatal error: Call to undefined method [\#493](https://github.com/wallabag/wallabag/issues/493) -- Impossible de changer de langue [\#492](https://github.com/wallabag/wallabag/issues/492) -- \[Baggy\] Prob. "hover" sur lien de déco [\#489](https://github.com/wallabag/wallabag/issues/489) -- Config en FR mais langue EN affichée ? [\#488](https://github.com/wallabag/wallabag/issues/488) -- Import from Pocket not working in 1.5.2 [\#486](https://github.com/wallabag/wallabag/issues/486) -- Update to 1.5.2 : PHP extension required: pdo\_sqlite [\#483](https://github.com/wallabag/wallabag/issues/483) -- This page contains a script from unauthenticated sources [\#482](https://github.com/wallabag/wallabag/issues/482) -- \[Bug\] Liste des thèmes par ordre alpha ? [\#470](https://github.com/wallabag/wallabag/issues/470) -- icons blocked/not loading when font is blocked [\#465](https://github.com/wallabag/wallabag/issues/465) -- pages are not imported [\#463](https://github.com/wallabag/wallabag/issues/463) -- \[Bug\] Label du bouton sur l'écran d'identification [\#456](https://github.com/wallabag/wallabag/issues/456) -- \[Bug\] Thème Baggy : le lien vers Wallabag en footer ne marche pas [\#453](https://github.com/wallabag/wallabag/issues/453) -- \[Bug\] Bas de page index : problème avec le fichier de langue ? [\#452](https://github.com/wallabag/wallabag/issues/452) -- Permission error if no cache dir exist [\#451](https://github.com/wallabag/wallabag/issues/451) -- Bug with theme name case [\#447](https://github.com/wallabag/wallabag/issues/447) -- notification cross doesn't work [\#446](https://github.com/wallabag/wallabag/issues/446) -- Login time [\#442](https://github.com/wallabag/wallabag/issues/442) -- wallabag a tumblr will only save the first post [\#441](https://github.com/wallabag/wallabag/issues/441) -- Wallabag this link doesn't work [\#440](https://github.com/wallabag/wallabag/issues/440) -- An error report:Parse error: syntax error, unexpected T\_FUNCTION [\#436](https://github.com/wallabag/wallabag/issues/436) -- Incorrect url when adding from Android [\#424](https://github.com/wallabag/wallabag/issues/424) -- Some language problems in the french Config Page [\#416](https://github.com/wallabag/wallabag/issues/416) -- remove all poche references in code [\#415](https://github.com/wallabag/wallabag/issues/415) -- Add support for X-Forwarded-Proto header field [\#413](https://github.com/wallabag/wallabag/issues/413) -- remember user [\#401](https://github.com/wallabag/wallabag/issues/401) -- \[unable to retrieve full-text content\]... [\#396](https://github.com/wallabag/wallabag/issues/396) -- Poche on Apache, behind Ngnix [\#395](https://github.com/wallabag/wallabag/issues/395) -- Empty article title and content \(blank title tag and content\) [\#390](https://github.com/wallabag/wallabag/issues/390) -- Some links crash RSS feeds [\#386](https://github.com/wallabag/wallabag/issues/386) -- RSS Feeds don't validate / W3C [\#384](https://github.com/wallabag/wallabag/issues/384) -- Encoding trouble in \ of RSS [\#376](https://github.com/wallabag/wallabag/issues/376) -- Import from readability doesn't work \(0 links imported\) [\#375](https://github.com/wallabag/wallabag/issues/375) -- Some articles break the RSS [\#374](https://github.com/wallabag/wallabag/issues/374) -- Endless redirects or user doesn't exist with basic authentication [\#368](https://github.com/wallabag/wallabag/issues/368) -- table tags\_entries already exists [\#367](https://github.com/wallabag/wallabag/issues/367) -- No content after fresh install \(v1.3.0\) [\#366](https://github.com/wallabag/wallabag/issues/366) -- RSS Feed URL problem [\#364](https://github.com/wallabag/wallabag/issues/364) -- Notice: Trying to get property of non-object in poche/inc/3rdparty/FlattrItem.class.php on line 22 [\#359](https://github.com/wallabag/wallabag/issues/359) -- Local import does not work [\#332](https://github.com/wallabag/wallabag/issues/332) -- Can't import from Pocket [\#294](https://github.com/wallabag/wallabag/issues/294) -- problem with CURLOPT\_FOLLOWLOCATION [\#287](https://github.com/wallabag/wallabag/issues/287) -- poche not accessible anymore via https [\#283](https://github.com/wallabag/wallabag/issues/283) -- html output of poche is linking to localhost [\#270](https://github.com/wallabag/wallabag/issues/270) -- Deleting article doesn't redirect [\#259](https://github.com/wallabag/wallabag/issues/259) -- New menu bar bad display on Windows Phone Browser [\#258](https://github.com/wallabag/wallabag/issues/258) -- new menu bar in beta 5 not usable on android firefox in portrait orientation [\#255](https://github.com/wallabag/wallabag/issues/255) -- error 500 with the .htaccess [\#254](https://github.com/wallabag/wallabag/issues/254) -- can't parse youtube [\#253](https://github.com/wallabag/wallabag/issues/253) -- Coherent install instructions? [\#248](https://github.com/wallabag/wallabag/issues/248) -- alert message aat field in config is in french [\#246](https://github.com/wallabag/wallabag/issues/246) -- Flattr Cache : File names too long [\#243](https://github.com/wallabag/wallabag/issues/243) -- problem with estimated reading time on smartphone / tablet [\#242](https://github.com/wallabag/wallabag/issues/242) -- inc/3rdparty/site\_config missing [\#240](https://github.com/wallabag/wallabag/issues/240) -- full paths of import files displayed [\#234](https://github.com/wallabag/wallabag/issues/234) -- Can't poche a github page with bookmarklet [\#233](https://github.com/wallabag/wallabag/issues/233) -- save position not enabled [\#230](https://github.com/wallabag/wallabag/issues/230) -- theme not stored [\#229](https://github.com/wallabag/wallabag/issues/229) -- Deleting element in archive redirect to home [\#227](https://github.com/wallabag/wallabag/issues/227) -- Problème avec la page d'un élément poché et la date [\#225](https://github.com/wallabag/wallabag/issues/225) -- when archive last poched links from a page, redirect to an other page [\#219](https://github.com/wallabag/wallabag/issues/219) -- titles with colon bad parsed [\#209](https://github.com/wallabag/wallabag/issues/209) -- update doc links in poche [\#208](https://github.com/wallabag/wallabag/issues/208) -- Poche can't parse LWN.net articles where subscription is needed despite login [\#201](https://github.com/wallabag/wallabag/issues/201) -- bbc and guardian [\#200](https://github.com/wallabag/wallabag/issues/200) -- DOWNLOAD\_PICTURES function [\#186](https://github.com/wallabag/wallabag/issues/186) -- Wrong title on favorites and archives pages [\#182](https://github.com/wallabag/wallabag/issues/182) -- content not well displayed with bulletins-electroniques.com [\#177](https://github.com/wallabag/wallabag/issues/177) -- IP addresses do not appear in "view original" [\#175](https://github.com/wallabag/wallabag/issues/175) -- can't parse http://12factor.net/ [\#166](https://github.com/wallabag/wallabag/issues/166) -- if cURL is not installed, content is not well displayed [\#164](https://github.com/wallabag/wallabag/issues/164) -- URL with special char could not be imported [\#155](https://github.com/wallabag/wallabag/issues/155) -- \ Title not displaying [\#153](https://github.com/wallabag/wallabag/issues/153) -- HTML entities in titles are encoded twice [\#151](https://github.com/wallabag/wallabag/issues/151) -- Poche won't import the content [\#149](https://github.com/wallabag/wallabag/issues/149) -- Use of undefined constant POCHE\_VERSION [\#148](https://github.com/wallabag/wallabag/issues/148) -- répertoire DB inexistant [\#147](https://github.com/wallabag/wallabag/issues/147) -- getPocheVersion doesn't work ? [\#142](https://github.com/wallabag/wallabag/issues/142) -- Lien qui ne s'ajoute pas [\#138](https://github.com/wallabag/wallabag/issues/138) -- Error importing readability json [\#136](https://github.com/wallabag/wallabag/issues/136) -- Export Twitter : Caractères spéciaux qui ne passent pas [\#135](https://github.com/wallabag/wallabag/issues/135) -- Un nouveau type d'URL qui ne fonctionne pas [\#125](https://github.com/wallabag/wallabag/issues/125) -- Images coded with relative paths are not imported [\#123](https://github.com/wallabag/wallabag/issues/123) -- stay connected checkbox - Add cookie [\#115](https://github.com/wallabag/wallabag/issues/115) -- Taille police et icones [\#114](https://github.com/wallabag/wallabag/issues/114) -- Impossible d'installer poche [\#111](https://github.com/wallabag/wallabag/issues/111) -- URL refusée [\#110](https://github.com/wallabag/wallabag/issues/110) -- suppression d'un lien depuis la page view [\#103](https://github.com/wallabag/wallabag/issues/103) -- Erreur date.timezone [\#98](https://github.com/wallabag/wallabag/issues/98) -- Texte lors de la suppression d'un item incorrect [\#97](https://github.com/wallabag/wallabag/issues/97) -- Can't add some urls [\#91](https://github.com/wallabag/wallabag/issues/91) -- impossible to start poche on my Apache! [\#85](https://github.com/wallabag/wallabag/issues/85) -- Can't Poch url with special caracter [\#73](https://github.com/wallabag/wallabag/issues/73) -- afficher les messages "flash" lorsqu'on met en favori et quand on archive [\#66](https://github.com/wallabag/wallabag/issues/66) -- impossible d'ajouter un lien si pas connecté [\#63](https://github.com/wallabag/wallabag/issues/63) -- erreur lors de l'import pocket [\#53](https://github.com/wallabag/wallabag/issues/53) -- image non récupérée [\#52](https://github.com/wallabag/wallabag/issues/52) -- supprimer un lien depuis view.php [\#51](https://github.com/wallabag/wallabag/issues/51) -- Articles mal parsés [\#47](https://github.com/wallabag/wallabag/issues/47) -- disparition des icônes lors d'un tri [\#45](https://github.com/wallabag/wallabag/issues/45) -- problème session si on est sur la page depuis longtemps [\#41](https://github.com/wallabag/wallabag/issues/41) -- verif csrf pour l'ajout d'un lien [\#40](https://github.com/wallabag/wallabag/issues/40) -- impossible d'ajouter un lien en https [\#38](https://github.com/wallabag/wallabag/issues/38) -- bug chrome : affichage d'un seul élément dans la grille [\#32](https://github.com/wallabag/wallabag/issues/32) -- vérification des liens pochés [\#16](https://github.com/wallabag/wallabag/issues/16) -- url vide [\#9](https://github.com/wallabag/wallabag/issues/9) -- \[v2\] Redirection expected after deleting an entry currently displayed [\#1391](https://github.com/wallabag/wallabag/issues/1391) -- Filter date: no results for today [\#1379](https://github.com/wallabag/wallabag/issues/1379) -- Conflict pagination and filters [\#1350](https://github.com/wallabag/wallabag/issues/1350) -- \[v2\] When the title of an article is edited, the article is marked as read [\#1306](https://github.com/wallabag/wallabag/issues/1306) -- Display current category name [\#1283](https://github.com/wallabag/wallabag/issues/1283) -- The menu icon is displayed after clicked on search icon [\#1280](https://github.com/wallabag/wallabag/issues/1280) -- \[v2\] When you change your username, you can't login [\#1149](https://github.com/wallabag/wallabag/issues/1149) -- How to send an article from an external software? api? [\#1147](https://github.com/wallabag/wallabag/issues/1147) -- need to enter username/password at login screen after browser restart [\#890](https://github.com/wallabag/wallabag/issues/890) -- url greater than 255 chars are not saved \(was: urls with redirection\(s\) silently fail to be downloaded\) [\#681](https://github.com/wallabag/wallabag/issues/681) -- duplicate check [\#400](https://github.com/wallabag/wallabag/issues/400) -- \[v2\] Tags and articles [\#324](https://github.com/wallabag/wallabag/issues/324) -- \[v2\] can't login with mozilla account [\#321](https://github.com/wallabag/wallabag/issues/321) -- \[v2\] utf-8 symbols are not displayed in article view [\#316](https://github.com/wallabag/wallabag/issues/316) -- \[v2\] Not all articles are imported from v1 [\#302](https://github.com/wallabag/wallabag/issues/302) -- Lien unique par utilisateur [\#121](https://github.com/wallabag/wallabag/issues/121) -- fix security bug with PHP\_AUTH\_USER [\#1252](https://github.com/wallabag/wallabag/pull/1252) ([tcitworld](https://github.com/tcitworld)) -- New installation process [\#1026](https://github.com/wallabag/wallabag/pull/1026) ([tcitworld](https://github.com/tcitworld)) -- Fix the PostgreSQL install errors [\#845](https://github.com/wallabag/wallabag/pull/845) ([rros](https://github.com/rros)) -- fix display of 'Done' message when we add a link from 'save a link' item [\#784](https://github.com/wallabag/wallabag/pull/784) ([nicosomb](https://github.com/nicosomb)) -- \#763 fix to display the login successful message with the translation [\#783](https://github.com/wallabag/wallabag/pull/783) ([nicosomb](https://github.com/nicosomb)) -- Fix \#776 [\#782](https://github.com/wallabag/wallabag/pull/782) ([nicosomb](https://github.com/nicosomb)) -- fixed bug for epub export \#755 ; also better metadata title [\#771](https://github.com/wallabag/wallabag/pull/771) ([tcitworld](https://github.com/tcitworld)) -- bagit link + overlay save link + listmode [\#540](https://github.com/wallabag/wallabag/pull/540) ([courgette](https://github.com/courgette)) -- fix of global $http visibility, issues \#493, \#494 [\#495](https://github.com/wallabag/wallabag/pull/495) ([mariroz](https://github.com/mariroz)) -- duplicate check added. fix of issue \#400 [\#460](https://github.com/wallabag/wallabag/pull/460) ([mariroz](https://github.com/mariroz)) -- fix of bug \#368 Endless redirects or user doesn't exist with basic authe... [\#419](https://github.com/wallabag/wallabag/pull/419) ([mariroz](https://github.com/mariroz)) -- Page data extraction with basic auth [\#394](https://github.com/wallabag/wallabag/pull/394) ([aaa2000](https://github.com/aaa2000)) - -**Closed issues:** - -- ??? [\#1406](https://github.com/wallabag/wallabag/issues/1406) -- Wrong display site http://f9r.ru/ [\#1388](https://github.com/wallabag/wallabag/issues/1388) -- Filter: Reading time [\#1381](https://github.com/wallabag/wallabag/issues/1381) -- store the user IP? [\#1344](https://github.com/wallabag/wallabag/issues/1344) -- Add title on "random article" link [\#1315](https://github.com/wallabag/wallabag/issues/1315) -- Get only content [\#1290](https://github.com/wallabag/wallabag/issues/1290) -- Read GET parameters in the themes [\#1289](https://github.com/wallabag/wallabag/issues/1289) -- Engine does not accept changes to the template [\#1288](https://github.com/wallabag/wallabag/issues/1288) -- unable to retrieve full-text content [\#1264](https://github.com/wallabag/wallabag/issues/1264) -- Wrong documentation URL [\#1263](https://github.com/wallabag/wallabag/issues/1263) -- Integrate freddyb/wallabag-fxos in wallabag organization [\#1259](https://github.com/wallabag/wallabag/issues/1259) -- \[v2\] Wallabag stay in English even when configured with other language [\#1256](https://github.com/wallabag/wallabag/issues/1256) -- \[v2\] Not able to export in epub/pdf/mobi [\#1255](https://github.com/wallabag/wallabag/issues/1255) -- Installation : wrong path to themes [\#1243](https://github.com/wallabag/wallabag/issues/1243) -- Add Iceblog [\#1238](https://github.com/wallabag/wallabag/issues/1238) -- Unable to retrieve content from CloudFlare Blog [\#1224](https://github.com/wallabag/wallabag/issues/1224) -- Unable to retrieve full-text content from bastamag.net [\#1223](https://github.com/wallabag/wallabag/issues/1223) -- Broken link [\#1221](https://github.com/wallabag/wallabag/issues/1221) -- http://jsforcats.com/ [\#1219](https://github.com/wallabag/wallabag/issues/1219) -- 413 Request Entity Too Large [\#1204](https://github.com/wallabag/wallabag/issues/1204) -- Revues.org [\#1201](https://github.com/wallabag/wallabag/issues/1201) -- cannot synchronize on ubuntu [\#1195](https://github.com/wallabag/wallabag/issues/1195) -- Import fails unexpectedly [\#1193](https://github.com/wallabag/wallabag/issues/1193) -- API Feature request, modify posts to performe additional processing [\#1191](https://github.com/wallabag/wallabag/issues/1191) -- Saving to pdf doesn't work because it can't download a picture. [\#1190](https://github.com/wallabag/wallabag/issues/1190) -- Error after installation in IIS - "login failed: user doesn't exist" [\#1187](https://github.com/wallabag/wallabag/issues/1187) -- unable to retrieve full-text content from bastamag.net [\#1186](https://github.com/wallabag/wallabag/issues/1186) -- Unable to retrieve content for github. [\#1185](https://github.com/wallabag/wallabag/issues/1185) -- unable to retrieve full-text content from frontburner.dmagazine.com [\#1184](https://github.com/wallabag/wallabag/issues/1184) -- unable to retrieve full-text content from www.it-connect.fr [\#1181](https://github.com/wallabag/wallabag/issues/1181) -- Trying to access wallabag for the first time on a fresh install. [\#1172](https://github.com/wallabag/wallabag/issues/1172) -- Connection time out during import [\#1171](https://github.com/wallabag/wallabag/issues/1171) -- If I install wallabag over my current wallabag like I am upgrading will it keep my data? [\#1170](https://github.com/wallabag/wallabag/issues/1170) -- Saving URL from FeedaFever [\#1169](https://github.com/wallabag/wallabag/issues/1169) -- Solarized Dark theme issue [\#1159](https://github.com/wallabag/wallabag/issues/1159) -- false parentheses [\#1157](https://github.com/wallabag/wallabag/issues/1157) -- Password is cached only for a very short time [\#1156](https://github.com/wallabag/wallabag/issues/1156) -- Could not get body text for this URL [\#1155](https://github.com/wallabag/wallabag/issues/1155) -- Random feature must fetch an article in current status [\#1153](https://github.com/wallabag/wallabag/issues/1153) -- Does this web site work for you? [\#1146](https://github.com/wallabag/wallabag/issues/1146) -- Update documentation inside wallabag [\#1141](https://github.com/wallabag/wallabag/issues/1141) -- Wallabag doesn't retrieve any text on one site [\#1140](https://github.com/wallabag/wallabag/issues/1140) -- Error when trying to save and now I can't even view articles. [\#1138](https://github.com/wallabag/wallabag/issues/1138) -- Add the ability to edit URLs [\#1136](https://github.com/wallabag/wallabag/issues/1136) -- How to backup wallabag. [\#1135](https://github.com/wallabag/wallabag/issues/1135) -- \[feature\] RSS feeds to choose from [\#1134](https://github.com/wallabag/wallabag/issues/1134) -- \[UX\] Next, previous article [\#1123](https://github.com/wallabag/wallabag/issues/1123) -- See all tags while tagging [\#1122](https://github.com/wallabag/wallabag/issues/1122) -- Update documentation with the 1.9 changes [\#1119](https://github.com/wallabag/wallabag/issues/1119) -- add site\_config [\#1117](https://github.com/wallabag/wallabag/issues/1117) -- Error while exporting to pdf. [\#1113](https://github.com/wallabag/wallabag/issues/1113) -- Wallabag using WordPress [\#1112](https://github.com/wallabag/wallabag/issues/1112) -- Courgette theme still present [\#1103](https://github.com/wallabag/wallabag/issues/1103) -- Login screen not centered [\#1099](https://github.com/wallabag/wallabag/issues/1099) -- 'X-Frame-Options' - 'DENY' [\#1097](https://github.com/wallabag/wallabag/issues/1097) -- Did you forget to select a file? Import finished. When trying to import. [\#1096](https://github.com/wallabag/wallabag/issues/1096) -- 413 Request entity too large error when importing [\#1094](https://github.com/wallabag/wallabag/issues/1094) -- How do I add new user without the interface after installation. [\#1092](https://github.com/wallabag/wallabag/issues/1092) -- How long should I expect wallabag to be down after importing? [\#1091](https://github.com/wallabag/wallabag/issues/1091) -- Almost empty articles from computerworld.com [\#1090](https://github.com/wallabag/wallabag/issues/1090) -- Empty Articles from www.theatlantic.com [\#1089](https://github.com/wallabag/wallabag/issues/1089) -- add capability to download pictures for android app [\#1085](https://github.com/wallabag/wallabag/issues/1085) -- v1.9 beta: random does not work [\#1082](https://github.com/wallabag/wallabag/issues/1082) -- Empty Articles from www.businessinsider.com [\#1073](https://github.com/wallabag/wallabag/issues/1073) -- 1.7.x to 1.8 gives blank page [\#1064](https://github.com/wallabag/wallabag/issues/1064) -- wallabag.org : 504 Gateway Time-Out : cloudflare-nginx [\#1046](https://github.com/wallabag/wallabag/issues/1046) -- Install instruction is a mess! [\#1045](https://github.com/wallabag/wallabag/issues/1045) -- Feature Request: Evernote [\#1043](https://github.com/wallabag/wallabag/issues/1043) -- Wrong display in wallabag: jungle-world.com [\#1034](https://github.com/wallabag/wallabag/issues/1034) -- Rethink installation process [\#1025](https://github.com/wallabag/wallabag/issues/1025) -- Installation instructions in wrong order [\#1024](https://github.com/wallabag/wallabag/issues/1024) -- Authentication to websites needed to fetch the text [\#1009](https://github.com/wallabag/wallabag/issues/1009) -- "Stay signed in" not working [\#1007](https://github.com/wallabag/wallabag/issues/1007) -- \(Semantic-\)Scuttle import? [\#1006](https://github.com/wallabag/wallabag/issues/1006) -- social api [\#1002](https://github.com/wallabag/wallabag/issues/1002) -- Wrong url in the iOS application [\#1001](https://github.com/wallabag/wallabag/issues/1001) -- Register with Packagist? [\#993](https://github.com/wallabag/wallabag/issues/993) -- Allow tagging when saving to wallabag [\#991](https://github.com/wallabag/wallabag/issues/991) -- Articles on quechoisir.org are empty [\#982](https://github.com/wallabag/wallabag/issues/982) -- Can not add a GitHub Gist [\#979](https://github.com/wallabag/wallabag/issues/979) -- add link to documentation on about page [\#954](https://github.com/wallabag/wallabag/issues/954) -- Check for existing accounts at install [\#952](https://github.com/wallabag/wallabag/issues/952) -- "update article" button [\#951](https://github.com/wallabag/wallabag/issues/951) -- http://wllbg.org/latest points to an old 1.8.0 instead of 1.8.1 [\#947](https://github.com/wallabag/wallabag/issues/947) -- Images are not cached/downloaded [\#946](https://github.com/wallabag/wallabag/issues/946) -- Parse 9gag posts. [\#934](https://github.com/wallabag/wallabag/issues/934) -- Wallabag and fail2ban \[Feature\] [\#931](https://github.com/wallabag/wallabag/issues/931) -- refresh untitled articles [\#930](https://github.com/wallabag/wallabag/issues/930) -- Multiple size favicons [\#929](https://github.com/wallabag/wallabag/issues/929) -- Read a random article [\#927](https://github.com/wallabag/wallabag/issues/927) -- epub generation doesn't work [\#925](https://github.com/wallabag/wallabag/issues/925) -- Change opacity when displaying search popup [\#916](https://github.com/wallabag/wallabag/issues/916) -- Export epubs via cli [\#915](https://github.com/wallabag/wallabag/issues/915) -- English translation doesn't work when en\_US is the only locale available [\#901](https://github.com/wallabag/wallabag/issues/901) -- UI text should be title case, and made lowercase with CSS [\#899](https://github.com/wallabag/wallabag/issues/899) -- When starting in list mode, switching to table mode doesn't change width of entries \(Baggy theme\) [\#896](https://github.com/wallabag/wallabag/issues/896) -- import chromium / mozilla / firefox bookmarks.html files \(\/\ based\) [\#892](https://github.com/wallabag/wallabag/issues/892) -- hide database password [\#891](https://github.com/wallabag/wallabag/issues/891) -- Add "by estimated reading time" sort [\#876](https://github.com/wallabag/wallabag/issues/876) -- Diaspora sharing button [\#872](https://github.com/wallabag/wallabag/issues/872) -- Not Parse site [\#866](https://github.com/wallabag/wallabag/issues/866) -- Adding Articles via URL [\#862](https://github.com/wallabag/wallabag/issues/862) -- Clean up code to respect guidelines [\#852](https://github.com/wallabag/wallabag/issues/852) -- Re-focusing the text input for "search" [\#831](https://github.com/wallabag/wallabag/issues/831) -- This page is not retrieved fully [\#828](https://github.com/wallabag/wallabag/issues/828) -- Wallabag seems to download doubleclick ad images [\#827](https://github.com/wallabag/wallabag/issues/827) -- Problem retrieving articles from www.wordyard.com [\#826](https://github.com/wallabag/wallabag/issues/826) -- Tags not imported [\#823](https://github.com/wallabag/wallabag/issues/823) -- Not syncing anything [\#817](https://github.com/wallabag/wallabag/issues/817) -- This page does not work [\#810](https://github.com/wallabag/wallabag/issues/810) -- Post pop-up too small [\#798](https://github.com/wallabag/wallabag/issues/798) -- This page is fetched partially [\#797](https://github.com/wallabag/wallabag/issues/797) -- Upgrade to 1.7.1 failed [\#774](https://github.com/wallabag/wallabag/issues/774) -- Permissions on "db" should not be checked if SQLite isn't used [\#773](https://github.com/wallabag/wallabag/issues/773) -- Make a class for e-books produced [\#772](https://github.com/wallabag/wallabag/issues/772) -- Baggy theme: Show 12 articles per page to save space [\#760](https://github.com/wallabag/wallabag/issues/760) -- Problem sending pages to wallabag [\#758](https://github.com/wallabag/wallabag/issues/758) -- Caching images? [\#757](https://github.com/wallabag/wallabag/issues/757) -- Big refactoring [\#755](https://github.com/wallabag/wallabag/issues/755) -- Remove useless code [\#753](https://github.com/wallabag/wallabag/issues/753) -- FR: Editing Titles [\#747](https://github.com/wallabag/wallabag/issues/747) -- \[Android\] Pas d'accès aux Settings sur Galaxy Tab Pro [\#746](https://github.com/wallabag/wallabag/issues/746) -- Rules for automatic tagging [\#745](https://github.com/wallabag/wallabag/issues/745) -- wallabag breaks raw text formatting [\#744](https://github.com/wallabag/wallabag/issues/744) -- Send article to wallabag via email [\#735](https://github.com/wallabag/wallabag/issues/735) -- retour a la page [\#734](https://github.com/wallabag/wallabag/issues/734) -- Chrome extension link is broken [\#732](https://github.com/wallabag/wallabag/issues/732) -- RSS feed XML error [\#731](https://github.com/wallabag/wallabag/issues/731) -- Wallabag silently fails on pocket import [\#723](https://github.com/wallabag/wallabag/issues/723) -- Problems with feeds [\#721](https://github.com/wallabag/wallabag/issues/721) -- Save a link fails - Untitled [\#714](https://github.com/wallabag/wallabag/issues/714) -- Stay in Archive after deleting an article in the archive [\#704](https://github.com/wallabag/wallabag/issues/704) -- wallabag uses an old version of TLS [\#702](https://github.com/wallabag/wallabag/issues/702) -- Locally hosted Wallabag behind proxy [\#698](https://github.com/wallabag/wallabag/issues/698) -- Migrate some settings from config file to database [\#686](https://github.com/wallabag/wallabag/issues/686) -- Show number of articles in categories, and on tag pages [\#684](https://github.com/wallabag/wallabag/issues/684) -- Rename « home » into « unread » [\#683](https://github.com/wallabag/wallabag/issues/683) -- Support TED videos [\#676](https://github.com/wallabag/wallabag/issues/676) -- Please add a way to disable google fonts [\#674](https://github.com/wallabag/wallabag/issues/674) -- Feature request : Editing article titles [\#672](https://github.com/wallabag/wallabag/issues/672) -- Add URL from e-mail - Feature Request [\#669](https://github.com/wallabag/wallabag/issues/669) -- PHP - Warning - 3rdparty HTMLpurifier [\#666](https://github.com/wallabag/wallabag/issues/666) -- \[ideas\] how to submit a bug [\#662](https://github.com/wallabag/wallabag/issues/662) -- JavaScript login solution for wallabag v1 [\#656](https://github.com/wallabag/wallabag/issues/656) -- "Stay signed in" doesn't work [\#654](https://github.com/wallabag/wallabag/issues/654) -- Wallabag on postgresql fails silently [\#651](https://github.com/wallabag/wallabag/issues/651) -- Create a new user [\#649](https://github.com/wallabag/wallabag/issues/649) -- Solarized dark theme is monochrome [\#645](https://github.com/wallabag/wallabag/issues/645) -- Improve error management [\#644](https://github.com/wallabag/wallabag/issues/644) -- Save search as new tag [\#638](https://github.com/wallabag/wallabag/issues/638) -- RSS feeds don't work [\#631](https://github.com/wallabag/wallabag/issues/631) -- Tags tab empty on new install, explanation would be helpful [\#624](https://github.com/wallabag/wallabag/issues/624) -- Print friendly formatting? [\#617](https://github.com/wallabag/wallabag/issues/617) -- Paypal? [\#616](https://github.com/wallabag/wallabag/issues/616) -- Can't sync articles with the android app [\#608](https://github.com/wallabag/wallabag/issues/608) -- \[Feature Request\] Mobile offline sync support [\#607](https://github.com/wallabag/wallabag/issues/607) -- The rss feed isn't working on version 1.6.0 [\#604](https://github.com/wallabag/wallabag/issues/604) -- Update links to 3rd party applications on courgette theme [\#600](https://github.com/wallabag/wallabag/issues/600) -- Link to the "Update"-documentation in annocements [\#597](https://github.com/wallabag/wallabag/issues/597) -- "Cannot redeclare autoload\(\)" error when importing from Readability [\#575](https://github.com/wallabag/wallabag/issues/575) -- Link to F-Droidpoints to old app [\#574](https://github.com/wallabag/wallabag/issues/574) -- \[Suggestion\] On main page, choose X articles / page [\#573](https://github.com/wallabag/wallabag/issues/573) -- Export / Import : suggestions & problems [\#571](https://github.com/wallabag/wallabag/issues/571) -- \[Bug\] MySQL tables have NO prefix ! [\#569](https://github.com/wallabag/wallabag/issues/569) -- \[Bug\] Only Baggy theme have cron import instructions [\#559](https://github.com/wallabag/wallabag/issues/559) -- FeedWriter.php & ATOM [\#550](https://github.com/wallabag/wallabag/issues/550) -- \[Cron ?\] Import [\#545](https://github.com/wallabag/wallabag/issues/545) -- When tagging, recommend already used tags [\#542](https://github.com/wallabag/wallabag/issues/542) -- Close "save a link" popup without using "esc" key [\#541](https://github.com/wallabag/wallabag/issues/541) -- \[Suggestion\] bookmarklet : retour à la page d'origine [\#539](https://github.com/wallabag/wallabag/issues/539) -- Easy setup for Apps [\#538](https://github.com/wallabag/wallabag/issues/538) -- Hide content in list view \(with baggy theme\) [\#525](https://github.com/wallabag/wallabag/issues/525) -- Firefox OS app [\#521](https://github.com/wallabag/wallabag/issues/521) -- Search engine [\#520](https://github.com/wallabag/wallabag/issues/520) -- \[Bug\] Saving link menu item : javascript problem [\#516](https://github.com/wallabag/wallabag/issues/516) -- Use new branches [\#514](https://github.com/wallabag/wallabag/issues/514) -- sticky article toolbar [\#511](https://github.com/wallabag/wallabag/issues/511) -- Pagination sur le theme baggy [\#507](https://github.com/wallabag/wallabag/issues/507) -- Update Firefox extension [\#506](https://github.com/wallabag/wallabag/issues/506) -- wallabag a link in wallabag [\#505](https://github.com/wallabag/wallabag/issues/505) -- Empty cache after changing theme [\#503](https://github.com/wallabag/wallabag/issues/503) -- After token generation, don't redirect to home screen [\#491](https://github.com/wallabag/wallabag/issues/491) -- \[theme\] \[baggy\] Get an actual flattr icon [\#490](https://github.com/wallabag/wallabag/issues/490) -- \[Trad/Transl\] FR [\#487](https://github.com/wallabag/wallabag/issues/487) -- Baggy theme navigation bug [\#485](https://github.com/wallabag/wallabag/issues/485) -- Update logo [\#484](https://github.com/wallabag/wallabag/issues/484) -- display language name in config page [\#480](https://github.com/wallabag/wallabag/issues/480) -- \[Feature\] View as list [\#479](https://github.com/wallabag/wallabag/issues/479) -- List of existing Tags [\#477](https://github.com/wallabag/wallabag/issues/477) -- Missing pagination on tag page [\#476](https://github.com/wallabag/wallabag/issues/476) -- One tag displayed multiple times on tags page [\#474](https://github.com/wallabag/wallabag/issues/474) -- \[Changement de nom\] Anciens thèmes [\#471](https://github.com/wallabag/wallabag/issues/471) -- Make the installation more user-friendly [\#466](https://github.com/wallabag/wallabag/issues/466) -- add Slovenian language [\#462](https://github.com/wallabag/wallabag/issues/462) -- move the "save a link" field on homepage [\#461](https://github.com/wallabag/wallabag/issues/461) -- Pocket import does not support tag ? [\#457](https://github.com/wallabag/wallabag/issues/457) -- \[Suggestion\] Forcer la vérif. de version [\#455](https://github.com/wallabag/wallabag/issues/455) -- \[Suggestion\] Bouton pour vider le cache [\#454](https://github.com/wallabag/wallabag/issues/454) -- change poche folder into wallabag folder [\#449](https://github.com/wallabag/wallabag/issues/449) -- new default content [\#445](https://github.com/wallabag/wallabag/issues/445) -- \[Feature request\] Use QR codes to set the mobile applications up [\#432](https://github.com/wallabag/wallabag/issues/432) -- Update the demo [\#430](https://github.com/wallabag/wallabag/issues/430) -- Migration from third services - Framabag [\#426](https://github.com/wallabag/wallabag/issues/426) -- Error when installing: Fatal error: Call to a member function render\(\) on a non-object in [\#423](https://github.com/wallabag/wallabag/issues/423) -- Add undelete [\#422](https://github.com/wallabag/wallabag/issues/422) -- Tables content in solarized dark theme unreadable [\#421](https://github.com/wallabag/wallabag/issues/421) -- 1.3.0: Pulished feeds by tt-rss will be empty in wallabag [\#420](https://github.com/wallabag/wallabag/issues/420) -- \[1.3.1\] Poche Call to a member function render\(\) on a non-object [\#399](https://github.com/wallabag/wallabag/issues/399) -- Display link to poche\_compatibility\_test at installation [\#392](https://github.com/wallabag/wallabag/issues/392) -- Empty article title \(blank title tag\) [\#389](https://github.com/wallabag/wallabag/issues/389) -- Move all Unread articles to Archive [\#385](https://github.com/wallabag/wallabag/issues/385) -- Problem with fresh install [\#383](https://github.com/wallabag/wallabag/issues/383) -- Help for plugin [\#378](https://github.com/wallabag/wallabag/issues/378) -- Vector version of logo? [\#372](https://github.com/wallabag/wallabag/issues/372) -- \[v1\] improve import system [\#365](https://github.com/wallabag/wallabag/issues/365) -- offline access to list possible? [\#361](https://github.com/wallabag/wallabag/issues/361) -- Template tpl inachevé empêche le retour au thème par défaut [\#355](https://github.com/wallabag/wallabag/issues/355) -- Actions icons not displayed with default theme [\#346](https://github.com/wallabag/wallabag/issues/346) -- \[Feature\] Article length [\#345](https://github.com/wallabag/wallabag/issues/345) -- FQDN with non-standard ports broken \(testet with PHP's built-in web server\) [\#344](https://github.com/wallabag/wallabag/issues/344) -- \[v1\] update translation files [\#340](https://github.com/wallabag/wallabag/issues/340) -- \[Feature\] Custom Parse Scripts [\#335](https://github.com/wallabag/wallabag/issues/335) -- Wrong current version [\#330](https://github.com/wallabag/wallabag/issues/330) -- Sharing on self hosted social networks [\#327](https://github.com/wallabag/wallabag/issues/327) -- "Stay signed in" doesn't work on Poche Hosting / Chrome [\#325](https://github.com/wallabag/wallabag/issues/325) -- pouvoir taguer ses posts - Tag posts [\#319](https://github.com/wallabag/wallabag/issues/319) -- RSS/atom feed of unread items [\#318](https://github.com/wallabag/wallabag/issues/318) -- \[v2\] enhancement add Russian locale [\#314](https://github.com/wallabag/wallabag/issues/314) -- \#article\_toolbar in hardcopy printouts must die [\#311](https://github.com/wallabag/wallabag/issues/311) -- ru\_RU.utf8.po locale proposal [\#308](https://github.com/wallabag/wallabag/issues/308) -- No icons visible in dark theme - new set proposed. [\#306](https://github.com/wallabag/wallabag/issues/306) -- \[v2\] Mark an arcticle as 'read' on the actual arcticle page [\#305](https://github.com/wallabag/wallabag/issues/305) -- Always wants me to login [\#303](https://github.com/wallabag/wallabag/issues/303) -- Créer son utilisateur, howto? [\#298](https://github.com/wallabag/wallabag/issues/298) -- Rationnaliser la doc [\#297](https://github.com/wallabag/wallabag/issues/297) -- Can't import from Pocket [\#295](https://github.com/wallabag/wallabag/issues/295) -- Utilisation de librairies locales [\#293](https://github.com/wallabag/wallabag/issues/293) -- API doesn't feech content - L'API ne récupère pas le contenu [\#292](https://github.com/wallabag/wallabag/issues/292) -- on hosting platform : login and headers already sent warning [\#288](https://github.com/wallabag/wallabag/issues/288) -- Fix German Translation [\#286](https://github.com/wallabag/wallabag/issues/286) -- Increase or decrease font size [\#282](https://github.com/wallabag/wallabag/issues/282) -- mysql collation not UTF8 [\#279](https://github.com/wallabag/wallabag/issues/279) -- longer lasting "Stay signed in" [\#277](https://github.com/wallabag/wallabag/issues/277) -- Mobile view of a rue89 website doesnt work [\#276](https://github.com/wallabag/wallabag/issues/276) -- czech translation [\#271](https://github.com/wallabag/wallabag/issues/271) -- move POCHE\_VERSION in index.php [\#268](https://github.com/wallabag/wallabag/issues/268) -- make installation steps easier [\#266](https://github.com/wallabag/wallabag/issues/266) -- Searching? [\#265](https://github.com/wallabag/wallabag/issues/265) -- Themes link is broken [\#260](https://github.com/wallabag/wallabag/issues/260) -- Please add GPG signature to verify before installing Poche [\#257](https://github.com/wallabag/wallabag/issues/257) -- Être au niveau d'Evernote Web Clipper [\#252](https://github.com/wallabag/wallabag/issues/252) -- Install and login failure using MAMP [\#251](https://github.com/wallabag/wallabag/issues/251) -- Firefox addon not compatible with version 24 [\#249](https://github.com/wallabag/wallabag/issues/249) -- just created my account but can't login [\#247](https://github.com/wallabag/wallabag/issues/247) -- parse a SPIP website [\#241](https://github.com/wallabag/wallabag/issues/241) -- Login page URL link on homepage [\#237](https://github.com/wallabag/wallabag/issues/237) -- Strange login problem on development environment [\#232](https://github.com/wallabag/wallabag/issues/232) -- back button on bottom right of the article view [\#231](https://github.com/wallabag/wallabag/issues/231) -- 1.0-beta5: Missing themes into themes folder [\#228](https://github.com/wallabag/wallabag/issues/228) -- Paging is not filtered [\#223](https://github.com/wallabag/wallabag/issues/223) -- Make a Docker image for easy install [\#220](https://github.com/wallabag/wallabag/issues/220) -- tests with behat [\#217](https://github.com/wallabag/wallabag/issues/217) -- Change language [\#215](https://github.com/wallabag/wallabag/issues/215) -- Unable to add urls to view.twig [\#213](https://github.com/wallabag/wallabag/issues/213) -- Enhancement : Share on android through API [\#207](https://github.com/wallabag/wallabag/issues/207) -- no content displayed [\#206](https://github.com/wallabag/wallabag/issues/206) -- Redirection login ? [\#204](https://github.com/wallabag/wallabag/issues/204) -- Impossible de parser une documentation Sphinx [\#203](https://github.com/wallabag/wallabag/issues/203) -- Don'ty working when download pictures is enabled [\#202](https://github.com/wallabag/wallabag/issues/202) -- Export articles as PDF \(or plain text\) [\#198](https://github.com/wallabag/wallabag/issues/198) -- Use ajax to perform actions on an article [\#197](https://github.com/wallabag/wallabag/issues/197) -- Add a link to add an URL directly from Poche [\#196](https://github.com/wallabag/wallabag/issues/196) -- Error : SQLite [\#195](https://github.com/wallabag/wallabag/issues/195) -- Try to keep flattr links [\#194](https://github.com/wallabag/wallabag/issues/194) -- PHP Fatal error: Uncaught exception 'PDOException' [\#193](https://github.com/wallabag/wallabag/issues/193) -- update app.inthepoche.com [\#192](https://github.com/wallabag/wallabag/issues/192) -- déplacer la config des sites dans un autre projet et faire un submodule [\#190](https://github.com/wallabag/wallabag/issues/190) -- BFMTV.com article appears wrong in poche [\#189](https://github.com/wallabag/wallabag/issues/189) -- User documentation [\#187](https://github.com/wallabag/wallabag/issues/187) -- Image downloader feature [\#185](https://github.com/wallabag/wallabag/issues/185) -- website: link to github [\#184](https://github.com/wallabag/wallabag/issues/184) -- Language declaration is missing [\#183](https://github.com/wallabag/wallabag/issues/183) -- about license [\#179](https://github.com/wallabag/wallabag/issues/179) -- Désactiver authentification [\#178](https://github.com/wallabag/wallabag/issues/178) -- about links which are bad displayed [\#176](https://github.com/wallabag/wallabag/issues/176) -- Désactiver les errerurs PHP sur app.inthepoche.com [\#172](https://github.com/wallabag/wallabag/issues/172) -- links to android / chrome / firefox apps [\#162](https://github.com/wallabag/wallabag/issues/162) -- choose a theme from config screen [\#161](https://github.com/wallabag/wallabag/issues/161) -- Fix markup in poche pages [\#158](https://github.com/wallabag/wallabag/issues/158) -- Add a print stylesheet [\#157](https://github.com/wallabag/wallabag/issues/157) -- Je ne peux pas ajouter certaines URL [\#152](https://github.com/wallabag/wallabag/issues/152) -- Add support of text files by setting a default title. [\#150](https://github.com/wallabag/wallabag/issues/150) -- myconfig.inc.php missing in beta3 release [\#145](https://github.com/wallabag/wallabag/issues/145) -- Poche should not reimport article if already saved [\#144](https://github.com/wallabag/wallabag/issues/144) -- Wrong article preview [\#139](https://github.com/wallabag/wallabag/issues/139) -- Mixed content alert in HTTPS [\#137](https://github.com/wallabag/wallabag/issues/137) -- use Font Awesome [\#133](https://github.com/wallabag/wallabag/issues/133) -- config/update poche: wrong last version? [\#131](https://github.com/wallabag/wallabag/issues/131) -- ne pas indexer poche dans les moteurs de recherche [\#130](https://github.com/wallabag/wallabag/issues/130) -- Toggle Mark as read prevents Go home [\#128](https://github.com/wallabag/wallabag/issues/128) -- changer la classe de Session [\#127](https://github.com/wallabag/wallabag/issues/127) -- vider le cache depuis la config [\#122](https://github.com/wallabag/wallabag/issues/122) -- lien \#top qui suit tout l'article [\#120](https://github.com/wallabag/wallabag/issues/120) -- génération du salt à l'installation [\#119](https://github.com/wallabag/wallabag/issues/119) -- temps de lecture [\#113](https://github.com/wallabag/wallabag/issues/113) -- relier poche à shaarli [\#112](https://github.com/wallabag/wallabag/issues/112) -- Please tag release 0.1-beta-1 [\#106](https://github.com/wallabag/wallabag/issues/106) -- Scroll position save / sync [\#105](https://github.com/wallabag/wallabag/issues/105) -- Demo URL not working [\#102](https://github.com/wallabag/wallabag/issues/102) -- Partager vers twitter [\#101](https://github.com/wallabag/wallabag/issues/101) -- instapaper import [\#100](https://github.com/wallabag/wallabag/issues/100) -- Icône pour le bookmarklet [\#94](https://github.com/wallabag/wallabag/issues/94) -- Add a button to go back to the beginning of the article [\#92](https://github.com/wallabag/wallabag/issues/92) -- pouvoir signaler qu'un lien a été mal parsé [\#80](https://github.com/wallabag/wallabag/issues/80) -- Gestion d'export PDF pour lecture hors ligne [\#77](https://github.com/wallabag/wallabag/issues/77) -- Multi user enhancement for the future [\#71](https://github.com/wallabag/wallabag/issues/71) -- login/password pour la démo ? [\#70](https://github.com/wallabag/wallabag/issues/70) -- indiquer que poche a été mis à jour [\#69](https://github.com/wallabag/wallabag/issues/69) -- stockage par fichier [\#68](https://github.com/wallabag/wallabag/issues/68) -- focus au champ login [\#65](https://github.com/wallabag/wallabag/issues/65) -- nettoyage inc/mytool [\#64](https://github.com/wallabag/wallabag/issues/64) -- Login System - security [\#60](https://github.com/wallabag/wallabag/issues/60) -- supprimer process.php [\#58](https://github.com/wallabag/wallabag/issues/58) -- site web : fr / gb [\#57](https://github.com/wallabag/wallabag/issues/57) -- site web : détailler fonctionnalités poche [\#56](https://github.com/wallabag/wallabag/issues/56) -- export [\#55](https://github.com/wallabag/wallabag/issues/55) -- corriger la récupération de l'id [\#54](https://github.com/wallabag/wallabag/issues/54) -- L'URL du bookmarklet contient "https" alors que ma poche est en http [\#49](https://github.com/wallabag/wallabag/issues/49) -- import depuis readability [\#48](https://github.com/wallabag/wallabag/issues/48) -- extension firefox [\#43](https://github.com/wallabag/wallabag/issues/43) -- avoir une liste au format "list" et non pas au format "square icone" [\#42](https://github.com/wallabag/wallabag/issues/42) -- bug css affichage liens sur la page view [\#39](https://github.com/wallabag/wallabag/issues/39) -- ajouter un lien depuis poche sans le bookmarklet [\#37](https://github.com/wallabag/wallabag/issues/37) -- dark version / light version [\#36](https://github.com/wallabag/wallabag/issues/36) -- vérification du traitement ajax [\#35](https://github.com/wallabag/wallabag/issues/35) -- les éléments s'affichent d'abord verticalement puis horizontalement, donc quand on supprime, l'affichage ne se fait pas comme il faudrait [\#34](https://github.com/wallabag/wallabag/issues/34) -- suppression et ajout d'un lien : ne plus passer en get comme actuellement [\#33](https://github.com/wallabag/wallabag/issues/33) -- Pouvoir situer sur quelle page on se trouve [\#30](https://github.com/wallabag/wallabag/issues/30) -- embarquer jquery [\#29](https://github.com/wallabag/wallabag/issues/29) -- pouvoir mettre un lien en fav ou considéré comme lu depuis le lien ouvert [\#28](https://github.com/wallabag/wallabag/issues/28) -- site web [\#27](https://github.com/wallabag/wallabag/issues/27) -- appli android [\#26](https://github.com/wallabag/wallabag/issues/26) -- modifier les liens d'outils en formulaire [\#25](https://github.com/wallabag/wallabag/issues/25) -- revoir système de cache [\#24](https://github.com/wallabag/wallabag/issues/24) -- compression css [\#23](https://github.com/wallabag/wallabag/issues/23) -- ajouter un lien "retour à l'accueil" en pied de page d'un article [\#22](https://github.com/wallabag/wallabag/issues/22) -- adapter hauteur des div sur la même ligne [\#21](https://github.com/wallabag/wallabag/issues/21) -- Titres trop longs [\#20](https://github.com/wallabag/wallabag/issues/20) -- stockage du contenu des pages lors de l'ajout [\#17](https://github.com/wallabag/wallabag/issues/17) -- traiter les variables [\#15](https://github.com/wallabag/wallabag/issues/15) -- gestion des erreurs sqlite [\#14](https://github.com/wallabag/wallabag/issues/14) -- tri des liens [\#13](https://github.com/wallabag/wallabag/issues/13) -- aligner verticalement les icones d'action [\#12](https://github.com/wallabag/wallabag/issues/12) -- améliorer présentation d'un article [\#11](https://github.com/wallabag/wallabag/issues/11) -- améliorer affichage liens [\#10](https://github.com/wallabag/wallabag/issues/10) -- confirmation lors d'une suppression [\#8](https://github.com/wallabag/wallabag/issues/8) -- édition d'un lien poché [\#7](https://github.com/wallabag/wallabag/issues/7) -- utm\_source, utm\_medium & utm\_campaign [\#6](https://github.com/wallabag/wallabag/issues/6) -- ajouter système de connexion [\#4](https://github.com/wallabag/wallabag/issues/4) -- import depuis pocket [\#3](https://github.com/wallabag/wallabag/issues/3) -- icones [\#2](https://github.com/wallabag/wallabag/issues/2) -- Empêcher le téléchargement du fichier poche.sqlite [\#1](https://github.com/wallabag/wallabag/issues/1) -- \[v2\] Filter on status entry \(unread/archive/starred\) [\#1382](https://github.com/wallabag/wallabag/issues/1382) -- \[v2\] Enhance tags form on entry view [\#1378](https://github.com/wallabag/wallabag/issues/1378) -- Display issues in config screen [\#1371](https://github.com/wallabag/wallabag/issues/1371) -- \[v2\] back to good section while updating configuration [\#1368](https://github.com/wallabag/wallabag/issues/1368) -- Display problem if domain name is too big [\#1357](https://github.com/wallabag/wallabag/issues/1357) -- Cleanup in composer.json [\#1356](https://github.com/wallabag/wallabag/issues/1356) -- Add a bar on each page with alpha message [\#1332](https://github.com/wallabag/wallabag/issues/1332) -- do not display pagination when only 1 page [\#1324](https://github.com/wallabag/wallabag/issues/1324) -- \[v2\] Fix display for "new entry" form [\#1321](https://github.com/wallabag/wallabag/issues/1321) -- \[v2\] Design for filters [\#1320](https://github.com/wallabag/wallabag/issues/1320) -- \[v2\] \[material theme\] Increase max-width for comfort [\#1314](https://github.com/wallabag/wallabag/issues/1314) -- \[v2\] Redirect to the good URL after login [\#1311](https://github.com/wallabag/wallabag/issues/1311) -- \[v2\] \[material theme\] Autofocus when clicking on search button [\#1310](https://github.com/wallabag/wallabag/issues/1310) -- Display progress bar at the top of the page? [\#1308](https://github.com/wallabag/wallabag/issues/1308) -- \[v2\] Maintain baggy for wallabag v2? [\#1305](https://github.com/wallabag/wallabag/issues/1305) -- \[v2\] On "forgot-password" page, add a link to return to login form [\#1303](https://github.com/wallabag/wallabag/issues/1303) -- \[v2\] "stay connected" checkbox [\#1302](https://github.com/wallabag/wallabag/issues/1302) -- Change "send" button on config page [\#1299](https://github.com/wallabag/wallabag/issues/1299) -- Some bugs with new Materiel theme [\#1282](https://github.com/wallabag/wallabag/issues/1282) -- Notes about material theme [\#1281](https://github.com/wallabag/wallabag/issues/1281) -- Implement graby into wallabag v2 [\#1262](https://github.com/wallabag/wallabag/issues/1262) -- Display hostname in full article view [\#1177](https://github.com/wallabag/wallabag/issues/1177) -- \[v2\] API: Remove the user property from the entries [\#1176](https://github.com/wallabag/wallabag/issues/1176) -- \[v2\] API: Bad request [\#1168](https://github.com/wallabag/wallabag/issues/1168) -- Project ideas [\#1088](https://github.com/wallabag/wallabag/issues/1088) -- v2: bug when adding link [\#1057](https://github.com/wallabag/wallabag/issues/1057) -- Add note to articles [\#1038](https://github.com/wallabag/wallabag/issues/1038) -- RSS Enhancements [\#1000](https://github.com/wallabag/wallabag/issues/1000) -- Search by same domain name [\#981](https://github.com/wallabag/wallabag/issues/981) -- Client desktop ? [\#978](https://github.com/wallabag/wallabag/issues/978) -- Preview Thumbnail in Article for Web and Apps [\#840](https://github.com/wallabag/wallabag/issues/840) -- Edit user profile [\#800](https://github.com/wallabag/wallabag/issues/800) -- Prefix for database [\#799](https://github.com/wallabag/wallabag/issues/799) -- Tag links and edit name when added to wallabag via bookmarklet [\#749](https://github.com/wallabag/wallabag/issues/749) -- New config screen [\#673](https://github.com/wallabag/wallabag/issues/673) -- wallabag's coding style [\#661](https://github.com/wallabag/wallabag/issues/661) -- Display better title than "Untitled" [\#564](https://github.com/wallabag/wallabag/issues/564) -- SendToReader plugin [\#558](https://github.com/wallabag/wallabag/issues/558) -- justification [\#554](https://github.com/wallabag/wallabag/issues/554) -- \[Feature request\] Support login via mozilla persona [\#431](https://github.com/wallabag/wallabag/issues/431) -- Android app: support for self-signed certificate [\#418](https://github.com/wallabag/wallabag/issues/418) -- Android app: make share intent add site to app, not launch web app [\#412](https://github.com/wallabag/wallabag/issues/412) -- Chrome extension: Easier setup [\#409](https://github.com/wallabag/wallabag/issues/409) -- Chrome extension: More easily installable / findable [\#407](https://github.com/wallabag/wallabag/issues/407) -- Chrome extension: »Access my data on googleapis.com«? [\#406](https://github.com/wallabag/wallabag/issues/406) -- Android app: no means to copy [\#405](https://github.com/wallabag/wallabag/issues/405) -- Android app: automatic sync [\#404](https://github.com/wallabag/wallabag/issues/404) -- Android app: outdated interface [\#403](https://github.com/wallabag/wallabag/issues/403) -- \[v2\] make each entry as public [\#398](https://github.com/wallabag/wallabag/issues/398) -- Find articles with reading time = X [\#393](https://github.com/wallabag/wallabag/issues/393) -- Barre de recherche. [\#369](https://github.com/wallabag/wallabag/issues/369) -- Great App!! But three features missing. [\#342](https://github.com/wallabag/wallabag/issues/342) -- \[v2\] Autocomplete tags [\#339](https://github.com/wallabag/wallabag/issues/339) -- \[v2\] Separate tags by commas and not by spaces [\#338](https://github.com/wallabag/wallabag/issues/338) -- \[Feature\] Multiple Lists [\#334](https://github.com/wallabag/wallabag/issues/334) -- \[Feature\] IOS application [\#333](https://github.com/wallabag/wallabag/issues/333) -- Add link by shell script [\#323](https://github.com/wallabag/wallabag/issues/323) -- twitter integration [\#322](https://github.com/wallabag/wallabag/issues/322) -- order posts - classer les post [\#320](https://github.com/wallabag/wallabag/issues/320) -- \[v2\] Visited links are not visible in top menu, midnight theme [\#312](https://github.com/wallabag/wallabag/issues/312) -- Increase max-width [\#301](https://github.com/wallabag/wallabag/issues/301) -- \[v2\] RSS Feeds show 'Access Forbidden' error [\#300](https://github.com/wallabag/wallabag/issues/300) -- Avoir la possibilité de mettre la barre d'action en haut ou en bas [\#296](https://github.com/wallabag/wallabag/issues/296) -- change email from config screen [\#267](https://github.com/wallabag/wallabag/issues/267) -- Text to Speech \(android\) [\#263](https://github.com/wallabag/wallabag/issues/263) -- Multi-user with LDAP backend or at least REMOTE header [\#235](https://github.com/wallabag/wallabag/issues/235) -- Edit title [\#218](https://github.com/wallabag/wallabag/issues/218) -- send title & content to poche directly [\#211](https://github.com/wallabag/wallabag/issues/211) -- \[v2\] Multipage Article aren't rendered right [\#143](https://github.com/wallabag/wallabag/issues/143) -- fichiers l10n [\#134](https://github.com/wallabag/wallabag/issues/134) -- stocker date de "pochage" [\#129](https://github.com/wallabag/wallabag/issues/129) -- script de migration entre mysql \<-\> pgsql \<-\> sqlite [\#126](https://github.com/wallabag/wallabag/issues/126) -- préfixer les tables en base [\#124](https://github.com/wallabag/wallabag/issues/124) -- pouvoir annuler la suppression [\#118](https://github.com/wallabag/wallabag/issues/118) -- stockage offline [\#117](https://github.com/wallabag/wallabag/issues/117) -- lost password [\#108](https://github.com/wallabag/wallabag/issues/108) -- Have more categories than Archive [\#99](https://github.com/wallabag/wallabag/issues/99) -- minify js / css [\#96](https://github.com/wallabag/wallabag/issues/96) -- API [\#31](https://github.com/wallabag/wallabag/issues/31) - **Merged pull requests:** - improved display pictures [\#1420](https://github.com/wallabag/wallabag/pull/1420) ([modos189](https://github.com/modos189)) @@ -1776,6 +506,7 @@ - 1.9.1 [\#1267](https://github.com/wallabag/wallabag/pull/1267) ([nicosomb](https://github.com/nicosomb)) - Fix site config [\#1266](https://github.com/wallabag/wallabag/pull/1266) ([nicosomb](https://github.com/nicosomb)) - Dev autoclose [\#1257](https://github.com/wallabag/wallabag/pull/1257) ([freddyb](https://github.com/freddyb)) +- fix security bug with PHP\_AUTH\_USER [\#1252](https://github.com/wallabag/wallabag/pull/1252) ([tcitworld](https://github.com/tcitworld)) - fix link to documentation [\#1251](https://github.com/wallabag/wallabag/pull/1251) ([axelsimon](https://github.com/axelsimon)) - Revert "fix link to save your first article" [\#1248](https://github.com/wallabag/wallabag/pull/1248) ([tcitworld](https://github.com/tcitworld)) - fix link to save your first article [\#1247](https://github.com/wallabag/wallabag/pull/1247) ([axelsimon](https://github.com/axelsimon)) @@ -1808,6 +539,7 @@ - Update german localisation. [\#1031](https://github.com/wallabag/wallabag/pull/1031) ([jlnostr](https://github.com/jlnostr)) - Revert "Update german localisation." [\#1030](https://github.com/wallabag/wallabag/pull/1030) ([tcitworld](https://github.com/tcitworld)) - Update german localisation. [\#1028](https://github.com/wallabag/wallabag/pull/1028) ([jlnostr](https://github.com/jlnostr)) +- New installation process [\#1026](https://github.com/wallabag/wallabag/pull/1026) ([tcitworld](https://github.com/tcitworld)) - Send email at registration [\#1022](https://github.com/wallabag/wallabag/pull/1022) ([tcitworld](https://github.com/tcitworld)) - working on registration support [\#1021](https://github.com/wallabag/wallabag/pull/1021) ([tcitworld](https://github.com/tcitworld)) - Revert "URL encode 'via @wallabagapp' email body" [\#1019](https://github.com/wallabag/wallabag/pull/1019) ([nicosomb](https://github.com/nicosomb)) @@ -1873,6 +605,7 @@ - Fix for \#797 [\#853](https://github.com/wallabag/wallabag/pull/853) ([tcitworld](https://github.com/tcitworld)) - Refactor [\#851](https://github.com/wallabag/wallabag/pull/851) ([tcitworld](https://github.com/tcitworld)) - Add support for custom http port [\#848](https://github.com/wallabag/wallabag/pull/848) ([11mariom](https://github.com/11mariom)) +- Fix the PostgreSQL install errors [\#845](https://github.com/wallabag/wallabag/pull/845) ([rros](https://github.com/rros)) - Convert the MySQL charset to utf8mb4 to support the full range of unicode [\#843](https://github.com/wallabag/wallabag/pull/843) ([rros](https://github.com/rros)) - Fix \#766 - GD detection [\#841](https://github.com/wallabag/wallabag/pull/841) ([tcitworld](https://github.com/tcitworld)) - fix pictures display when DOWNLOAD\_PICTURES is enabled [\#839](https://github.com/wallabag/wallabag/pull/839) ([tcitworld](https://github.com/tcitworld)) @@ -1889,9 +622,13 @@ - Add data for mysql installation, see \#624 [\#787](https://github.com/wallabag/wallabag/pull/787) ([nicosomb](https://github.com/nicosomb)) - highlight.js library added to highlight programming code examples in article view [\#786](https://github.com/wallabag/wallabag/pull/786) ([mariroz](https://github.com/mariroz)) - change default pagination, set it to 12, to have a nice baggy display [\#785](https://github.com/wallabag/wallabag/pull/785) ([nicosomb](https://github.com/nicosomb)) +- fix display of 'Done' message when we add a link from 'save a link' item [\#784](https://github.com/wallabag/wallabag/pull/784) ([nicosomb](https://github.com/nicosomb)) +- \#763 fix to display the login successful message with the translation [\#783](https://github.com/wallabag/wallabag/pull/783) ([nicosomb](https://github.com/nicosomb)) +- Fix \#776 [\#782](https://github.com/wallabag/wallabag/pull/782) ([nicosomb](https://github.com/nicosomb)) - Proposed fix for \#773 [\#780](https://github.com/wallabag/wallabag/pull/780) ([anno1337](https://github.com/anno1337)) - Updated polish translation [\#777](https://github.com/wallabag/wallabag/pull/777) ([skibbipl](https://github.com/skibbipl)) - issue \#750 - config for dn.pt site added [\#775](https://github.com/wallabag/wallabag/pull/775) ([mariroz](https://github.com/mariroz)) +- fixed bug for epub export \#755 ; also better metadata title [\#771](https://github.com/wallabag/wallabag/pull/771) ([tcitworld](https://github.com/tcitworld)) - Refactor [\#768](https://github.com/wallabag/wallabag/pull/768) ([nicosomb](https://github.com/nicosomb)) - Refactor [\#764](https://github.com/wallabag/wallabag/pull/764) ([tcitworld](https://github.com/tcitworld)) - 1.7.1 [\#761](https://github.com/wallabag/wallabag/pull/761) ([nicosomb](https://github.com/nicosomb)) @@ -1959,6 +696,7 @@ - feature \#505 - it is now possible to add link from bagged article \(TODO: redev it to ajax action\). Some enhancements to "save a link" popup div [\#551](https://github.com/wallabag/wallabag/pull/551) ([mariroz](https://github.com/mariroz)) - fix of conflict of s shortcat and entering s in input fields [\#549](https://github.com/wallabag/wallabag/pull/549) ([mariroz](https://github.com/mariroz)) - a lot of enhancements related to tags: tags list is now sorted, shows number of articles, autocomplete added according to \#477, \#542 [\#544](https://github.com/wallabag/wallabag/pull/544) ([mariroz](https://github.com/mariroz)) +- bagit link + overlay save link + listmode [\#540](https://github.com/wallabag/wallabag/pull/540) ([courgette](https://github.com/courgette)) - Changed config section to clarify import process. [\#535](https://github.com/wallabag/wallabag/pull/535) ([bobmaerten](https://github.com/bobmaerten)) - fix of \#530 - import fail from Poche [\#533](https://github.com/wallabag/wallabag/pull/533) ([mariroz](https://github.com/mariroz)) - New import system [\#532](https://github.com/wallabag/wallabag/pull/532) ([nicosomb](https://github.com/nicosomb)) @@ -1972,6 +710,7 @@ - Update pl\_PL.utf8.po [\#502](https://github.com/wallabag/wallabag/pull/502) ([skibbipl](https://github.com/skibbipl)) - fix of \#498, \#493, \#494 - because disappeared in last commit [\#501](https://github.com/wallabag/wallabag/pull/501) ([mariroz](https://github.com/mariroz)) - French translation added by @Draky50110, issue \#488 [\#499](https://github.com/wallabag/wallabag/pull/499) ([mariroz](https://github.com/mariroz)) +- fix of global $http visibility, issues \#493, \#494 [\#495](https://github.com/wallabag/wallabag/pull/495) ([mariroz](https://github.com/mariroz)) - 1.5.2 [\#481](https://github.com/wallabag/wallabag/pull/481) ([nicosomb](https://github.com/nicosomb)) - a lot of refactoring: tag action is now handled by home view and uses sorting and pagination. Some small view enhacenments. Fix of \#476, \#461 for baggy and other themes [\#478](https://github.com/wallabag/wallabag/pull/478) ([mariroz](https://github.com/mariroz)) - Baggy Theme - PtSans font is now local [\#473](https://github.com/wallabag/wallabag/pull/473) ([nsteinmetz](https://github.com/nsteinmetz)) @@ -1979,6 +718,7 @@ - version number 1.5.1 [\#469](https://github.com/wallabag/wallabag/pull/469) ([nicosomb](https://github.com/nicosomb)) - 1.5.1 [\#468](https://github.com/wallabag/wallabag/pull/468) ([nicosomb](https://github.com/nicosomb)) - "save a link" added to top menu \(default theme\) to toggle "save link" form, issue \#461 [\#467](https://github.com/wallabag/wallabag/pull/467) ([mariroz](https://github.com/mariroz)) +- duplicate check added. fix of issue \#400 [\#460](https://github.com/wallabag/wallabag/pull/460) ([mariroz](https://github.com/mariroz)) - Feature \#457 : import from pocket now import tags too [\#459](https://github.com/wallabag/wallabag/pull/459) ([arnaudmm](https://github.com/arnaudmm)) - 1.5.0 [\#450](https://github.com/wallabag/wallabag/pull/450) ([nicosomb](https://github.com/nicosomb)) - Adding .htaccess files to prohibit access to critical directories, e.g., db/ [\#439](https://github.com/wallabag/wallabag/pull/439) ([flolauck](https://github.com/flolauck)) @@ -1987,7 +727,9 @@ - all locale files re-compiled: fix of \#416 Some language problems in the ... [\#428](https://github.com/wallabag/wallabag/pull/428) ([mariroz](https://github.com/mariroz)) - changelog 1.4 [\#427](https://github.com/wallabag/wallabag/pull/427) ([nicosomb](https://github.com/nicosomb)) - Courgette theme revision [\#425](https://github.com/wallabag/wallabag/pull/425) ([Lonnytunes](https://github.com/Lonnytunes)) +- fix of bug \#368 Endless redirects or user doesn't exist with basic authe... [\#419](https://github.com/wallabag/wallabag/pull/419) ([mariroz](https://github.com/mariroz)) - Fix: stops multiplication, in database, of a same user config item [\#410](https://github.com/wallabag/wallabag/pull/410) ([Lonnytunes](https://github.com/Lonnytunes)) +- Page data extraction with basic auth [\#394](https://github.com/wallabag/wallabag/pull/394) ([aaa2000](https://github.com/aaa2000)) - Correction de bugs dans le schema mysql [\#391](https://github.com/wallabag/wallabag/pull/391) ([Newinx](https://github.com/Newinx)) - poche 1.3.1 [\#387](https://github.com/wallabag/wallabag/pull/387) ([nicosomb](https://github.com/nicosomb)) - Create sqlite table tags\_entries only if not already exists [\#382](https://github.com/wallabag/wallabag/pull/382) ([aaa2000](https://github.com/aaa2000)) diff --git a/Gruntfile.js b/Gruntfile.js index b80ab56d5..72a407f92 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -10,10 +10,6 @@ module.exports = function (grunt) { postcss: { material: { options: { - map: { - inline: false, - }, - processors: [ require('pixrem')(), require('autoprefixer')({ browsers: 'last 2 versions' }), @@ -25,10 +21,6 @@ module.exports = function (grunt) { }, baggy: { options: { - map: { - inline: false, - }, - processors: [ require('pixrem')(), require('autoprefixer')({ browsers: 'last 2 versions' }), @@ -95,19 +87,13 @@ module.exports = function (grunt) { files: { '<%= releaseDir %>/themes/material/js/material.min.js': ['<%= buildDir %>/material.browser.js'], - }, - options: { - sourceMap: true, - }, + } }, baggy: { files: { '<%= releaseDir %>/themes/baggy/js/baggy.min.js': ['<%= buildDir %>/baggy.browser.js'], - }, - options: { - sourceMap: true, - }, + } }, }, copy: { diff --git a/Makefile b/Makefile index 1c6c0d537..1df4d6327 100755 --- a/Makefile +++ b/Makefile @@ -17,6 +17,9 @@ install: ## Install wallabag with the latest version update: ## Update the wallabag installation to the latest version @sh scripts/update.sh $(ENV) +dev: ## Install the latest dev version + @sh scripts/dev.sh + run: ## Run the wallabag built-in server @php bin/console server:run --env=$(ENV) diff --git a/RELEASE_PROCESS.md b/RELEASE_PROCESS.md index 8ac9bbcde..34e9a36f2 100644 --- a/RELEASE_PROCESS.md +++ b/RELEASE_PROCESS.md @@ -9,7 +9,7 @@ During this documentation, we assume the release is `$LAST_WALLABAG_RELEASE`. #### Files to edit - `app/config/config.yml` (`wallabag_core.version`) -- `CHANGELOG.md` (by using this command `github_changelog_generator --no-compare-link`. [github-changelog-generator is available here](https://github.com/skywinder/github-changelog-generator)) +- `CHANGELOG.md` (by using this command `github_changelog_generator --no-compare-link --header-label="# Changelog" --no-issues --no-pr-wo-labels --since-tag="1.9.2"`. [github-changelog-generator is available here](https://github.com/skywinder/github-changelog-generator)) #### Create release on GitHub diff --git a/app/DoctrineMigrations/Version20160410190541.php b/app/DoctrineMigrations/Version20160410190541.php index c41b04657..f034b0e46 100644 --- a/app/DoctrineMigrations/Version20160410190541.php +++ b/app/DoctrineMigrations/Version20160410190541.php @@ -30,11 +30,12 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI public function up(Schema $schema) { if ($this->connection->getDatabasePlatform()->getName() == 'postgresql') { - $this->addSql('ALTER TABLE '.$this->getTable('entry').' ADD uuid UUID DEFAULT NULL'); + $this->addSql('ALTER TABLE "'.$this->getTable('entry').'" ADD uuid UUID DEFAULT NULL'); } else { - $this->addSql('ALTER TABLE '.$this->getTable('entry').' ADD uuid LONGTEXT DEFAULT NULL'); + $this->addSql('ALTER TABLE "'.$this->getTable('entry').'" ADD uuid LONGTEXT DEFAULT NULL'); } - $this->addSql("INSERT INTO ".$this->getTable('craue_config_setting')." (name, value, section) VALUES ('share_public', '1', 'entry')"); + + $this->addSql("INSERT INTO \"".$this->getTable('craue_config_setting')."\" (name, value, section) VALUES ('share_public', '1', 'entry')"); } /** @@ -44,7 +45,7 @@ class Version20160410190541 extends AbstractMigration implements ContainerAwareI { $this->abortIf($this->connection->getDatabasePlatform()->getName() != 'sqlite', 'This down migration can\'t be executed on SQLite databases, because SQLite don\'t support DROP COLUMN.'); - $this->addSql('ALTER TABLE '.$this->getTable('entry').' DROP uuid'); - $this->addSql("DELETE FROM ".$this->getTable('craue_config_setting')." WHERE name = 'share_public'"); + $this->addSql('ALTER TABLE "'.$this->getTable('entry').'" DROP uuid'); + $this->addSql("DELETE FROM \"".$this->getTable('craue_config_setting')."\" WHERE name = 'share_public'"); } } diff --git a/app/DoctrineMigrations/Version20160911214952.php b/app/DoctrineMigrations/Version20160911214952.php index 3f988ccf8..f14f7bc6f 100644 --- a/app/DoctrineMigrations/Version20160911214952.php +++ b/app/DoctrineMigrations/Version20160911214952.php @@ -29,8 +29,8 @@ class Version20160911214952 extends AbstractMigration implements ContainerAwareI */ public function up(Schema $schema) { - $this->addSql('INSERT INTO '.$this->getTable('craue_config_setting').' (name, value, section) VALUES (\'import_with_redis\', \'0\', \'import\')'); - $this->addSql('INSERT INTO '.$this->getTable('craue_config_setting').' (name, value, section) VALUES (\'import_with_rabbitmq\', \'0\', \'import\')'); + $this->addSql('INSERT INTO "'.$this->getTable('craue_config_setting').'" (name, value, section) VALUES (\'import_with_redis\', \'0\', \'import\')'); + $this->addSql('INSERT INTO "'.$this->getTable('craue_config_setting').'" (name, value, section) VALUES (\'import_with_rabbitmq\', \'0\', \'import\')'); } /** diff --git a/app/DoctrineMigrations/Version20160916201049.php b/app/DoctrineMigrations/Version20160916201049.php index fc4e700a2..0d2edf9ef 100644 --- a/app/DoctrineMigrations/Version20160916201049.php +++ b/app/DoctrineMigrations/Version20160916201049.php @@ -29,8 +29,8 @@ class Version20160916201049 extends AbstractMigration implements ContainerAwareI */ public function up(Schema $schema) { - $this->addSql('ALTER TABLE '.$this->getTable('config').' ADD pocket_consumer_key VARCHAR(255) DEFAULT NULL'); - $this->addSql("DELETE FROM ".$this->getTable('craue_config_setting')." WHERE name = 'pocket_consumer_key';"); + $this->addSql('ALTER TABLE "'.$this->getTable('config').'" ADD pocket_consumer_key VARCHAR(255) DEFAULT NULL'); + $this->addSql("DELETE FROM \"".$this->getTable('craue_config_setting')."\" WHERE name = 'pocket_consumer_key';"); } /** @@ -40,7 +40,7 @@ class Version20160916201049 extends AbstractMigration implements ContainerAwareI { $this->abortIf($this->connection->getDatabasePlatform()->getName() == 'sqlite', 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.'); - $this->addSql('ALTER TABLE '.$this->getTable('config').' DROP pocket_consumer_key'); - $this->addSql("INSERT INTO ".$this->getTable('craue_config_setting')." (name, value, section) VALUES ('pocket_consumer_key', NULL, 'import')"); + $this->addSql('ALTER TABLE "'.$this->getTable('config').'" DROP pocket_consumer_key'); + $this->addSql("INSERT INTO \"".$this->getTable('craue_config_setting')."\" (name, value, section) VALUES ('pocket_consumer_key', NULL, 'import')"); } } diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml index 85079330f..3e11d675c 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.da.yml @@ -23,7 +23,7 @@ export: "eksport" import: "import" misc: "misc" modify_settings: "Gem ændring" -piwik_host: Hosting af din side hos Piwik +piwik_host: Hosting af din side hos Piwik (uden http:// eller https://) piwik_site_id: ID for din side hos Piwik piwik_enabled: Aktiver Piwik demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)" diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml index eaba14cd5..c74b5c1ff 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.de.yml @@ -2,14 +2,14 @@ download_pictures: Bilder auf den Server herunterladen carrot: Teilen zu Carrot aktivieren diaspora_url: Diaspora-URL, sofern der Service aktiviert ist export_epub: ePUB-Export aktivieren -export_mobi: .mobi-Export aktivieren +export_mobi: mobi-Export aktivieren export_pdf: PDF-Export aktivieren export_csv: CSV-Export aktivieren export_json: JSON-Export aktivieren export_txt: TXT-Export aktivieren export_xml: XML-Export aktivieren -# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously -# import_with_redis: Enable Redis to import data asynchronously +import_with_rabbitmq: Aktiviere RabbitMQ, um Artikel asynchron zu importieren +import_with_redis: Aktiviere Redis, um Artikel asynchron zu importieren shaarli_url: Shaarli-URL, sofern der Service aktiviert ist share_diaspora: Teilen zu Diaspora aktiveren share_mail: Teilen via E-Mail aktiveren @@ -23,9 +23,9 @@ export: "Export" import: "Import" misc: "Verschiedenes" modify_settings: "Übernehmen" -piwik_host: Host deiner Webseite in Piwik +piwik_host: Host deiner Webseite in Piwik (ohne http:// oder https://) piwik_site_id: ID deiner Webseite in Piwik piwik_enabled: Piwik aktivieren demo_mode_enabled: "Test-Modus aktivieren? (nur für die öffentliche wallabag-Demo genutzt)" demo_mode_username: "Test-Benutzer" -# share_public: Allow public url for entries +share_public: Erlaube eine öffentliche URL für Einträge diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml index 8aaa27e76..77c09db43 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.en.yml @@ -23,7 +23,7 @@ export: "export" import: "import" misc: "misc" modify_settings: "apply" -piwik_host: Host of your website in Piwik +piwik_host: Host of your website in Piwik (without http:// ou https://) piwik_site_id: ID of your website in Piwik piwik_enabled: Enable Piwik demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml index bf3a79af8..baa838493 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.es.yml @@ -23,7 +23,7 @@ export: "exportar" import: "importar" misc: "misc" modify_settings: "modificar configuración" -piwik_host: Host de tu website de Piwik +piwik_host: Host de tu website de Piwik (sin http:// o https://) piwik_site_id: ID de tu website de Piwik piwik_enabled: Activar Piwik demo_mode_enabled: "Activar modo demo (sólo usado para la demo de wallabag)" diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml index d86c43433..b394977e2 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fa.yml @@ -23,7 +23,7 @@ export: "برون‌سپاری" import: "درون‌ریزی" misc: "غیره" modify_settings: "اعمال" -# piwik_host: Host of your website in Piwik +# piwik_host: Host of your website in Piwik (without http:// or https://) # piwik_site_id: ID of your website in Piwik # piwik_enabled: Enable Piwik # demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml index 5e1ecf26c..31a808804 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.fr.yml @@ -23,7 +23,7 @@ export: "export" import: "import" misc: "divers" modify_settings: "appliquer" -piwik_host: URL de votre site dans Piwik +piwik_host: URL de votre site dans Piwik (sans http:// ou https://) piwik_site_id: ID de votre site dans Piwik piwik_enabled: Activer Piwik demo_mode_enabled: "Activer le mode démo ? (utiliser uniquement pour la démo publique de wallabag)" diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml index 9d820e4bc..ba0385561 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.it.yml @@ -23,7 +23,7 @@ export: "esporta" import: "importa" misc: "misc" modify_settings: "applica" -piwik_host: Host del tuo sito in Piwik +piwik_host: Host del tuo sito in Piwik (senza http:// o https://) piwik_site_id: ID del tuo sito in Piwik piwik_enabled: Abilita Piwik demo_mode_enabled: "Abilita modalità demo ? (usato solo per la demo pubblica di wallabag)" diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml index 49dc77326..55249e33b 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.oc.yml @@ -23,7 +23,7 @@ export: "expòrt" import: "impòrt" misc: "divèrs" modify_settings: "aplicar" -piwik_host: URL de vòstre site dins Piwik +piwik_host: URL de vòstre site dins Piwik (sense http:// o https://) piwik_site_id: ID de vòstre site dins Piwik piwik_enabled: Activar Piwik demo_mode_enabled: "Activar lo mode demostracion ? (utilizar solament per la demostracion publica de wallabag)" diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml index 7432b0a79..42cc5b525 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.pl.yml @@ -23,7 +23,7 @@ export: "eksport" import: "import" misc: "różne" modify_settings: "zatwierdz" -piwik_host: Host twojej strony Piwik +piwik_host: Host twojej strony Piwik (bez http:// lub https://) piwik_site_id: ID twojej strony Piwik piwik_enabled: Włacz Piwik demo_mode_enabled: "Włacz tryb demo? (używany wyłącznie dla publicznej demonstracji Wallabag)" diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml index 20d664f7e..8e72b9555 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.ro.yml @@ -23,7 +23,7 @@ export: "exportă" import: "importă" misc: "diverse" modify_settings: "aplică" -# piwik_host: Host of your website in Piwik +# piwik_host: Host of your website in Piwik (without http:// or https://) # piwik_site_id: ID of your website in Piwik # piwik_enabled: Enable Piwik # demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" diff --git a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml index 4b4d3edb9..55f708433 100644 --- a/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml +++ b/app/Resources/CraueConfigBundle/translations/CraueConfigBundle.tr.yml @@ -23,7 +23,7 @@ # import: "import" # misc: "misc" # modify_settings: "apply" -# piwik_host: Host of your website in Piwik +# piwik_host: Host of your website in Piwik (without http:// or https://) # piwik_site_id: ID of your website in Piwik # piwik_enabled: Enable Piwik # demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)" diff --git a/app/Resources/CraueConfigBundle/views/Settings/modify.html.twig b/app/Resources/CraueConfigBundle/views/Settings/modify.html.twig index f44db420f..c4e735ee0 100644 --- a/app/Resources/CraueConfigBundle/views/Settings/modify.html.twig +++ b/app/Resources/CraueConfigBundle/views/Settings/modify.html.twig @@ -1,6 +1,6 @@ {% extends "WallabagCoreBundle::layout.html.twig" %} -{% block title %}{% trans %}internal settings{% endtrans %}{% endblock %} +{% block title %}{{ 'menu.left.internal_settings'|trans }}{% endblock %} {% block content %}
@@ -13,7 +13,7 @@
diff --git a/app/Resources/static/themes/baggy/css/main.css b/app/Resources/static/themes/baggy/css/main.css index 61e7b22a7..44db2070b 100755 --- a/app/Resources/static/themes/baggy/css/main.css +++ b/app/Resources/static/themes/baggy/css/main.css @@ -1192,6 +1192,14 @@ pre code { } } +@media screen and (max-height: 770px) { + .menu.users, + .menu.internal, + .menu.developer { + display: none; + } +} + @media screen and (max-width: 500px) { .entry { width: 100%; diff --git a/app/Resources/static/themes/material/css/main.css b/app/Resources/static/themes/material/css/main.css index d91b469ff..2cc2e8a0f 100755 --- a/app/Resources/static/themes/material/css/main.css +++ b/app/Resources/static/themes/material/css/main.css @@ -360,6 +360,10 @@ span.numberItems { float: right; } +nav ul a:hover { + background-color: initial; +} + /* ========================================================================== * 3 = Filters slider * ========================================================================== */ @@ -522,7 +526,7 @@ main ul.row { } #article > header > h1 { - font-size: 2em; + font-size: 1.6em; } .reader-mode { @@ -603,6 +607,18 @@ main ul.row { width: auto; } + #article { + padding: 15px; + max-width: 35em; + margin-left: auto; + margin-right: auto; + font-size: 18px; + } + + #article > header > h1 { + font-size: 1.33em; + } + .reader-mode { width: 240px !important; } @@ -760,3 +776,7 @@ div.settings div.file-field div { .input-field label.active { font-size: 1rem; } + +nav .input-field input { + margin: 0; +} diff --git a/app/config/config.yml b/app/config/config.yml index 9dbc9d7cc..dfb0e3b27 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -30,7 +30,7 @@ framework: assets: ~ wallabag_core: - version: 2.1.2-dev + version: 2.1.3-dev paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb" languages: en: 'English' @@ -50,6 +50,7 @@ wallabag_core: rss_limit: 50 reading_speed: 1 cache_lifetime: 10 + fetching_error_message: "wallabag can't retrieve contents for this article. Please report this issue to us." wallabag_user: registration_enabled: "%fosuser_registration%" diff --git a/docs/de/index.rst b/docs/de/index.rst index b3cd33b07..b422bf831 100644 --- a/docs/de/index.rst +++ b/docs/de/index.rst @@ -30,8 +30,8 @@ Die Dokumentation ist in anderen Sprachen verfügbar : user/faq user/installation - user/upgrade-2.0.x-2.1.y - user/upgrade-2.0.x-2.0.y + user/upgrade-2.0.x-2.1.1 + user/upgrade-2.0.x-2.1.1 user/migration user/import user/create_account @@ -44,6 +44,8 @@ Die Dokumentation ist in anderen Sprachen verfügbar : user/filters user/tags user/android + user/parameters + user/backup .. _dev-docs: diff --git a/docs/de/user/backup.rst b/docs/de/user/backup.rst new file mode 100644 index 000000000..ffe3ce37a --- /dev/null +++ b/docs/de/user/backup.rst @@ -0,0 +1,25 @@ +wallabag sichern +================ +Da es manchmal vorkommen kann, dass dir ein Fehler mit deiner wallabag unterläuft und du Daten verlierst oder deine wallabag auf einen anderen Server verschieben willst, ist eine Sicherung der Daten sicher ratsam. +Dieser Artikel beschreibt, was du für die Sicherung benötigst. + +Grundlegende Einstellungen +-------------------------- +wallabag speichert grundlegende Parameter (etwa der SMTP-Server oder das Datenbank-Backend) in der Datei `app/config/parameters.yml`. + +Datenbank +--------- +Da wallabag verschiedene Datenbank-Typen unterstützt, hängt der Weg der Sicherung von dem verwendeten Typ ab. Daher verweisen wir an dieser Stelle auf die entsprechenden Dokumentationen: + +Hier sind einige Beispiele: + +- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html +- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html + +SQLite +~~~~~~ +Um die SQLite-Datenbank zu sichern, ist es lediglich notwendig, das Verzeichnis `data/db` aus dem wallabag-Installations-Ordner zu kopieren. + +Bilder +------ +Die Bilder, die von wallabag empfangen worden, sind unter `data/assets/images` gespeichert (der Bilder-Speicher wird in wallabag 2.2 implementiert). diff --git a/docs/de/user/configuration.rst b/docs/de/user/configuration.rst index 67695ff10..0b0793b11 100644 --- a/docs/de/user/configuration.rst +++ b/docs/de/user/configuration.rst @@ -102,7 +102,7 @@ Wenn *readingTime >= 5 AND domainName = "github.com"*, dann tagge als *lange zu Welche Variablen und Operatoren kann ich zum Regeln schreiben nutzen? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Die folgenden Variabel und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen: +Die folgenden Variablen und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen (sei vorsichtig, denn bei einigen Werten musst du Anführungszeichen hinzufügen, z.B. ``language = "de"``): =========== ============================================== ======== ========== Variable Bedeutung Operator Bedeutung diff --git a/docs/de/user/parameters.rst b/docs/de/user/parameters.rst new file mode 100644 index 000000000..4c68fe9e6 --- /dev/null +++ b/docs/de/user/parameters.rst @@ -0,0 +1,50 @@ +Was bedeuten die Parameter? +=========================== +.. csv-table:: Datenbankparameter + :header: "Name", "Standardwert", "Beschreibung" + + "database_driver", "pdo_sqlite", "Sollte pdo_sqlite oder pdo_mysql oder pdo_pgsql sein" + "database_host", "127.0.0.1", "Hostadresse deiner Datenbank (normalerweise localhost oder 127.0.0.1)" + "database_port", "~", "Port deiner Datenbank (Du kannst ``~`` stehen lassen, um den Standardport zu nutzen)" + "database_name", "symfony", "Benenne deine Datenbank" + "database_user", "root", "Benutzer, der Schreibrecht in der Datenbank hat" + "database_password", "~", "Passwort des Benutzers" + "database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "nur für SQLite, definiere, wo die Datenbankdatei abgelegt werden soll. Lass den Parameter leer für andere Datenbanktypen." + "database_table_prefix", "wallabag_", "alle wallabag Tabellen erhalten diesen Präfix im Namen. Du kannst einen ``_`` dafür im Präfix nutzen, um das zu verdeutlichen." + "database_socket", "null", "Wenn deine Datenbank einen Socket statt TCP nutzt, schreibe hier den Pfad zum Socket hin (andere Verbindungsparameter werden dann ignoriert." + +.. csv-table:: Konfiguration, um mit wallabag E-Mails senden zu können + :header: "Name", "Standardwert", "Beschreibung" + + "mailer_transport", "smtp", "Die exakte Transportmethode, um E-Mails zuzustellen. Gültige Werte sind: smtp, gmail, mail, sendmail, null (was das Mailen deaktivert)" + "mailer_host", "127.0.0.1", "Der Host, zu dem sich verbunden wird, wenn SMTP als Transport genutzt wird." + "mailer_user", "~", "Der Benutzername, wenn SMTP als Transport genutzt wird." + "mailer_password", "~", "Das Passwort, wenn SMTP als Transport genutzt wird." + +.. csv-table:: Andere wallabag Optionen + :header: "Name", "Standardwert", "Beschreibung" + + "locale", "en", "Standardsprache deiner wallabag Instanz (wie z.B. en, fr, es, etc.)" + "secret", "ovmpmAWXRCabNlMgzlzFXDYmCFfzGv", "Dieser String sollte einzigartig für deine Applikation sein und er wird genutzt, um sicherheitsrelevanten Operationen mehr Entropie hinzuzufügen." + "twofactor_auth", "true", "true, um Zwei-Faktor-Authentifizierung zu aktivieren" + "twofactor_sender", "no-reply@wallabag.org", "E-Mail-Adresse des Senders der Mails mit dem Code für die Zwei-Faktor-Authentifizierung" + "fosuser_registration", "true", "true, um die Registrierung für jedermann zu aktivieren" + "fosuser_confirmation", "true", "true, um eine Bestätigungsmail für jede Registrierung zu senden" + "from_email", "no-reply@wallabag.org", "E-Mail-Adresse, die im Absenderfeld jeder Mail genutzt wird" + "rss_limit", "50", "Artikellimit für RSS Feeds" + +.. csv-table:: RabbitMQ Konfiguration + :header: "Name", "Standardwert", "Beschreibung" + + "rabbitmq_host", "localhost", "Host deines RabbitMQ" + "rabbitmq_port", "5672", "Port deines RabbitMQ" + "rabbitmq_user", "guest", "Benutzer, der die Queue lesen kann" + "rabbitmq_password", "guest", "Passwort dieses Benutzers" + +.. csv-table:: Redis Konfiguration + :header: "Name", "Standardwert", "Beschreibung" + + "redis_scheme", "tcp", "Bestimmt das Protokoll, dass genutzt wird, um mit Redis zu kommunizieren. Gültige Werte sind: tcp, unix, http" + "redis_host", "localhost", "IP oder Hostname des Zielservers (ignoriert bei Unix Schema)" + "redis_port", "6379", "TCP/IP Port des Zielservers (ignoriert bei Unix Schema)" + "redis_path", "null", "Pfad zur Unix Domain Socket Datei, wenn Redis Unix Domain Sockets nutzt" diff --git a/docs/de/user/upgrade-2.0.x-2.1.y.rst b/docs/de/user/upgrade-2.0.x-2.1.1.rst similarity index 68% rename from docs/de/user/upgrade-2.0.x-2.1.y.rst rename to docs/de/user/upgrade-2.0.x-2.1.1.rst index eee50fe45..db81a1bec 100644 --- a/docs/de/user/upgrade-2.0.x-2.1.y.rst +++ b/docs/de/user/upgrade-2.0.x-2.1.1.rst @@ -1,5 +1,5 @@ -Wallabag updaten -================ +Wallabag von 2.0.x auf 2.1.1 updaten +==================================== .. warning:: Wenn du den Import von Pocket durch das Hinzufügen des Consumer Key in den internen Einstellungen konfiguriert hast, fertige bitte ein Backup deines Keys an, bevor du auf das neue Release migrierst: Du wirst den Key nach dem Update in der Konfiguration erneut eintragen müssen. @@ -30,23 +30,43 @@ Lade das neueste Release von wallabag herunter: wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package -(2.1.1 md5 hash: ``9584a3b60a2b2a4de87f536548caac93``) +(2.1.1 md5 Hashsumme: ``9584a3b60a2b2a4de87f536548caac93``) Entpacke das Archiv in deinen wallabag-Ordner und ersetze ``app/config/parameters.yml`` mit deiner Datei. Bitte beachte, dass wir in dieser Version neue Parameter hinzugefügt haben. Du musst die Datei ``app/config/parameters.yml`` bearbeiten und die folgenden Zeilen hinzufügen (ersetze die Werte mit deiner Konfiguration): -.. code-block:: bash +.. code-block:: yml - # RabbitMQ processing - rabbitmq_host: localhost - rabbitmq_port: 5672 - rabbitmq_user: guest - rabbitmq_password: guest + parameters: + database_driver: pdo_sqlite + database_host: 127.0.0.1 + database_port: null + database_name: symfony + database_user: root + database_password: null + database_path: '%kernel.root_dir%/../data/db/wallabag.sqlite' + database_table_prefix: wallabag_ + mailer_transport: smtp + mailer_host: 127.0.0.1 + mailer_user: null + mailer_password: null + locale: en + secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv + twofactor_auth: true + twofactor_sender: no-reply@wallabag.org + fosuser_registration: true + fosuser_confirmation: true + from_email: no-reply@wallabag.org + rss_limit: 50 + rabbitmq_host: localhost + rabbitmq_port: 5672 + rabbitmq_user: guest + rabbitmq_password: guest + redis_host: localhost + redis_port: 6379 - # Redis processing - redis_host: localhost - redis_port: 6379 +Du kannst `hier eine Dokumentation über die Parameter finden `_. Wenn du SQLite nutzt, musst auch das ``data/`` Verzeichnis in die neue Installation kopieren. diff --git a/docs/de/user/upgrade-2.0.x-2.0.y.rst b/docs/de/user/upgrade-2.1.x-2.1.y.rst similarity index 76% rename from docs/de/user/upgrade-2.0.x-2.0.y.rst rename to docs/de/user/upgrade-2.1.x-2.1.y.rst index 5820a0d23..2f9b7791b 100644 --- a/docs/de/user/upgrade-2.0.x-2.0.y.rst +++ b/docs/de/user/upgrade-2.1.x-2.1.y.rst @@ -1,17 +1,17 @@ -Wallabag updaten 2.0.x -> 2.1.x -=============================== +Wallabag von 2.1.x auf 2.1.y updaten +==================================== Update auf einem dedizierten Webserver -------------------------------------- -Das neueste Release ist auf https://www.wallabag.org/pages/download-wallabag.html veröffentlicht. Um deine wallabag Installation auf die neueste Version upzudaten, führe die folgenden Kommandos in deinem wallabag Ordner aus (ersetze ``2.0.8`` mit der neuesten Releasenummer): +Das neueste Release ist auf https://www.wallabag.org/pages/download-wallabag.html veröffentlicht. Um deine wallabag Installation auf die neueste Version upzudaten, führe die folgenden Kommandos in deinem wallabag Ordner aus (ersetze ``2.1.2`` mit der neuesten Releasenummer): :: rm -rf var/cache/* git fetch origin git fetch --tags - git checkout 2.0.8 + git checkout 2.1.2 --force SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist php bin/console cache:clear --env=prod @@ -26,7 +26,7 @@ Lade das neueste Release von wallabag herunter: wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package -(md5 hash: ``4f84c725d1d6e3345eae0a406115e5ff``) +Du findest die `md5 Hashsumme des neuesten Pakets auf unserer Website `_. Entpacke das Archiv in deinen wallabag Ordner und ersetze ``app/config/parameters.yml`` mit deiner Datei. diff --git a/docs/en/developer/api.rst b/docs/en/developer/api.rst index 83f0bb8f3..4828cddd1 100644 --- a/docs/en/developer/api.rst +++ b/docs/en/developer/api.rst @@ -8,7 +8,7 @@ Requirements * wallabag freshly (or not) installed on http://localhost:8000 * ``httpie`` installed on your computer (`see project website `__). Note that you can also adapt the commands using curl or wget. -* all the API methods are documented here http://localhost:8000/api/doc +* all the API methods are documented here http://localhost:8000/api/doc (on your instance) and `on our example instance `_ Creating a new API client ------------------------- diff --git a/docs/en/developer/redis.rst b/docs/en/developer/redis.rst index 67b6452ec..2e2bbbeaf 100644 --- a/docs/en/developer/redis.rst +++ b/docs/en/developer/redis.rst @@ -35,7 +35,7 @@ Edit your ``parameters.yml`` file to edit Redis configuration. The default one s redis_host: localhost redis_port: 6379 -Enable Redos in wallabag +Enable Redis in wallabag ------------------------ In internal settings, in the **Import** section, enable Redis (with the value 1). diff --git a/docs/en/index.rst b/docs/en/index.rst index 4e346ae68..0ead261b1 100644 --- a/docs/en/index.rst +++ b/docs/en/index.rst @@ -45,6 +45,8 @@ The documentation is available in other languages: user/filters user/tags user/android + user/parameters + user/backup .. _dev-docs: diff --git a/docs/en/user/android.rst b/docs/en/user/android.rst index ccbad2642..91dcb2fc0 100644 --- a/docs/en/user/android.rst +++ b/docs/en/user/android.rst @@ -79,7 +79,7 @@ Known limitations 2FA ~~~ -Currently the does not support two-factor authentication. You should disable that to get the app working. +Currently the Android application does not support two-factor authentication. You should disable that to get the application working. Limited amount of articles with wallabag v2 diff --git a/docs/en/user/backup.rst b/docs/en/user/backup.rst new file mode 100644 index 000000000..51721000f --- /dev/null +++ b/docs/en/user/backup.rst @@ -0,0 +1,25 @@ +Backup wallabag +=============== +Because sometimes you may do a mistake with your wallabag and lose data or in case you need to move your wallabag to another server you want to backup your data. +This articles describes what you need to backup. + +Basic settings +-------------- +wallabag stores some basic parameters (like SMTP server or database backend) in the file `app/config/parameters.yml`. + +Database +-------- +As wallabag supports different kinds of database, the way to perform the backup depends on the database you use, so you need to refer to the vendor documentation. + +Here's some examples: + +- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html +- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html + +SQLite +~~~~~~ +To backup the SQLite database, you just need to copy the directory `data/db` from the wallabag application directory. + +Images +------ +The images retrieved by wallabag are stored under `data/assets/images` (the images storage will be implemented in wallabag 2.2). diff --git a/docs/en/user/configuration.rst b/docs/en/user/configuration.rst index 824878dc8..e7055a145 100644 --- a/docs/en/user/configuration.rst +++ b/docs/en/user/configuration.rst @@ -102,7 +102,7 @@ if *« readingTime >= 5 AND domainName = "github.com" »* then tag as *« long r Which variables and operators can I use to write rules? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The following variables and operators can be used to create tagging rules: +The following variables and operators can be used to create tagging rules (be careful, for some values, you need to add quotes, for example ``language = "en"``): =========== ============================================== ======== ========== Variable Meaning Operator Meaning diff --git a/docs/en/user/installation.rst b/docs/en/user/installation.rst index 248c19958..45e146164 100644 --- a/docs/en/user/installation.rst +++ b/docs/en/user/installation.rst @@ -8,7 +8,7 @@ wallabag is compatible with PHP >= 5.5, including PHP 7. .. note:: - To install wallabag easily, we create a ``Makefile``, so you need to have the ``make`` tool. + To install wallabag easily, we provide a ``Makefile``, so you need to have the ``make`` tool. wallabag uses a large number of PHP libraries in order to function. These libraries must be installed with a tool called Composer. You need to install it if you have not already done so and be sure to use the 1.2 version (if you already have Composer, run a ``composer selfupdate``). @@ -95,7 +95,7 @@ If you changed the database configuration to use MySQL or PostgreSQL, you need t Installation with Docker ~~~~~~~~~~~~~~~~~~~~~~~~ -We provide you a Docker image to install wallabag easily. Have a look to our repository on `Docker Hub `__ to have more information. +We provide you a Docker image to install wallabag easily. Have a look at our repository on `Docker Hub `__ for more information. Command to launch container ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -194,12 +194,12 @@ After reloading or restarting nginx, you should now be able to access wallabag a .. tip:: - When you want to import large file into wallabag, you need to add this line in your nginx configuration ``client_max_body_size XM; # allows file uploads up to X megabytes``. + When you want to import large files into wallabag, you need to add this line in your nginx configuration ``client_max_body_size XM; # allows file uploads up to X megabytes``. Configuration on lighttpd ~~~~~~~~~~~~~~~~~~~~~~~~~ -Assuming you install wallabag in the /var/www/wallabag folder, here's the recipe for wallabag (edit your ``lighttpd.conf`` file and paste this configuration into it): +Assuming you install wallabag in the ``/var/www/wallabag`` folder, here's the recipe for wallabag (edit your ``lighttpd.conf`` file and paste this configuration into it): :: @@ -249,7 +249,7 @@ As soon as we use Apache or Nginx to access to our wallabag instance, and not fr To do so, the folder name, known as ``DocumentRoot`` (for apache) or ``root`` (for Nginx), has to be absolutely accessible by the Apache/Nginx user. Its name is generally ``www-data``, ``apache`` or ``nobody`` (depending on linux system used). -So the folder ``/var/www/wallabag/web`` has to be accessible by this last one. But this could be not enough if we just care about this folder, because we could meet a blank page or get an error 500 when trying to access to the homepage of the project. +So the folder ``/var/www/wallabag/web`` has to be accessible by this last one. But this may not be enough if we just care about this folder, because we could meet a blank page or get an error 500 when trying to access to the homepage of the project. This is due to the fact that we will need to grant the same rights access on the folder ``/var/www/wallabag/var`` like those we gave on the folder ``/var/www/wallabag/web``. Thus, we fix this problem with the following command: diff --git a/docs/en/user/parameters.rst b/docs/en/user/parameters.rst index 2fca020ef..c35cf3b8a 100644 --- a/docs/en/user/parameters.rst +++ b/docs/en/user/parameters.rst @@ -9,7 +9,7 @@ What is the meaning of the parameters? "database_name", "symfony", "name of your database" "database_user", "root", "user that can write to this database" "database_password", "~", "password of that user" - "database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "only for SQLite, define where to put the database file. Leave it for other database" + "database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "only for SQLite, define where to put the database file. Leave it empty for other database" "database_table_prefix", "wallabag_", "all wallabag's tables will be prefixed with that string. You can include a ``_`` for clarity" "database_socket", "null", "If your database is using a socket instead of tcp, put the path of the socket (other connection parameters will then be ignored)" "database_charset", "utf8mb4", "For PostgreSQL & SQLite you should use utf8, for MySQL use utf8mb4 which handle emoji" @@ -39,7 +39,7 @@ What is the meaning of the parameters? "rabbitmq_host", "localhost", "Host of your RabbitMQ" "rabbitmq_port", "5672", "Port of your RabbitMQ" - "rabbitmq_user", "guest", "Usee that can read queues" + "rabbitmq_user", "guest", "User that can read queues" "rabbitmq_password", "guest", "Password of that user" .. csv-table:: Redis configuration diff --git a/docs/en/user/upgrade-2.0.x-2.1.1.rst b/docs/en/user/upgrade-2.0.x-2.1.1.rst index 2f08b7bd0..4f9b9ceeb 100644 --- a/docs/en/user/upgrade-2.0.x-2.1.1.rst +++ b/docs/en/user/upgrade-2.0.x-2.1.1.rst @@ -2,7 +2,8 @@ Upgrade from 2.0.x to 2.1.1 =========================== .. warning:: -Before this migration, if you configured the Pocket import by adding your consumer key in Internal settings, please do a backup of it: you'll have to add it into the Config page after the upgrade. + + Before this migration, if you configured the Pocket import by adding your consumer key in Internal settings, please do a backup of it: you'll have to add it into the Config page after the upgrade. Upgrade on a dedicated web server --------------------------------- @@ -64,6 +65,8 @@ Please check that your ``app/config/parameters.yml`` contains all the required p redis_host: localhost redis_port: 6379 +You can find `here a documentation about parameters `_. + If you use SQLite, you must also copy your ``data/`` folder inside the new installation. Empty ``var/cache`` folder. diff --git a/docs/en/user/upgrade-2.1.x-2.1.y.rst b/docs/en/user/upgrade-2.1.x-2.1.y.rst index 575f4ba9d..62cb7dc0a 100644 --- a/docs/en/user/upgrade-2.1.x-2.1.y.rst +++ b/docs/en/user/upgrade-2.1.x-2.1.y.rst @@ -26,7 +26,7 @@ Download the last release of wallabag: wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package -(md5 hash of the 2.1.1 package: ``9584a3b60a2b2a4de87f536548caac93``) +You will find the `md5 hash of the latest package on our website `_. Extract the archive in your wallabag folder and replace ``app/config/parameters.yml`` with yours. diff --git a/docs/fr/index.rst b/docs/fr/index.rst index 359b103c0..dbb859103 100644 --- a/docs/fr/index.rst +++ b/docs/fr/index.rst @@ -31,8 +31,8 @@ La documentation est disponible dans d'autres langues : user/faq user/installation - user/upgrade-2.0.x-2.1.y - user/upgrade-2.0.x-2.0.y + user/upgrade-2.0.x-2.1.1 + user/upgrade-2.0.x-2.1.1 user/migration user/import user/create_account @@ -45,6 +45,8 @@ La documentation est disponible dans d'autres langues : user/share user/filters user/tags + user/parameters + user/backup .. _dev-docs: diff --git a/docs/fr/user/backup.rst b/docs/fr/user/backup.rst new file mode 100644 index 000000000..ec4b1f4d9 --- /dev/null +++ b/docs/fr/user/backup.rst @@ -0,0 +1,26 @@ +Sauvegarde de wallabag +====================== + +Parce que des fois vous faites des erreurs avec votre installation de wallabag et vous perdez des données ou parce que vous souhaitez migrer votre installation sur un autre serveur, vous souhaitez faire une sauvegarde de vos données. +Cette documentation décrit ce que vous devez sauvegarder. + +Configuration +------------- +wallabag stocke quelques paramètres (comme la configuration SMTP ou les infos de bases de données) dans le fichier `app/config/parameters.yml`. + +Base de données +--------------- +Comme wallabag supporte différentes sortes de bases de données, la manière de sauvegarder dépend du type de base de données que vous utilisez, donc vous devez vous en référez à la documentation correspondante. + +Quelques exemples : + +- MySQL: http://dev.mysql.com/doc/refman/5.7/en/backup-methods.html +- PostgreSQL: https://www.postgresql.org/docs/current/static/backup.html + +SQLite +~~~~~~ +Pour sauvegarder une base SQLite, vous devez juste copier le répertoire `data/db` de votre installation wallabag. + +Images +------ +Les images sauvegardées par wallabag sont stockées dans `data/assets/images` (le stockage des images sera implémenté dans wallabag 2.2). diff --git a/docs/fr/user/configuration.rst b/docs/fr/user/configuration.rst index 2654e8ad3..90eece112 100644 --- a/docs/fr/user/configuration.rst +++ b/docs/fr/user/configuration.rst @@ -104,7 +104,7 @@ if *« readingTime >= 5 AND domainName = "github.com" »* then tag as *« long r Quels variables et opérateurs puis-je utiliser pour écrire mes règles ? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Les variables et opérateurs suivants peuvent être utilisés lors de la création de vos règles : +Les variables et opérateurs suivants peuvent être utilisés lors de la création de vos règles (attention, pour certaines valeurs, vous devez ajouter des guillemets, par exemple ``language = "en"``) : =========== ============================================== ========== ========== Variable Sens Opérateur Sens diff --git a/docs/fr/user/installation.rst b/docs/fr/user/installation.rst index 62e7d3348..4f94d6c87 100644 --- a/docs/fr/user/installation.rst +++ b/docs/fr/user/installation.rst @@ -66,7 +66,7 @@ Pour démarrer le serveur interne à php et vérifier que tout s'est installé c Et accéder wallabag à l'adresse http://lipdevotreserveur:8000 .. tip:: - Pour définir des paramètres via des variables d'environnement, vous pouvez les spécifier avec le préfixe ``SYMFONY__``. Par exemple, ``SYMFONY__DATABASE_DRIVER``. Vous pouvez lire `documentation Symfony `__ pour en savoir plus. + Pour définir des paramètres via des variables d'environnement, vous pouvez les spécifier avec le préfixe ``SYMFONY__``. Par exemple, ``SYMFONY__DATABASE_DRIVER``. Vous pouvez lire la `documentation Symfony `__ pour en savoir plus. Sur un serveur mutualisé ~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/fr/user/parameters.rst b/docs/fr/user/parameters.rst new file mode 100644 index 000000000..ec8c8995d --- /dev/null +++ b/docs/fr/user/parameters.rst @@ -0,0 +1,50 @@ +À quoi servent les paramètres ? +=============================== +.. csv-table:: Paramètres de base de données + :header: "name", "default", "description" + + "database_driver", "pdo_sqlite", "Doit être pdo_sqlite ou pdo_mysql ou pdo_pgsql" + "database_host", "127.0.0.1", "Hôte de votre base de données (généralement localhost ou 127.0.0.1)" + "database_port", "~", "Port de votre base de données (vous pouvez laisser ``~`` pour utiliser celui par défaut)" + "database_name", "symfony", "Nom de votre base de données" + "database_user", "root", "Utilisateur de votre base de données" + "database_password", "~", "Mot de passe de cet utilisateur" + "database_path", "``""%kernel.root_dir%/../data/db/wallabag.sqlite""``", "Uniquement pour SQLite. Chemin du fichier de base de données. Laissez vide pour les autres bases de données." + "database_table_prefix", "wallabag_", "Toutes les tables de wallabag seront préfixées par cette chaine. Vous pouvez ajouter un ``_`` pour plus de clarté" + "database_socket", "null", "Si votre base de données utilise un socket plutôt que tcp, spécifiez le chemin du socket (les autres paramètres de connexion seront alors ignorés)" + +.. csv-table:: Configuration pour envoyer des emails depuis wallabag + :header: "name", "default", "description" + + "mailer_transport", "smtp", "Méthode de transport exacte utilisée pour envoyer des emails. Les valeurs correctes sont : smtp, gmail, mail, sendmail, null (ce qui désactivera l'envoi des emails)" + "mailer_host", "127.0.0.1", "Hôte sur lequel se connecter quand on utilise smtp comme transport." + "mailer_user", "~", "Utilisateur smtp." + "mailer_password", "~", "Mot de passe de cet utilisateur." + +.. csv-table:: Autres options de wallabag + :header: "name", "default", "description" + + "locale", "en", "Langue par défaut de votre instance wallabag (comme en, fr, es, etc.)" + "secret", "ovmpmAWXRCabNlMgzlzFXDYmCFfzGv", "C'est une chaine qui doit être unique à votre application et qui est couramment utilisée pour ajouter plus d'entropie aux opérations relatives à la sécurité." + "twofactor_auth", "true", "true pour activer l'authentification à deux facteurs" + "twofactor_sender", "no-reply@wallabag.org", "Email de l'expéditeur du code de l'authentification à deux facteurs" + "fosuser_registration", "true", "true pour activer l'inscription publique" + "fosuser_confirmation", "true", "true pour envoyer un email de confirmation pour chaque création de compte" + "from_email", "no-reply@wallabag.org", "Email de l'expéditeur pour chaque email envoyé" + "rss_limit", "50", "Limite pour les flux RSS" + +.. csv-table:: Configuration RabbitMQ + :header: "name", "default", "description" + + "rabbitmq_host", "localhost", "Hôte de votre instance RabbitMQ" + "rabbitmq_port", "5672", "Port de votre instance RabbitMQ" + "rabbitmq_user", "guest", "Utilisateur de votre instance RabbitMQ" + "rabbitmq_password", "guest", "Mot de passe de cet utilisateur" + +.. csv-table:: Configuration Redis + :header: "name", "default", "description" + + "redis_scheme", "tcp", "Définit le protocole utilisé pour commuiquer avec l'instance Redis. Les valeurs correctes sont : tcp, unix, http" + "redis_host", "localhost", "IP ou hôte du serveur cible (ignoré pour un schéma unix)" + "redis_port", "6379", "Port TCP/IP du serveur cible (ignoré pour un schéma unix)" + "redis_path", "null", "Chemin du fichier de socket du domaine UNIX utilisé quand on se connecte à Redis en utilisant les sockets du domaine UNIX" diff --git a/docs/fr/user/upgrade-2.0.x-2.1.y.rst b/docs/fr/user/upgrade-2.0.x-2.1.1.rst similarity index 60% rename from docs/fr/user/upgrade-2.0.x-2.1.y.rst rename to docs/fr/user/upgrade-2.0.x-2.1.1.rst index 952fa7374..ec883d10e 100644 --- a/docs/fr/user/upgrade-2.0.x-2.1.y.rst +++ b/docs/fr/user/upgrade-2.0.x-2.1.1.rst @@ -1,4 +1,4 @@ -Mettre à jour de la 2.0.x à la 2.1.y +Mettre à jour de la 2.0.x à la 2.1.1 ==================================== .. warning:: @@ -7,8 +7,6 @@ Avant cette migration, si vous aviez configuré l'import depuis Pocket en ajouta Mise à jour sur un serveur dédié -------------------------------- -La dernière version de wallabag est publiée à cette adresse : https://www.wallabag.org/pages/download-wallabag.html. Pour mettre à jour votre installation de wallabag, exécutez les commandes suivantes dans votre répertoire d'installation (remplacez ``2.1.1`` par le numéro de la dernière version) : - :: rm -rf var/cache/* @@ -28,25 +26,45 @@ Téléchargez la dernière version de wallabag : .. code-block:: bash - wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package + wget http://framabag.org/wallabag-release-2.1.1.tar.gz && tar xvf wallabag-release-2.1.1.tar.gz (hash md5 de l'archive 2.1.1 : ``9584a3b60a2b2a4de87f536548caac93``) Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre. -Nous avons ajouté de nouveaux paramètres dans cette nouvelle version. Vous devez donc éditer le fichier ``app/config/parameters.yml`` en ajoutant ces lignes (et en remplaçant par votre configuration) : +Vérifiez que votre fichier ``app/config/parameters.yml`` contient tous les paramètres requis. Voici un fichier ``parameters.yml`` par défaut. Si vous ne savez pas quelle valeur mettre à un paramètre, laissez la valeur par défaut. -.. code-block:: bash +.. code-block:: yml - # RabbitMQ processing - rabbitmq_host: localhost - rabbitmq_port: 5672 - rabbitmq_user: guest - rabbitmq_password: guest + parameters: + database_driver: pdo_sqlite + database_host: 127.0.0.1 + database_port: null + database_name: symfony + database_user: root + database_password: null + database_path: '%kernel.root_dir%/../data/db/wallabag.sqlite' + database_table_prefix: wallabag_ + mailer_transport: smtp + mailer_host: 127.0.0.1 + mailer_user: null + mailer_password: null + locale: en + secret: ovmpmAWXRCabNlMgzlzFXDYmCFfzGv + twofactor_auth: true + twofactor_sender: no-reply@wallabag.org + fosuser_registration: true + fosuser_confirmation: true + from_email: no-reply@wallabag.org + rss_limit: 50 + rabbitmq_host: localhost + rabbitmq_port: 5672 + rabbitmq_user: guest + rabbitmq_password: guest + redis_host: localhost + redis_port: 6379 - # Redis processing - redis_host: localhost - redis_port: 6379 +Vous trouverez `ici une documentation détaillée concernant les paramètres `_. Si vous utilisez SQLite, vous devez également conserver le contenu du répertoire ``data/``. diff --git a/docs/fr/user/upgrade-2.0.x-2.0.y.rst b/docs/fr/user/upgrade-2.1.x-2.1.y.rst similarity index 82% rename from docs/fr/user/upgrade-2.0.x-2.0.y.rst rename to docs/fr/user/upgrade-2.1.x-2.1.y.rst index 8d8ad806d..b6f1a2d09 100644 --- a/docs/fr/user/upgrade-2.0.x-2.0.y.rst +++ b/docs/fr/user/upgrade-2.1.x-2.1.y.rst @@ -1,17 +1,17 @@ -Mettre à jour de la 2.0.x à la 2.0.y +Mettre à jour de la 2.1.x à la 2.1.y ==================================== Mise à jour sur un serveur dédié -------------------------------- -La dernière version de wallabag est publiée à cette adresse : https://www.wallabag.org/pages/download-wallabag.html. Pour mettre à jour votre installation de wallabag, exécutez les commandes suivantes dans votre répertoire d'installation (remplacez ``2.0.8`` par le numéro de la dernière version) : +La dernière version de wallabag est publiée à cette adresse : https://www.wallabag.org/pages/download-wallabag.html. Pour mettre à jour votre installation de wallabag, exécutez les commandes suivantes dans votre répertoire d'installation (remplacez ``2.1.2`` par le numéro de la dernière version) : :: rm -rf var/cache/* git fetch origin git fetch --tags - git checkout 2.0.8 + git checkout 2.1.2 --force SYMFONY_ENV=prod composer install --no-dev -o --prefer-dist php bin/console cache:clear --env=prod @@ -26,7 +26,7 @@ Téléchargez la dernière version de wallabag : wget http://wllbg.org/latest-v2-package && tar xvf latest-v2-package -(hash md5 de l'archive 2.0.8 : ``4f84c725d1d6e3345eae0a406115e5ff``) +Vous trouverez `le hash md5 du dernier package sur notre site `_. Décompressez l'archive dans votre répertoire d'installation et remplacez le fichier ``app/config/parameters.yml`` avec le votre. diff --git a/scripts/dev.sh b/scripts/dev.sh new file mode 100644 index 000000000..9b89da35f --- /dev/null +++ b/scripts/dev.sh @@ -0,0 +1,7 @@ +#! /usr/bin/env bash +# You can execute this file to install wallabag dev environmnet +# eg: `sh install.sh prod` + +composer install +php bin/console wallabag:install +php bin/console server:run diff --git a/src/Wallabag/CoreBundle/Command/InstallCommand.php b/src/Wallabag/CoreBundle/Command/InstallCommand.php index 82cd9dafa..277f85242 100644 --- a/src/Wallabag/CoreBundle/Command/InstallCommand.php +++ b/src/Wallabag/CoreBundle/Command/InstallCommand.php @@ -380,7 +380,7 @@ class InstallCommand extends ContainerAwareCommand ], [ 'name' => 'piwik_host', - 'value' => 'http://v2.wallabag.org', + 'value' => 'v2.wallabag.org', 'section' => 'analytics', ], [ diff --git a/src/Wallabag/CoreBundle/Controller/EntryController.php b/src/Wallabag/CoreBundle/Controller/EntryController.php index 3b28e6350..97bb3d12f 100644 --- a/src/Wallabag/CoreBundle/Controller/EntryController.php +++ b/src/Wallabag/CoreBundle/Controller/EntryController.php @@ -330,6 +330,15 @@ class EntryController extends Controller $this->updateEntry($entry, 'entry_reloaded'); + // if refreshing entry failed, don't save it + if ($this->getParameter('wallabag_core.fetching_error_message') === $entry->getContent()) { + $bag = $this->get('session')->getFlashBag(); + $bag->clear(); + $bag->add('notice', 'flashes.entry.notice.entry_reloaded_failed'); + + return $this->redirect($this->generateUrl('view', ['id' => $entry->getId()])); + } + $em = $this->getDoctrine()->getManager(); $em->persist($entry); $em->flush(); diff --git a/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php b/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php index 9425f961f..a5e1be65f 100644 --- a/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php +++ b/src/Wallabag/CoreBundle/DataFixtures/ORM/LoadSettingData.php @@ -122,7 +122,7 @@ class LoadSettingData extends AbstractFixture implements OrderedFixtureInterface ], [ 'name' => 'piwik_host', - 'value' => 'http://v2.wallabag.org', + 'value' => 'v2.wallabag.org', 'section' => 'analytics', ], [ diff --git a/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php b/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php index d8141eea9..3a3da0246 100644 --- a/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php +++ b/src/Wallabag/CoreBundle/DependencyInjection/Configuration.php @@ -39,6 +39,8 @@ class Configuration implements ConfigurationInterface ->integerNode('cache_lifetime') ->defaultValue(10) ->end() + ->scalarNode('fetching_error_message') + ->end() ->end() ; diff --git a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php index 0cbde908d..b4992d545 100644 --- a/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php +++ b/src/Wallabag/CoreBundle/DependencyInjection/WallabagCoreExtension.php @@ -23,6 +23,7 @@ class WallabagCoreExtension extends Extension $container->setParameter('wallabag_core.version', $config['version']); $container->setParameter('wallabag_core.paypal_url', $config['paypal_url']); $container->setParameter('wallabag_core.cache_lifetime', $config['cache_lifetime']); + $container->setParameter('wallabag_core.fetching_error_message', $config['fetching_error_message']); $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); $loader->load('services.yml'); diff --git a/src/Wallabag/CoreBundle/Resources/config/services.yml b/src/Wallabag/CoreBundle/Resources/config/services.yml index 048a72fc8..cc5f9e9ad 100644 --- a/src/Wallabag/CoreBundle/Resources/config/services.yml +++ b/src/Wallabag/CoreBundle/Resources/config/services.yml @@ -40,7 +40,7 @@ services: class: Graby\Graby arguments: - - error_message: "wallabag can't retrieve contents for this article. Please report this issue to us." + error_message: '%wallabag_core.fetching_error_message%' http_client: user_agents: 'lifehacker.com': 'PHP/5.2' diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml index 7c8ae66e5..c05955833 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.da.yml @@ -457,6 +457,9 @@ user: # delete_confirm: Are you sure? # back_to_list: Back to list +error: + # page_title: An error occurred + flashes: config: notice: diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml index 20f9753be..0051da2f4 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.de.yml @@ -11,8 +11,8 @@ security: resetting: description: "Gib unten deine E-Mail-Adresse ein und wir senden dir eine Anleitung für das Zurücksetzen deines Kennworts." register: - page_title: 'Account erstellen' - go_to_account: 'Gehe zu deinem Account' + page_title: 'Konto erstellen' + go_to_account: 'Gehe zu deinem Konto' menu: left: @@ -53,7 +53,7 @@ config: tab_menu: settings: 'Einstellungen' rss: 'RSS' - user_info: 'Benutzer-Information' + user_info: 'Benutzerinformation' password: 'Kennwort' rules: 'Tagging-Regeln' new_user: 'Benutzer hinzufügen' @@ -73,18 +73,18 @@ config: pocket_consumer_key_label: Consumer-Key für Pocket, um Inhalte zu importieren form_rss: description: 'Die RSS-Feeds von wallabag erlauben es dir, deine gespeicherten Artikel mit deinem bevorzugten RSS-Reader zu lesen. Vorher musst du jedoch einen Token erstellen.' - token_label: 'RSS-token' + token_label: 'RSS-Token' no_token: 'Kein Token' token_create: 'Token erstellen' token_reset: 'Token zurücksetzen' rss_links: 'RSS-Links' rss_link: - unread: 'ungelesen' - starred: 'favoriten' - archive: 'archiv' - rss_limit: 'Anzahl der Einträge im Feed' + unread: 'Ungelesene' + starred: 'Favoriten' + archive: 'Archivierte' + rss_limit: 'Anzahl der Einträge pro Feed' form_user: - two_factor_description: "Wenn du die Zwei-Faktor-Authentifizierung aktivierst, erhältst du eine E-Mail mit einem Code bei jeder nicht vertraulichen Verbindung" + two_factor_description: "Wenn du die Zwei-Faktor-Authentifizierung aktivierst, erhältst du eine E-Mail mit einem Code bei jeder nicht vertrauenswürdigen Verbindung" name_label: 'Name' email_label: 'E-Mail-Adresse' twoFactorAuthentication_label: 'Zwei-Faktor-Authentifizierung' @@ -114,10 +114,10 @@ config: faq: title: 'FAQ' tagging_rules_definition_title: 'Was bedeuten die "Tagging-Regeln"?' - tagging_rules_definition_description: 'Dies sind Regeln von wallabag, um neu hinzugefügte Einträge autmatisch zu taggen.
Jedes Mal, wenn ein neuer Eintrag hinzufügt wird, werden die Tagging-Regeln angewandt. Dies erleichtert dir die Arbeit, deine Einträge manuell zu klassifizieren.' + tagging_rules_definition_description: 'Dies sind Regeln von wallabag, um neu hinzugefügte Einträge automatisch zu taggen.
Jedes Mal, wenn ein neuer Eintrag hinzugefügt wird, werden die Tagging-Regeln angewandt. Dies erleichtert dir die Arbeit, deine Einträge manuell zu kategorisieren.' how_to_use_them_title: 'Wie nutze ich sie?' - how_to_use_them_description: 'Nehmen wir an, du möchtest deine Einträge als "schnell lesbar" taggen, wenn die Lesezeit kürzer als drei Minuten ist.
In diesem Falle solltest du "readingTime <= 3" in das Regel-Feld und "schnell lesbar" in das Tags-Feld schreiben.
Mehrere Tags können gleichzeitig hinzugefügt werden, indem sie durch ein Kommata getrennt werden: "schnell lesbar, interessant"
Komplexe Regeln können durch vordefinierte Operatoren geschrieben werden: if "readingTime >= 5 AND domainName = "github.com"" then tag as "long reading, github "' - variables_available_title: 'Welche Variablen und Operatoren kann ich nutzen, um Regeln zu schreiben?' + how_to_use_them_description: 'Nehmen wir an, du möchtest deine Einträge als "schnell lesbar" taggen, wenn die Lesezeit kürzer als drei Minuten ist.
In diesem Fall solltest du "readingTime <= 3" in das Feld Regel und "schnell lesbar" in das Feld Tags schreiben.
Mehrere Tags können gleichzeitig hinzugefügt werden, indem sie durch ein Komma getrennt werden: "schnell lesbar, interessant".
Komplexe Regeln können durch vordefinierte Operatoren geschrieben werden: if "readingTime >= 5 AND domainName = "github.com"" dann tagge als "länger lesen, github".' + variables_available_title: 'Welche Variablen und Operatoren kann ich benutzen, um Regeln zu schreiben?' variables_available_description: 'Die folgenden Variablen und Operatoren können genutzt werden, um Tagging-Regeln zu erstellen:' meaning: 'Bedeutung' variable_description: @@ -130,7 +130,7 @@ config: language: "Sprache des Eintrags" mimetype: "MIME-Typ des Eintrags" readingTime: "Die geschätzte Lesezeit in Minuten" - domainName: 'Der Domain-Name des Eintrags' + domainName: 'Der Domainname des Eintrags' operator_description: label: 'Operator' less_than: 'Weniger oder gleich als…' @@ -141,7 +141,7 @@ config: not_equal_to: 'ungleich' or: 'Eine Regel ODER die andere' and: 'Eine Regel UND eine andere' - matches: 'Tests, ob eine Variable auf eine Suche zutrifft (Groß- und Kleinschreibung wird nicht berücksichtigt).
Beispiel: title matches "Fußball"' + matches: 'Testet, ob eine Variable auf eine Suche zutrifft (Groß- und Kleinschreibung wird nicht berücksichtigt).
Beispiel: title matches "Fußball"' entry: page_titles: @@ -159,13 +159,13 @@ entry: number_of_tags: '{1}und ein anderer Tag|]1,Inf[und %count% andere Tags' reading_time_minutes_short: '%readingTime% min' reading_time_less_one_minute_short: '< 1 min' - original_article: 'original' + original_article: 'Original' toogle_as_read: 'Gelesen-Status ändern' toogle_as_star: 'Favoriten-Status ändern' delete: 'Löschen' export_title: 'Exportieren' filters: - title: 'Filters' + title: 'Filter' status_label: 'Status' archived_label: 'Archiviert' starred_label: 'Favorisiert' @@ -177,14 +177,14 @@ entry: label: 'Lesezeit in Minuten' from: 'von' to: 'bis' - domain_label: 'Domain-Name' + domain_label: 'Domainname' created_at: label: 'Erstellungsdatum' from: 'von' to: 'bis' action: clear: 'Zurücksetzen' - filter: 'Filter' + filter: 'Filtern' view: left_menu: back_to_top: 'Nach oben' @@ -192,7 +192,7 @@ entry: set_as_read: 'Als gelesen markieren' set_as_unread: 'Als ungelesen markieren' set_as_starred: 'Favorisieren' - view_original_article: 'Original-Artikel' + view_original_article: 'Originalartikel' re_fetch_content: 'Inhalt neu laden' delete: 'Löschen' add_a_tag: 'Tag hinzufügen' @@ -221,7 +221,7 @@ entry: is_public_label: 'Öffentlich' save_label: 'Speichern' public: - # shared_by_wallabag: "This article has been shared by wallabag" + shared_by_wallabag: "Dieser Artikel wurde mittels wallabag geteilt" about: page_title: 'Über' @@ -230,7 +230,7 @@ about: getting_help: 'Hilfe bekommen' helping: 'wallabag unterstützen' contributors: 'Unterstützer' - third_party: 'Third-party libraries' + third_party: 'Bibliotheken von Drittanbietern' who_behind_wallabag: developped_by: 'Entwickelt von' website: 'Webseite' @@ -240,12 +240,12 @@ about: version: 'Version' getting_help: documentation: 'Dokumentation' - bug_reports: 'Bugs' + bug_reports: 'Fehlerberichte' support: 'Auf unserer Support-Webseite oder auf GitHub' helping: - description: 'wallabag ist kostenlos und Open-Source. Du kannst uns helfen:' + description: 'wallabag ist frei und Open Source. Du kannst uns helfen:' by_contributing: 'indem du zu dem Projekt beiträgst:' - by_contributing_2: 'ein Issue listet alle unsere Bedürfnisse:' + by_contributing_2: 'ein Ticket listet alle unsere Bedürfnisse:' by_paypal: 'via PayPal' contributors: description: 'Ein Dankeschön an die Unterstützer von wallabag' @@ -258,11 +258,11 @@ howto: page_title: 'How-To' page_description: 'Es gibt mehrere Möglichkeiten, einen Artikel zu speichern:' top_menu: - browser_addons: 'Browser-Addons' + browser_addons: 'Browser-Erweiterungen' mobile_apps: 'Apps' - bookmarklet: 'Bookmarklet' + bookmarklet: 'Lesezeichen' form: - description: 'Danke an dieses Formular' + description: 'Dank dieses Formulars' browser_addons: firefox: 'Firefox-Erweiterung' chrome: 'Chrome-Erweiterung' @@ -291,16 +291,16 @@ quickstart: admin: title: 'Administration' description: 'Als Adminstrator hast du einige Privilegien. Du kannst:' - new_user: 'Einen neuen Nutzer anlegen' + new_user: 'Einen neuen Benutzer anlegen' analytics: 'das Tracking konfigurieren' sharing: 'Einige Parameter für das Teilen von Artikel setzen' export: 'Export-Einstellungen ändern' import: 'Import-Einstellungen ändern' first_steps: title: 'Erste Schritte' - description: "Jetzt ist wallabag gut konfiguriert, es ist Zeit das Web zu archivieren. Du kannst auf das Plussymbol + oben rechts klicken, um einen Link hinzuzufügen" + description: "Jetzt ist wallabag gut konfiguriert, es ist Zeit, das Web zu archivieren. Du kannst auf das Plussymbol + oben rechts klicken, um einen Link hinzuzufügen" new_article: 'Speichere deinen ersten Artikel' - unread_articles: 'Und klassifiziere ihn!' + unread_articles: 'Und kategorisiere ihn!' migrate: title: 'Von einem anderen Dienst migrieren' description: "Du nutzt einen anderen Dienst? Wir helfen dir, um deine Daten zu wallabag zu transportieren." @@ -333,7 +333,7 @@ tag: page_title: 'Tags' list: number_on_the_page: '{0} Es gibt keine Tags.|{1} Es gibt einen Tag.|]1,Inf[ Es gibt %count% Tags.' - see_untagged_entries: 'Siehe nicht getaggte Einträge' + see_untagged_entries: 'Zeige nicht getaggte Einträge' import: page_title: 'Importieren' @@ -350,14 +350,14 @@ import: description: "Dieser Importer wird all deine Pocket-Daten importieren. Pocket erlaubt es uns nicht, den Inhalt zu migrieren, daher wird der lesbare Inhalt erneut von wallabag heruntergeladen." config_missing: description: "Pocket-Import ist nicht konfiguriert." - admin_message: 'Du musst noch den %keyurls%a pocket_consumer_key%keyurle% definieren.' - user_message: 'Der Server-Administrator muss noch einen API-Key für Pocket konfigurieren.' - authorize_message: 'Du kannst deine Daten von deinem Pocket-Account importieren. Dazu musst du nur den nachfolgenden Button klicken und die Anwendung authentifizieren, sich mit getpocket.com zu verbinden.' + admin_message: 'Du musst noch den %keyurls%pocket_consumer_key%keyurle% eintragen.' + user_message: 'Der Administrator des Servers muss noch einen API-Schlüssel für Pocket konfigurieren.' + authorize_message: 'Du kannst deine Daten von deinem Pocket-Konto importieren. Dazu musst du nur den nachfolgenden Button klicken und die Anwendung authentifizieren, sich mit getpocket.com zu verbinden zu dürfen.' connect_to_pocket: 'Mit Pocket verbinden und Daten importieren' wallabag_v1: page_title: 'Aus wallabag v1 importieren' - description: 'Dieser Import wird all deine Artikel aus wallabag v1 importieren. Klicke auf der Konfigurations-Seite auf "JSON-Export" im "wallabag-Daten exportieren"-Abschnitt. Du erhältst eine "wallabag-export-1-xxxx-xx-xx.json"-Datei.' - how_to: 'Wähle die Export-Datei aus und klicke den nachfolgenden Button, um diese hochzuladen und zu importieren.' + description: 'Dieser Import wird all deine Artikel aus wallabag v1 importieren. Klicke in der Konfigurationsseite auf "JSON-Export" im "wallabag-Daten exportieren"-Abschnitt. Du erhältst eine "wallabag-export-1-xxxx-xx-xx.json"-Datei.' + how_to: 'Wähle die exportierte Datei aus und klicke den nachfolgenden Button, um diese hochzuladen und zu importieren.' wallabag_v2: page_title: 'Aus wallabag v2 importieren' description: 'Dieser Import wird all deine Artikel aus wallabag v2 importieren. Gehe auf "Alle Artikel" und dann, in der Exportieren-Seitenleiste auf "JSON". Dabei erhältst du eine "All articles.json"-Datei.' @@ -369,11 +369,11 @@ import: enabled: "Der Import erfolgt asynchron. Sobald der Import gestartet ist, wird diese Aufgabe extern abgearbeitet. Der aktuelle Service dafür ist:" firefox: page_title: 'Aus Firefox importieren' - description: "Dieser Import wird all deine Firefox Lesezeichen importieren. Gehe zu deinen Lesezeichen (Strg+Shift+O), dann auf \"Importen und Sichern\", wähle \"Sichern…\". Du erhälst eine .json Datei." + description: "Dieser Import wird all deine Lesezeichen aus Firefox importieren. Gehe zu deinen Lesezeichen (Strg+Shift+O), dann auf \"Importen und Sichern\", wähle \"Sichern…\". Du erhälst eine .json Datei." how_to: "Bitte wähle deine Lesezeichensicherungsdatei aus und klicke den nachfolgenden Button zum Importieren. Beachte, dass dieser Prozess eine lange Zeit in Anspruch nehmen kann, da alle Artikel geladen werden müssen." chrome: page_title: 'Aus Chrome importieren' - description: "Dieser Import wird all deine Chrome Lesezeichen importieren. Der Pfad zu der Datei hängt von deinem Betriebssystem ab:
  • In Linux gehst du zu dem ~/.config/chromium/Default/ Verzeichnis
  • In Windows sollte es unter %LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default sein
  • In OS X sollte es unter ~/Library/Application Support/Google/Chrome/Default/Bookmarks sein
Wenn du dort angekommen bist, kopiere die Lesezeichendatei zu einem Ort, den du später wiederfindest.
Beachte falls du Chromium statt Chrome hast, dass du den zuvor genannten Pfad entsprechend anpasst.

" + description: "Dieser Import wird all deine Lesezeichen aus Chrome importieren. Der Pfad zu der Datei hängt von deinem Betriebssystem ab:
  • In Linux gehst du zu dem ~/.config/chromium/Default/ Verzeichnis
  • In Windows sollte es unter %LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default sein
  • In OS X sollte es unter ~/Library/Application Support/Google/Chrome/Default/Bookmarks sein
Wenn du dort angekommen bist, kopiere die Lesezeichendatei Bookmarks zu einem Ort, den du später wiederfindest.
Beachte falls du Chromium statt Chrome hast, dass du den zuvor genannten Pfad entsprechend anpasst.

" how_to: "Bitte wähle deine Lesezeichensicherungsdatei aus und klicke den nachfolgenden Button zum Importieren. Beachte, dass dieser Prozess eine lange Zeit in Anspruch nehmen kann, da alle Artikel geladen werden müssen." instapaper: page_title: 'Aus Instapaper importieren' @@ -382,7 +382,7 @@ import: developer: page_title: 'Entwickler' - welcome_message: 'Willkomen zur wallabag-API' + welcome_message: 'Willkomen zur wallabag API' documentation: 'Dokumentation' how_to_first_app: 'Wie erstelle ich meine erste Anwendung' full_documentation: 'Komplette API-Dokumentation einsehen' @@ -399,7 +399,7 @@ developer: no_client: 'Bisher kein Client.' remove: warn_message_1: 'Du hast die Möglichkeit, diesen Client zu entfernen. DIESE AKTION IST NICHT WIDERRUFBAR!' - warn_message_2: "Wenn du ihn entfernst, hat keine der damit konfigurierten Anwendungen mehr die Möglichkeit, sich in deinen wallabag-Account anzumelden." + warn_message_2: "Wenn du ihn entfernst, hat keine der damit konfigurierten Anwendungen mehr die Möglichkeit, sich in deinen wallabag-Konto anzumelden." action: 'Client entfernen' client: page_title: 'Entwickler > Neuer Client' @@ -457,12 +457,15 @@ user: delete_confirm: Bist du sicher? back_to_list: Zurück zur Liste +error: + # page_title: An error occurred + flashes: config: notice: config_saved: 'Konfiguration gespeichert. Einige Einstellungen werden erst nach einer erneuten Anmeldung übernommen.' password_updated: 'Kennwort aktualisiert' - password_not_updated_demo: "Im Test-Modus kannst du das Kennwort nicht ändern." + password_not_updated_demo: "Im Testmodus kannst du das Kennwort nicht ändern." user_updated: 'Information aktualisiert' rss_updated: 'RSS-Informationen aktualisiert' tagging_rules_updated: 'Tagging-Regeln aktualisiert' @@ -480,11 +483,11 @@ flashes: entry_updated: 'Eintrag aktualisiert' entry_reloaded: 'Eintrag neugeladen' entry_reloaded_failed: 'Eintrag neugeladen, aber das Abrufen des Inhalts ist fehlgeschlagen' - entry_archived: 'Artikel archiviert' - entry_unarchived: 'Artikel dearchiviert' - entry_starred: 'Artikel favorisiert' - entry_unstarred: 'Artikel defavorisiert' - entry_deleted: 'Artikel gelöscht' + entry_archived: 'Eintrag archiviert' + entry_unarchived: 'Eintrag dearchiviert' + entry_starred: 'Eintrag favorisiert' + entry_unstarred: 'Eintrag defavorisiert' + entry_deleted: 'Eintrag gelöscht' tag: notice: tag_added: 'Tag hinzugefügt' @@ -492,8 +495,8 @@ flashes: notice: failed: 'Import fehlgeschlagen, bitte erneut probieren.' failed_on_file: 'Fehler während des Imports. Bitte überprüfe deine Import-Datei.' - summary: 'Import-Zusammenfassung: %imported% importiert, %skipped% bereits gespeichert.' - summary_with_queue: 'Import-Zusammenfassung: %queued% eingereiht.' + summary: 'Importzusammenfassung: %imported% importiert, %skipped% bereits gespeichert.' + summary_with_queue: 'Importzusammenfassung: %queued% eingereiht.' error: redis_enabled_not_installed: 'Redis ist aktiviert, um den asynchronen Import zu bewerkstelligen, aber es sieht so aus, dass wir keine Verbindung herstellen können. Bitte prüfe deine Redis-Konfiguration.' rabbit_enabled_not_installed: 'RabbitMQ ist aktiviert, um den asynchronen Import zu bewerkstelligen, aber es sieht so aus, dass wir keine Verbindung herstellen können. Bitte prüfe deine RabbitMQ-Konfiguration.' diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml index 35dde5353..462be5562 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.en.yml @@ -373,7 +373,7 @@ import: how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." chrome: page_title: 'Import > Chrome' - description: "This importer will import all your Chrome bookmarks. The location of the file depends on your operating system :
  • On Linux, go into the ~/.config/chromium/Default/ directory
  • On Windows, it should be at %LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default
  • On OS X, it should be at ~/Library/Application Support/Google/Chrome/Default/Bookmarks
Once you got there, copy the Bookmarks file someplace you'll find.
Note that if you have Chromium instead of Chrome, you'll have to correct paths accordingly.

" + description: "This importer will import all your Chrome bookmarks. The location of the file depends on your operating system :
  • On Linux, go into the ~/.config/chromium/Default/ directory
  • On Windows, it should be at %LOCALAPPDATA%\\Google\\Chrome\\User Data\\Default
  • On OS X, it should be at ~/Library/Application Support/Google/Chrome/Default/Bookmarks
Once you got there, copy the Bookmarks file someplace you'll find.
Note that if you have Chromium instead of Chrome, you'll have to correct paths accordingly.

" how_to: "Please choose the bookmark backup file and click on the button below to import it. Note that the process may take a long time since all articles have to be fetched." instapaper: page_title: 'Import > Instapaper' @@ -457,6 +457,9 @@ user: delete_confirm: Are you sure? back_to_list: Back to list +error: + page_title: An error occurred + flashes: config: notice: diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml index 13f2e9776..cfabe09f2 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.es.yml @@ -457,6 +457,9 @@ user: # delete_confirm: Are you sure? # back_to_list: Back to list +error: + # page_title: An error occurred + flashes: config: notice: diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml index 5ee1f62d1..07b5bee7c 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fa.yml @@ -456,6 +456,9 @@ user: # delete_confirm: Are you sure? # back_to_list: Back to list +error: + # page_title: An error occurred + flashes: config: notice: diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml index 14bdbbc75..db6f9f7e2 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.fr.yml @@ -377,7 +377,7 @@ import: how_to: "Choisissez le fichier de sauvegarde de vos marques-page et cliquez sur le bouton pour l'importer. Soyez avertis que le processus peut prendre un temps assez long car tous les articles doivent être récupérés en ligne." instapaper: page_title: 'Import > Instapaper' - description: 'Sur la page des paramètres (`https://www.instapaper.com/user`_), cliquez sur "Download .CSV file" dans la section "Export". Un fichier CSV se téléchargera ("instapaper-export.csv").' + description: 'Sur la page des paramètres (https://www.instapaper.com/user), cliquez sur "Download .CSV file" dans la section "Export". Un fichier CSV se téléchargera ("instapaper-export.csv").' how_to: "Choisissez le fichier de votre export Instapaper et cliquez sur le bouton ci-dessous pour l'importer." developer: @@ -457,6 +457,9 @@ user: delete_confirm: Êtes-vous sûr? back_to_list: Revenir à la liste +error: + page_title: Une erreur est survenue + flashes: config: notice: diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml index bc4448bdd..f1aff51a8 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.it.yml @@ -457,6 +457,9 @@ user: # delete_confirm: Are you sure? # back_to_list: Back to list +error: + # page_title: An error occurred + flashes: config: notice: diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml index 7d1a801a2..e0567d7e1 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.oc.yml @@ -457,6 +457,9 @@ user: delete_confirm: 'Sètz segur ?' back_to_list: 'Tornar a la lista' +error: + # page_title: An error occurred + flashes: config: notice: diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml index b05a9dfd9..8eef998b6 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.pl.yml @@ -457,6 +457,9 @@ user: delete_confirm: Jesteś pewien? back_to_list: Powrót do listy +error: + # page_title: An error occurred + flashes: config: notice: diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml index 571452c04..6e4813e58 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.ro.yml @@ -457,6 +457,9 @@ user: # delete_confirm: Are you sure? # back_to_list: Back to list +error: + # page_title: An error occurred + flashes: config: notice: diff --git a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml index 8e4296533..769031023 100644 --- a/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml +++ b/src/Wallabag/CoreBundle/Resources/translations/messages.tr.yml @@ -456,6 +456,9 @@ user: # delete_confirm: Are you sure? # back_to_list: Back to list +error: + # page_title: An error occurred + flashes: config: notice: diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig index 30fd0d85a..a046f7cf8 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/baggy/layout.html.twig @@ -23,12 +23,12 @@ {% block menu %} {% endblock %} diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig index 804adb362..f77264c67 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Entry/share.html.twig @@ -39,7 +39,7 @@ - +
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/about.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/about.html.twig index d0b942795..db193e819 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/about.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/common/Static/about.html.twig @@ -11,11 +11,11 @@
@@ -36,6 +36,7 @@
{{ 'about.getting_help.documentation'|trans }}
english
français
+
deutsch
{{ 'about.getting_help.bug_reports'|trans }}
{{ 'about.getting_help.support'|trans|raw }}
diff --git a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig index 79826e0f1..b53ae2fef 100644 --- a/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig +++ b/src/Wallabag/CoreBundle/Resources/views/themes/material/Config/index.html.twig @@ -11,11 +11,11 @@
diff --git a/src/Wallabag/CoreBundle/Twig/WallabagExtension.php b/src/Wallabag/CoreBundle/Twig/WallabagExtension.php index 783cde3e7..a305c53fc 100644 --- a/src/Wallabag/CoreBundle/Twig/WallabagExtension.php +++ b/src/Wallabag/CoreBundle/Twig/WallabagExtension.php @@ -138,8 +138,11 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa $interval = $user->getCreatedAt()->diff(new \DateTime('now')); $nbDays = (int) $interval->format('%a') ?: 1; + // force setlocale for date translation + setlocale(LC_TIME, strtolower($user->getConfig()->getLanguage()).'_'.strtoupper(strtolower($user->getConfig()->getLanguage()))); + return $this->translator->trans('footer.stats', [ - '%user_creation%' => $user->getCreatedAt()->format('F jS, Y'), + '%user_creation%' => strftime('%e %B %Y', $user->getCreatedAt()->getTimestamp()), '%nb_archives%' => $nbArchives, '%per_day%' => round($nbArchives / $nbDays, 2), ]); diff --git a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php index 2b85ad767..b893ea295 100644 --- a/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php +++ b/src/Wallabag/ImportBundle/Consumer/AbstractConsumer.php @@ -50,9 +50,10 @@ abstract class AbstractConsumer $entry = $this->import->parseEntry($storedEntry); if (null === $entry) { - $this->logger->warning('Unable to parse entry', ['entry' => $storedEntry]); + $this->logger->warning('Entry already exists', ['entry' => $storedEntry]); - return false; + // return true to skip message + return true; } try { diff --git a/src/Wallabag/ImportBundle/Import/BrowserImport.php b/src/Wallabag/ImportBundle/Import/BrowserImport.php index 9d75685b7..2ca1683b1 100644 --- a/src/Wallabag/ImportBundle/Import/BrowserImport.php +++ b/src/Wallabag/ImportBundle/Import/BrowserImport.php @@ -139,12 +139,24 @@ abstract class BrowserImport extends AbstractImport public function parseEntry(array $importedEntry) { if ((!array_key_exists('guid', $importedEntry) || (!array_key_exists('id', $importedEntry))) && is_array(reset($importedEntry))) { + if ($this->producer) { + $this->parseEntriesForProducer($importedEntry); + + return; + } + $this->parseEntries($importedEntry); return; } if (array_key_exists('children', $importedEntry)) { + if ($this->producer) { + $this->parseEntriesForProducer($importedEntry['children']); + + return; + } + $this->parseEntries($importedEntry['children']); return; diff --git a/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig b/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig index 938f1a31a..fc0d97e77 100644 --- a/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig +++ b/src/Wallabag/UserBundle/Resources/views/Security/login.html.twig @@ -5,11 +5,11 @@
{% if error %} - {{ error.message }} + {% endif %} {% for flashMessage in app.session.flashbag.get('notice') %} -

{{ flashMessage }}

+ {% endfor %}
@@ -41,7 +41,7 @@ send
-
+ diff --git a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php index 9b03a5193..051136503 100644 --- a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php @@ -359,11 +359,49 @@ class EntryControllerTest extends WallabagCoreTestCase $content = $em ->getRepository('WallabagCoreBundle:Entry') - ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); + ->find($content->getId()); $this->assertNotEmpty($content->getContent()); } + /** + * @depends testPostNewOk + */ + public function testReloadWithFetchingFailed() + { + $this->logInAs('admin'); + $client = $this->getClient(); + + $em = $client->getContainer() + ->get('doctrine.orm.entity_manager'); + + $content = $em + ->getRepository('WallabagCoreBundle:Entry') + ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); + + // put a known failed url + $content->setUrl('http://0.0.0.0/failed.html'); + $em->persist($content); + $em->flush(); + + $client->request('GET', '/reload/'.$content->getId()); + + $this->assertEquals(302, $client->getResponse()->getStatusCode()); + + // force EntityManager to clear previous entity + // otherwise, retrieve the same entity will retrieve change from the previous request :0 + $em->clear(); + $newContent = $em + ->getRepository('WallabagCoreBundle:Entry') + ->find($content->getId()); + + $newContent->setUrl($this->url); + $em->persist($newContent); + $em->flush(); + + $this->assertNotEquals($client->getContainer()->getParameter('wallabag_core.fetching_error_message'), $newContent->getContent()); + } + public function testEdit() { $this->logInAs('admin'); diff --git a/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php b/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php index 5e8ee41d8..01a92ad2a 100644 --- a/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php +++ b/tests/Wallabag/ImportBundle/Consumer/RedisEntryConsumerTest.php @@ -219,7 +219,7 @@ JSON; $res = $consumer->manage($body); - $this->assertFalse($res); + $this->assertTrue($res); $this->assertFalse($consumer->isStopJob($body)); } } diff --git a/web/bundles/wallabagcore/themes/baggy/css/style.min.css b/web/bundles/wallabagcore/themes/baggy/css/style.min.css index 15d7f3f39..c0ee23bab 100644 --- a/web/bundles/wallabagcore/themes/baggy/css/style.min.css +++ b/web/bundles/wallabagcore/themes/baggy/css/style.min.css @@ -1,2 +1 @@ -@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:local("PT Sans Bold"),local("PTSans-Bold"),url(../fonts/ptsansbold.woff) format("woff")}html{min-height:100%}body{background-color:#eee}.login{background-color:#333}.login #main{padding:0;margin:0}.login form{background-color:#fff;padding:1.5em;box-shadow:0 1px 8px rgba(0,0,0,.9);width:20em;top:8em;margin-left:-10em}.login .logo,.login form{position:absolute;left:50%}.login .logo{top:2em;margin-left:-55px}::-moz-selection{color:#fff;background-color:#000}::selection{color:#fff;background-color:#000}.desktopHide{display:none}.logo{position:fixed;z-index:5;top:.4em;left:.6em}h2,h3,h4{font-family:PT Sans,sans-serif;text-transform:uppercase}label,li,p{color:#666}a{color:#000;font-weight:700}a.nostyle,a:focus,a:hover{text-decoration:none}form fieldset{border:0;padding:0;margin:0}form input[type=email],form input[type=number],form input[type=password],form input[type=text],form input[type=url],select{border:1px solid #999;padding:.5em 1em;min-width:12em;color:#666}@media screen and (-webkit-min-device-pixel-ratio:0){select{-webkit-appearance:none;border-radius:0;background:#fff url(../../_global/img/bg-select.png) no-repeat 100%}}.inline .row{display:inline-block;margin-right:.5em}.inline label{min-width:6em}fieldset label{display:inline-block;min-width:12.5em;color:#666}label{margin-right:.5em}form .row{margin-bottom:.5em}form button,input[type=submit]{cursor:pointer;background-color:#000;color:#fff;padding:.5em 1em;display:inline-block;border:1px solid #000}form button:focus,form button:hover,input[type=submit]:focus,input[type=submit]:hover{background-color:#fff;color:#000;transition:all .5s ease}#bookmarklet{cursor:move}h2:after{content:"";height:4px;width:70px;background-color:#000;display:block}.links,.links li{padding:0;margin:0}.links li{list-style:none}#links{position:fixed;top:0;width:10em;left:0;text-align:right;background-color:#333;padding-top:9.5em;height:100%;box-shadow:inset -4px 0 20px rgba(0,0,0,.6);z-index:4}#main{margin-left:12em;position:relative;z-index:1;padding-right:5%;padding-bottom:1em}#links>li>a{display:block;padding:.5em 2em .5em 1em;color:#fff;position:relative;text-transform:uppercase;text-decoration:none;font-weight:400;font-family:PT Sans,sans-serif;transition:all .5s ease}#links>li>a:focus,#links>li>a:hover{background-color:#999;color:#000}#links .current:after{content:"";width:0;height:0;position:absolute;border-style:solid;border-width:10px;border-color:transparent #eee transparent transparent;right:0;top:50%;margin-top:-10px}#links li:last-child{position:fixed;bottom:1em;width:10em}#links li:last-child a:before{font-size:1.2em;position:relative;top:2px}#sort{padding:0;list-style-type:none;opacity:.5;display:inline-block}#sort li{display:inline;font-size:.9em}#sort li+li{margin-left:10px}#sort a{padding:2px 2px 0;vertical-align:middle}#sort img{vertical-align:baseline}#sort img:hover{cursor:pointer}#display-mode{float:right;margin-top:10px;margin-bottom:10px;opacity:.5}#listmode{width:16px;display:inline-block;text-decoration:none}#listmode a:hover{opacity:1}#listmode.tablemode{background-image:url(../img/baggy/table.png)}#listmode.listmode,#listmode.tablemode{background-repeat:no-repeat;background-position:bottom}#listmode.listmode{background-image:url(../img/baggy/list.png)}#warning_message{position:fixed;background-color:tomato;z-index:7;bottom:0;left:0;width:100%;color:#000}#content{margin-top:2em;min-height:30em}footer{text-align:right;position:relative;bottom:0;right:5em;color:#999;font-size:.8em;font-style:italic;z-index:5}footer a{color:#999;font-weight:400}.list-entries{letter-spacing:-5px}.listmode .entry{width:100%!important;margin-left:0!important}.card-entry-labels{position:absolute;top:100px;left:-1em;z-index:6;max-width:50%;padding-left:0}.card-entry-labels li{margin:10px 10px 10px auto;padding:5px 12px 5px 25px;background-color:rgba(0,0,0,.6);border-radius:0 3px 3px 0;color:#fff;cursor:default;max-height:2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-entry-tags{max-height:2em;overflow-y:hidden;padding:0;margin:0}.card-entry-tags li,.card-entry-tags span{display:inline-block;margin:0 5px;padding:5px 12px;background-color:rgba(0,0,0,.6);border-radius:3px;max-height:2em;overflow:hidden;text-overflow:ellipsis}.card-entry-labels a,.card-entry-tags a{text-decoration:none;font-weight:400;color:#fff}.nav-panel-add-tag{margin-top:10px}.list-entries+.results{margin-bottom:2em}.estimatedTime .reading-time{color:#999;font-style:italic;font-weight:400;font-size:.9em}.estimatedTime small{position:relative;top:-1px}.entry{background-color:#fff;letter-spacing:normal;box-shadow:0 3px 7px rgba(0,0,0,.3);display:inline-block;width:32%;margin-bottom:1.5em;vertical-align:top;margin-right:1%;position:relative;overflow:hidden;padding:1.5em 1.5em 3em;height:440px}.entry:before{width:0;height:0;border-style:solid;border-color:transparent transparent #000;border-width:10px;bottom:.3em;z-index:1;right:1.5em}.entry:after,.entry:before{content:"";position:absolute;transition:all .5s ease}.entry:after{height:7px;width:100%;bottom:0;left:0;background-color:#000}.entry:hover{box-shadow:0 3px 10px #000}.entry:hover:after{height:40px}.entry:hover:before{bottom:2.4em}.entry:hover h2 a{color:#666}.entry h2{text-transform:none;margin-bottom:0;line-height:1.2}.entry h2:after{content:none}.entry h2 a{display:block;text-decoration:none;color:#000;word-wrap:break-word;transition:all .5s ease}img.preview{max-width:calc(100% + 3em);left:-1.5em;position:relative}.entry p{color:#666;font-size:.9em;line-height:1.7;margin-top:5px}.entry h2 a:first-letter{text-transform:uppercase}.entry:hover .tools{bottom:0}.entry .tools{position:absolute;bottom:-50px;left:0;width:100%;z-index:1;padding-right:.5em;text-align:right;transition:all .5s ease}.entry .tools a{color:#666;text-decoration:none;display:block;padding:.4em}.entry .tools a:hover{color:#fff}.entry .tools li{display:inline-block}.entry:nth-child(3n+1){margin-left:0}.results{letter-spacing:-5px;padding:0 0 .5em}.results>*{display:inline-block;vertical-align:top;letter-spacing:normal;width:50%;text-align:right}div.pagination ul{text-align:right;margin-bottom:50px}.nb-results{text-align:left;font-style:italic;color:#999}div.pagination ul>*{display:inline-block;margin-left:.5em}div.pagination ul a{color:#999;text-decoration:none}div.pagination ul a:focus,div.pagination ul a:hover{text-decoration:underline}div.pagination ul .next.disabled,div.pagination ul .prev.disabled{display:none}div.pagination ul .current{height:25px;padding:4px 8px;border:1px solid #d5d5d5;text-decoration:none;font-weight:700;color:#000;background-color:#ccc}.popup-form{background:rgba(0,0,0,.5);left:10em;height:100%;width:100%;margin:0;margin-top:-30%!important;display:none;border-left:1px solid #eee}.popup-form,.popup-form form{position:absolute;top:0;z-index:5;padding:2em}.popup-form form{background-color:#fff;left:0;border:10px solid #000;width:400px;height:200px}#bagit-form-form .addurl{margin-left:0}.close-button,.closeMessage{background-color:#000;color:#fff;font-size:1.2em;line-height:1.6;width:1.6em;height:1.6em;text-align:center;text-decoration:none}.close-button:focus,.close-button:hover,.closeMessage:focus,.closeMessage:hover{background-color:#999;color:#000}.close-button--popup{display:inline-block;position:absolute;top:0;right:0;font-size:1.4em}.active-current{background-color:#999}.active-current:after{content:"";width:0;height:0;position:absolute;border-style:solid;border-width:10px;border-color:transparent #eee transparent transparent;right:0;top:50%;margin-top:-10px}.opacity03{opacity:.3}.add-to-wallabag-link-after{background-color:#000;color:#fff;padding:0 3px 2px}a.add-to-wallabag-link-after{visibility:hidden;position:absolute;opacity:0;transition-duration:2s;transition-timing-function:ease-out}#article article a:hover+a.add-to-wallabag-link-after,a.add-to-wallabag-link-after:hover{opacity:1;visibility:visible;transition-duration:.3s;transition-timing-function:ease-in}a.add-to-wallabag-link-after:after{content:"w"}#add-link-result{font-weight:700;font-size:.9em}.btn-clickable{cursor:pointer}@font-face{font-family:icomoon;src:url(../fonts/IcoMoon-Free.ttf);font-weight:400;font-style:normal}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(../fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(../fonts/MaterialIcons-Regular.woff2) format("woff2"),url(../fonts/MaterialIcons-Regular.woff) format("woff"),url(../fonts/MaterialIcons-Regular.ttf) format("truetype")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;width:1em;height:1em;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}.material-icons.md-18{font-size:18px}.material-icons.md-24{font-size:24px}.material-icons.md-36{font-size:36px}.material-icons.md-48{font-size:48px}.icon-image span,.icon span{position:absolute;top:-9999px}[class*=" icon-"]:before,[class^=icon-]:before{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;letter-spacing:0;-ms-font-feature-settings:"liga" 1;-o-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-flattr:before{content:"\ead4"}.icon-mail:before{content:"\ea86"}.icon-up-open:before{content:"\e80b"}.icon-star:before{content:"\e9d9"}.icon-check:before{content:"\ea10"}.icon-link:before{content:"\e9cb"}.icon-reply:before{content:"\e806"}.icon-menu:before{content:"\e9bd"}.icon-clock:before{content:"\e803"}.icon-twitter:before{content:"\ea96"}.icon-down-open:before{content:"\e809"}.icon-trash:before{content:"\e9ac"}.icon-delete:before{content:"\ea0d"}.icon-power:before{content:"\ea14"}.icon-arrow-up-thick:before{content:"\ea3a"}.icon-rss:before{content:"\e808"}.icon-print:before{content:"\e954"}.icon-reload:before{content:"\ea2e"}.icon-price-tags:before{content:"\e936"}.icon-eye:before{content:"\e9ce"}.icon-no-eye:before{content:"\e9d1"}.icon-calendar:before{content:"\e953"}.icon-time:before{content:"\e952"}.icon-image{background-size:16px 16px;background-repeat:no-repeat;background-position:50%;padding-right:1em!important;padding-left:1em!important}.icon-image--carrot{background-image:url(../../_global/img/icons/carrot-icon--white.png)}.icon-image--diaspora{background-image:url(../../_global/img/icons/diaspora-icon--black.png)}.icon-image--shaarli{background-image:url(../../_global/img/icons/shaarli.png)}.icon-check.archive:before,.icon-star.fav:before{color:#fff}.messages{text-align:left;margin-top:1em}.messages>*{display:inline-block}.warning{font-weight:700;display:block;width:100%}.more-info{font-size:.85em;line-height:1.5;color:#aaa}.more-info a{color:#aaa}#article{width:70%;margin-bottom:3em;text-align:justify}#article .tags{margin-bottom:1em}#article i{font-style:normal}blockquote{border:1px solid #999;background-color:#fff;padding:1em;margin:0}#article h1{text-align:left}#article h2,#article h3,#article h4{text-transform:none}#article h2:after{content:none}.topPosF{position:fixed;right:20%;bottom:2em;font-size:1.5em}#article_toolbar{margin-bottom:1em}#article_toolbar li{display:inline-block;margin:3px auto}#article_toolbar a{background-color:#000;padding:.3em .5em .2em;color:#fff;text-decoration:none}#article_toolbar a:focus,#article_toolbar a:hover{background-color:#999}#nav-btn-add-tag{cursor:pointer}.shaarli:before{content:"*"}.return{text-decoration:none;margin-top:1em;display:block}.return:before{margin-right:.5em}.notags{font-style:italic;color:#999}.icon-rss{background-color:#000;color:#fff;padding:.2em .5em}.icon-rss:before{position:relative;top:2px}.list-tags li{margin-bottom:.5em}.list-tags .icon-rss:focus,.list-tags .icon-rss:hover{background-color:#fff;color:#000;text-decoration:none}.list-tags a{text-decoration:none}.list-tags a:focus,.list-tags a:hover{text-decoration:underline}pre code{font-family:Courier New,Courier,monospace}#filters{position:fixed;width:20%;height:100%;top:0;right:0;background-color:#fff;padding:15px;padding-right:30px;padding-top:30px;border-left:1px solid #333;z-index:3;min-width:300px}#filters form .filter-group{margin:5px}#download-form{position:fixed;width:10%;height:100%;top:0;right:0;background-color:#fff;padding:15px;padding-right:30px;padding-top:30px;border-left:1px solid #333;z-index:3;min-width:200px}#download-form li{display:block;padding:.5em 2em .5em 1em;color:#fff;position:relative;text-transform:uppercase;text-decoration:none;font-weight:400;font-family:PT Sans,sans-serif;transition:all .5s ease}@media screen and (max-width:1050px){.entry{width:49%}.entry:nth-child(3n+1){margin-left:1.5%}.entry:nth-child(2n+1){margin-left:0}}@media screen and (max-width:900px){#article{width:80%}.topPosF{right:2.5em}}@media screen and (max-width:700px){.entry{width:100%;margin-left:0}#display-mode{display:none}}@media screen and (max-width:500px){.entry{width:100%;margin-left:0}body>header{background-color:#333;position:fixed;top:0;width:100%;height:3em;z-index:2}#links li:last-child{position:static;width:auto}#links li:last-child a:before{content:none}.logo{width:1.25em;height:1.25em;left:0;top:0}.login>header,.login form{position:static}.login form{width:100%;margin-left:0}.login .logo{height:auto;top:.5em;width:75px;margin-left:-37.5px}.desktopHide{display:block;position:fixed;z-index:5;top:0;right:0;border:0;width:2.5em;height:2.5em;cursor:pointer;background-color:#999;font-size:1.2em}.desktopHide:focus,.desktopHide:hover{background-color:#fff}#links{display:none;width:100%;height:auto;padding-top:3em}#links.menu--open{display:block}footer{margin-right:3em}#main,footer{position:static}#main{margin-left:1.5em;padding-right:1.5em;margin-top:3em}#article_toolbar .topPosF,.card-entry-labels{display:none}#article{width:100%}#article h1{font-size:1.5em}#article_toolbar a{padding:.3em .4em .2em}#display-mode{display:none}#bagit-form,#search-form,.popup-form{left:0;width:100%;border-left:none}#bagit-form form,#search-form form,.popup-form form{width:100%}}.messages.error.install{border:1px solid #c42608;color:#c00!important;background:#fff0ef;text-align:left}.messages.notice.install{border:1px solid #ebcd41;color:#000;background:#fffcd3;text-align:left}.messages.success.install{border:1px solid #6dc70c;background:#e0fbcc!important;text-align:left}@media print{body{font-family:Serif;background-color:#fff}@page{margin:1cm}img{max-width:100%!important}#article-informations,#article .mbm a,#article_toolbar,#links,#sort,.entrie+.results,.messages,.top_link,body>footer,body>header,div.tools,header div{display:none!important}article{border:none!important}.vieworiginal a:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.pagination span.current{border-style:dashed}#main{padding:0;margin:0;margin-left:0;padding-right:0;padding-bottom:0}#article,#main{width:100%}}*{box-sizing:border-box}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{font-size:1em;line-height:1.5;margin:0}dl:first-child,h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,ol:first-child,p:first-child,ul:first-child{margin-top:0}code,kbd,pre,samp{font-family:monospace,serif}pre{white-space:pre-wrap}.upper{text-transform:uppercase}.bold{font-weight:700}.inner{margin:0 auto;max-width:61.25em}figure,img,table{max-width:100%;height:auto}iframe{max-width:100%}.fl{float:left}.fr{float:right}table{border-collapse:collapse}figure{margin:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}input[type=search]{-webkit-appearance:textfield}.dib{display:inline-block;vertical-align:middle}.dnone{display:none}.dtable{display:table}.dtable>*{display:table-row}.dtable>*>*{display:table-cell}.element-invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.small{font-size:.8em}.big{font-size:1.2em}.w100{width:100%}.w90{width:90%}.w80{width:80%}.w70{width:70%}.w60{width:60%}.w50{width:50%}.w40{width:40%}.w30{width:30%}.w20{width:20%}.w10{width:10%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}@media screen and (-webkit-min-device-pixel-ratio:0){select{-webkit-appearance:none;border-radius:0}} -/*# sourceMappingURL=style.min.css.map */ \ No newline at end of file +@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:local("PT Sans Bold"),local("PTSans-Bold"),url(../fonts/ptsansbold.woff) format("woff")}html{min-height:100%}body{background-color:#eee}.login{background-color:#333}.login #main{padding:0;margin:0}.login form{background-color:#fff;padding:1.5em;box-shadow:0 1px 8px rgba(0,0,0,.9);width:20em;top:8em;margin-left:-10em}.login .logo,.login form{position:absolute;left:50%}.login .logo{top:2em;margin-left:-55px}::-moz-selection{color:#fff;background-color:#000}::selection{color:#fff;background-color:#000}.desktopHide{display:none}.logo{position:fixed;z-index:5;top:.4em;left:.6em}h2,h3,h4{font-family:PT Sans,sans-serif;text-transform:uppercase}label,li,p{color:#666}a{color:#000;font-weight:700}a.nostyle,a:focus,a:hover{text-decoration:none}form fieldset{border:0;padding:0;margin:0}form input[type=email],form input[type=number],form input[type=password],form input[type=text],form input[type=url],select{border:1px solid #999;padding:.5em 1em;min-width:12em;color:#666}@media screen and (-webkit-min-device-pixel-ratio:0){select{-webkit-appearance:none;border-radius:0;background:#fff url(../../_global/img/bg-select.png) no-repeat 100%}}.inline .row{display:inline-block;margin-right:.5em}.inline label{min-width:6em}fieldset label{display:inline-block;min-width:12.5em;color:#666}label{margin-right:.5em}form .row{margin-bottom:.5em}form button,input[type=submit]{cursor:pointer;background-color:#000;color:#fff;padding:.5em 1em;display:inline-block;border:1px solid #000}form button:focus,form button:hover,input[type=submit]:focus,input[type=submit]:hover{background-color:#fff;color:#000;transition:all .5s ease}#bookmarklet{cursor:move}h2:after{content:"";height:4px;width:70px;background-color:#000;display:block}.links,.links li{padding:0;margin:0}.links li{list-style:none}#links{position:fixed;top:0;width:10em;left:0;text-align:right;background-color:#333;padding-top:9.5em;height:100%;box-shadow:inset -4px 0 20px rgba(0,0,0,.6);z-index:4}#main{margin-left:12em;position:relative;z-index:1;padding-right:5%;padding-bottom:1em}#links>li>a{display:block;padding:.5em 2em .5em 1em;color:#fff;position:relative;text-transform:uppercase;text-decoration:none;font-weight:400;font-family:PT Sans,sans-serif;transition:all .5s ease}#links>li>a:focus,#links>li>a:hover{background-color:#999;color:#000}#links .current:after{content:"";width:0;height:0;position:absolute;border-style:solid;border-width:10px;border-color:transparent #eee transparent transparent;right:0;top:50%;margin-top:-10px}#links li:last-child{position:fixed;bottom:1em;width:10em}#links li:last-child a:before{font-size:1.2em;position:relative;top:2px}#sort{padding:0;list-style-type:none;opacity:.5;display:inline-block}#sort li{display:inline;font-size:.9em}#sort li+li{margin-left:10px}#sort a{padding:2px 2px 0;vertical-align:middle}#sort img{vertical-align:baseline}#sort img:hover{cursor:pointer}#display-mode{float:right;margin-top:10px;margin-bottom:10px;opacity:.5}#listmode{width:16px;display:inline-block;text-decoration:none}#listmode a:hover{opacity:1}#listmode.tablemode{background-image:url(../img/baggy/table.png)}#listmode.listmode,#listmode.tablemode{background-repeat:no-repeat;background-position:bottom}#listmode.listmode{background-image:url(../img/baggy/list.png)}#warning_message{position:fixed;background-color:tomato;z-index:7;bottom:0;left:0;width:100%;color:#000}#content{margin-top:2em;min-height:30em}footer{text-align:right;position:relative;bottom:0;right:5em;color:#999;font-size:.8em;font-style:italic;z-index:5}footer a{color:#999;font-weight:400}.list-entries{letter-spacing:-5px}.listmode .entry{width:100%!important;margin-left:0!important}.card-entry-labels{position:absolute;top:100px;left:-1em;z-index:6;max-width:50%;padding-left:0}.card-entry-labels li{margin:10px 10px 10px auto;padding:5px 12px 5px 25px;background-color:rgba(0,0,0,.6);border-radius:0 3px 3px 0;color:#fff;cursor:default;max-height:2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-entry-tags{max-height:2em;overflow-y:hidden;padding:0;margin:0}.card-entry-tags li,.card-entry-tags span{display:inline-block;margin:0 5px;padding:5px 12px;background-color:rgba(0,0,0,.6);border-radius:3px;max-height:2em;overflow:hidden;text-overflow:ellipsis}.card-entry-labels a,.card-entry-tags a{text-decoration:none;font-weight:400;color:#fff}.nav-panel-add-tag{margin-top:10px}.list-entries+.results{margin-bottom:2em}.estimatedTime .reading-time{color:#999;font-style:italic;font-weight:400;font-size:.9em}.estimatedTime small{position:relative;top:-1px}.entry{background-color:#fff;letter-spacing:normal;box-shadow:0 3px 7px rgba(0,0,0,.3);display:inline-block;width:32%;margin-bottom:1.5em;vertical-align:top;margin-right:1%;position:relative;overflow:hidden;padding:1.5em 1.5em 3em;height:440px}.entry:before{width:0;height:0;border-style:solid;border-color:transparent transparent #000;border-width:10px;bottom:.3em;z-index:1;right:1.5em}.entry:after,.entry:before{content:"";position:absolute;transition:all .5s ease}.entry:after{height:7px;width:100%;bottom:0;left:0;background-color:#000}.entry:hover{box-shadow:0 3px 10px #000}.entry:hover:after{height:40px}.entry:hover:before{bottom:2.4em}.entry:hover h2 a{color:#666}.entry h2{text-transform:none;margin-bottom:0;line-height:1.2}.entry h2:after{content:none}.entry h2 a{display:block;text-decoration:none;color:#000;word-wrap:break-word;transition:all .5s ease}img.preview{max-width:calc(100% + 3em);left:-1.5em;position:relative}.entry p{color:#666;font-size:.9em;line-height:1.7;margin-top:5px}.entry h2 a:first-letter{text-transform:uppercase}.entry:hover .tools{bottom:0}.entry .tools{position:absolute;bottom:-50px;left:0;width:100%;z-index:1;padding-right:.5em;text-align:right;transition:all .5s ease}.entry .tools a{color:#666;text-decoration:none;display:block;padding:.4em}.entry .tools a:hover{color:#fff}.entry .tools li{display:inline-block}.entry:nth-child(3n+1){margin-left:0}.results{letter-spacing:-5px;padding:0 0 .5em}.results>*{display:inline-block;vertical-align:top;letter-spacing:normal;width:50%;text-align:right}div.pagination ul{text-align:right;margin-bottom:50px}.nb-results{text-align:left;font-style:italic;color:#999}div.pagination ul>*{display:inline-block;margin-left:.5em}div.pagination ul a{color:#999;text-decoration:none}div.pagination ul a:focus,div.pagination ul a:hover{text-decoration:underline}div.pagination ul .next.disabled,div.pagination ul .prev.disabled{display:none}div.pagination ul .current{height:25px;padding:4px 8px;border:1px solid #d5d5d5;text-decoration:none;font-weight:700;color:#000;background-color:#ccc}.popup-form{background:rgba(0,0,0,.5);left:10em;height:100%;width:100%;margin:0;margin-top:-30%!important;display:none;border-left:1px solid #eee}.popup-form,.popup-form form{position:absolute;top:0;z-index:5;padding:2em}.popup-form form{background-color:#fff;left:0;border:10px solid #000;width:400px;height:200px}#bagit-form-form .addurl{margin-left:0}.close-button,.closeMessage{background-color:#000;color:#fff;font-size:1.2em;line-height:1.6;width:1.6em;height:1.6em;text-align:center;text-decoration:none}.close-button:focus,.close-button:hover,.closeMessage:focus,.closeMessage:hover{background-color:#999;color:#000}.close-button--popup{display:inline-block;position:absolute;top:0;right:0;font-size:1.4em}.active-current{background-color:#999}.active-current:after{content:"";width:0;height:0;position:absolute;border-style:solid;border-width:10px;border-color:transparent #eee transparent transparent;right:0;top:50%;margin-top:-10px}.opacity03{opacity:.3}.add-to-wallabag-link-after{background-color:#000;color:#fff;padding:0 3px 2px}a.add-to-wallabag-link-after{visibility:hidden;position:absolute;opacity:0;transition-duration:2s;transition-timing-function:ease-out}#article article a:hover+a.add-to-wallabag-link-after,a.add-to-wallabag-link-after:hover{opacity:1;visibility:visible;transition-duration:.3s;transition-timing-function:ease-in}a.add-to-wallabag-link-after:after{content:"w"}#add-link-result{font-weight:700;font-size:.9em}.btn-clickable{cursor:pointer}@font-face{font-family:icomoon;src:url(../fonts/IcoMoon-Free.ttf);font-weight:400;font-style:normal}@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(../fonts/MaterialIcons-Regular.eot);src:local("Material Icons"),local("MaterialIcons-Regular"),url(../fonts/MaterialIcons-Regular.woff2) format("woff2"),url(../fonts/MaterialIcons-Regular.woff) format("woff"),url(../fonts/MaterialIcons-Regular.ttf) format("truetype")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:1em;width:1em;height:1em;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}.material-icons.md-18{font-size:18px}.material-icons.md-24{font-size:24px}.material-icons.md-36{font-size:36px}.material-icons.md-48{font-size:48px}.icon-image span,.icon span{position:absolute;top:-9999px}[class*=" icon-"]:before,[class^=icon-]:before{font-family:icomoon;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;letter-spacing:0;-ms-font-feature-settings:"liga" 1;-o-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-flattr:before{content:"\ead4"}.icon-mail:before{content:"\ea86"}.icon-up-open:before{content:"\e80b"}.icon-star:before{content:"\e9d9"}.icon-check:before{content:"\ea10"}.icon-link:before{content:"\e9cb"}.icon-reply:before{content:"\e806"}.icon-menu:before{content:"\e9bd"}.icon-clock:before{content:"\e803"}.icon-twitter:before{content:"\ea96"}.icon-down-open:before{content:"\e809"}.icon-trash:before{content:"\e9ac"}.icon-delete:before{content:"\ea0d"}.icon-power:before{content:"\ea14"}.icon-arrow-up-thick:before{content:"\ea3a"}.icon-rss:before{content:"\e808"}.icon-print:before{content:"\e954"}.icon-reload:before{content:"\ea2e"}.icon-price-tags:before{content:"\e936"}.icon-eye:before{content:"\e9ce"}.icon-no-eye:before{content:"\e9d1"}.icon-calendar:before{content:"\e953"}.icon-time:before{content:"\e952"}.icon-image{background-size:16px 16px;background-repeat:no-repeat;background-position:50%;padding-right:1em!important;padding-left:1em!important}.icon-image--carrot{background-image:url(../../_global/img/icons/carrot-icon--white.png)}.icon-image--diaspora{background-image:url(../../_global/img/icons/diaspora-icon--black.png)}.icon-image--shaarli{background-image:url(../../_global/img/icons/shaarli.png)}.icon-check.archive:before,.icon-star.fav:before{color:#fff}.messages{text-align:left;margin-top:1em}.messages>*{display:inline-block}.warning{font-weight:700;display:block;width:100%}.more-info{font-size:.85em;line-height:1.5;color:#aaa}.more-info a{color:#aaa}#article{width:70%;margin-bottom:3em;text-align:justify}#article .tags{margin-bottom:1em}#article i{font-style:normal}blockquote{border:1px solid #999;background-color:#fff;padding:1em;margin:0}#article h1{text-align:left}#article h2,#article h3,#article h4{text-transform:none}#article h2:after{content:none}.topPosF{position:fixed;right:20%;bottom:2em;font-size:1.5em}#article_toolbar{margin-bottom:1em}#article_toolbar li{display:inline-block;margin:3px auto}#article_toolbar a{background-color:#000;padding:.3em .5em .2em;color:#fff;text-decoration:none}#article_toolbar a:focus,#article_toolbar a:hover{background-color:#999}#nav-btn-add-tag{cursor:pointer}.shaarli:before{content:"*"}.return{text-decoration:none;margin-top:1em;display:block}.return:before{margin-right:.5em}.notags{font-style:italic;color:#999}.icon-rss{background-color:#000;color:#fff;padding:.2em .5em}.icon-rss:before{position:relative;top:2px}.list-tags li{margin-bottom:.5em}.list-tags .icon-rss:focus,.list-tags .icon-rss:hover{background-color:#fff;color:#000;text-decoration:none}.list-tags a{text-decoration:none}.list-tags a:focus,.list-tags a:hover{text-decoration:underline}pre code{font-family:Courier New,Courier,monospace}#filters{position:fixed;width:20%;height:100%;top:0;right:0;background-color:#fff;padding:15px;padding-right:30px;padding-top:30px;border-left:1px solid #333;z-index:3;min-width:300px}#filters form .filter-group{margin:5px}#download-form{position:fixed;width:10%;height:100%;top:0;right:0;background-color:#fff;padding:15px;padding-right:30px;padding-top:30px;border-left:1px solid #333;z-index:3;min-width:200px}#download-form li{display:block;padding:.5em 2em .5em 1em;color:#fff;position:relative;text-transform:uppercase;text-decoration:none;font-weight:400;font-family:PT Sans,sans-serif;transition:all .5s ease}@media screen and (max-width:1050px){.entry{width:49%}.entry:nth-child(3n+1){margin-left:1.5%}.entry:nth-child(2n+1){margin-left:0}}@media screen and (max-width:900px){#article{width:80%}.topPosF{right:2.5em}}@media screen and (max-width:700px){.entry{width:100%;margin-left:0}#display-mode{display:none}}@media screen and (max-height:770px){.menu.developer,.menu.internal,.menu.users{display:none}}@media screen and (max-width:500px){.entry{width:100%;margin-left:0}body>header{background-color:#333;position:fixed;top:0;width:100%;height:3em;z-index:2}#links li:last-child{position:static;width:auto}#links li:last-child a:before{content:none}.logo{width:1.25em;height:1.25em;left:0;top:0}.login>header,.login form{position:static}.login form{width:100%;margin-left:0}.login .logo{height:auto;top:.5em;width:75px;margin-left:-37.5px}.desktopHide{display:block;position:fixed;z-index:5;top:0;right:0;border:0;width:2.5em;height:2.5em;cursor:pointer;background-color:#999;font-size:1.2em}.desktopHide:focus,.desktopHide:hover{background-color:#fff}#links{display:none;width:100%;height:auto;padding-top:3em}#links.menu--open{display:block}footer{margin-right:3em}#main,footer{position:static}#main{margin-left:1.5em;padding-right:1.5em;margin-top:3em}#article_toolbar .topPosF,.card-entry-labels{display:none}#article{width:100%}#article h1{font-size:1.5em}#article_toolbar a{padding:.3em .4em .2em}#display-mode{display:none}#bagit-form,#search-form,.popup-form{left:0;width:100%;border-left:none}#bagit-form form,#search-form form,.popup-form form{width:100%}}.messages.error.install{border:1px solid #c42608;color:#c00!important;background:#fff0ef;text-align:left}.messages.notice.install{border:1px solid #ebcd41;color:#000;background:#fffcd3;text-align:left}.messages.success.install{border:1px solid #6dc70c;background:#e0fbcc!important;text-align:left}@media print{body{font-family:Serif;background-color:#fff}@page{margin:1cm}img{max-width:100%!important}#article-informations,#article .mbm a,#article_toolbar,#links,#sort,.entrie+.results,.messages,.top_link,body>footer,body>header,div.tools,header div{display:none!important}article{border:none!important}.vieworiginal a:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.pagination span.current{border-style:dashed}#main{padding:0;margin:0;margin-left:0;padding-right:0;padding-bottom:0}#article,#main{width:100%}}*{box-sizing:border-box}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{font-size:1em;line-height:1.5;margin:0}dl:first-child,h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child,ol:first-child,p:first-child,ul:first-child{margin-top:0}code,kbd,pre,samp{font-family:monospace,serif}pre{white-space:pre-wrap}.upper{text-transform:uppercase}.bold{font-weight:700}.inner{margin:0 auto;max-width:61.25em}figure,img,table{max-width:100%;height:auto}iframe{max-width:100%}.fl{float:left}.fr{float:right}table{border-collapse:collapse}figure{margin:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}input[type=search]{-webkit-appearance:textfield}.dib{display:inline-block;vertical-align:middle}.dnone{display:none}.dtable{display:table}.dtable>*{display:table-row}.dtable>*>*{display:table-cell}.element-invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.small{font-size:.8em}.big{font-size:1.2em}.w100{width:100%}.w90{width:90%}.w80{width:80%}.w70{width:70%}.w60{width:60%}.w50{width:50%}.w40{width:40%}.w30{width:30%}.w20{width:20%}.w10{width:10%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}@media screen and (-webkit-min-device-pixel-ratio:0){select{-webkit-appearance:none;border-radius:0}} \ No newline at end of file diff --git a/web/bundles/wallabagcore/themes/baggy/css/style.min.css.map b/web/bundles/wallabagcore/themes/baggy/css/style.min.css.map deleted file mode 100644 index 326d7d2e1..000000000 --- a/web/bundles/wallabagcore/themes/baggy/css/style.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../../../../app/Resources/build/baggy.css"],"names":[],"mappings":"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CAClB,AAED,kBACE,eAAiB,CAClB,AAED,mBACE,eAAiB,CAClB,AAED,kBACE,eAAiB,CAClB,AAED,mBACE,eAAiB,CAClB,AAED,qBACE,eAAiB,CAClB,AAED,uBACE,eAAiB,CAClB,AAED,mBACE,eAAiB,CAClB,AAED,oBACE,eAAiB,CAClB,AAED,mBACE,eAAiB,CAClB,AAED,4BACE,eAAiB,CAClB,AAED,iBACE,eAAiB,CAClB,AAED,mBACE,eAAiB,CAClB,AAED,oBACE,eAAiB,CAClB,AAED,wBACE,eAAiB,CAClB,AAED,iBACE,eAAiB,CAClB,AAED,oBACE,eAAiB,CAClB,AAED,sBACE,eAAiB,CAClB,AAED,kBACE,eAAiB,CAClB,AAKD,YACE,0BAA2B,AAC3B,4BAA6B,AAC7B,wBAA4B,AAC5B,4BAA8B,AAC9B,0BAA6B,CAC9B,AAGD,oBACE,oEAAwE,CACzE,AAGD,sBACE,sEAA0E,CAC3E,AAGD,qBACE,yDAA6D,CAC9D,AAUD,iDACE,UAAY,CACb,AAMD,UACE,gBAAiB,AACjB,cAAgB,CACjB,AAED,YACE,oBAAsB,CACvB,AAED,SACE,gBAAkB,AAClB,cAAe,AACf,UAAY,CACb,AAED,WACE,gBAAkB,AAClB,gBAAiB,AACjB,UAAY,CACb,AAED,aACE,UAAY,CACb,AAMD,SACE,UAAW,AACX,kBAAmB,AACnB,kBAAoB,CACrB,AAED,eACE,iBAAmB,CACpB,AAED,WACE,iBAAmB,CACpB,AAED,WACE,sBAAuB,AACvB,sBAAuB,AACvB,YAAa,AACb,QAAU,CACX,AAED,YACE,eAAiB,CAClB,AAED,oCAGE,mBAAqB,CACtB,AAED,kBACE,YAAc,CACf,AAED,SACE,eAAgB,AAChB,UAAW,AACX,WAAY,AACZ,eAAiB,CAClB,AAED,iBACE,iBAAmB,CACpB,AAED,oBACE,qBAAsB,AACtB,eAAiB,CAClB,AAED,mBACE,sBAAuB,AACvB,uBAA2B,AAC3B,WAAY,AACZ,oBAAsB,CACvB,AAED,kDAEE,qBAAuB,CACxB,AAED,iBACE,cAAgB,CACjB,AAED,gBACE,WAAa,CACd,AAED,QACE,qBAAsB,AACtB,eAAgB,AAChB,aAAe,CAChB,AAED,eACE,iBAAoB,CACrB,AAED,QACE,kBAAmB,AACnB,UAAY,CACb,AAED,UACE,sBAAuB,AACvB,WAAY,AACZ,iBAAqB,CACtB,AAED,iBACE,kBAAmB,AACnB,OAAS,CACV,AAED,cACE,kBAAqB,CACtB,AAED,sDAEE,sBAAuB,AACvB,WAAY,AACZ,oBAAsB,CACvB,AAED,aACE,oBAAsB,CACvB,AAED,sCAEE,yBAA2B,CAC5B,AAED,SACE,yCAA+C,CAChD,AAED,SACE,eAAgB,AAChB,UAAW,AACX,YAAa,AACb,MAAO,AACP,QAAS,AACT,sBAAuB,AACvB,aAAc,AACd,mBAAoB,AACpB,iBAAkB,AAClB,2BAA4B,AAC5B,UAAY,AACZ,eAAiB,CAClB,AAED,4BACE,UAAY,CACb,AAED,eACE,eAAgB,AAChB,UAAW,AACX,YAAa,AACb,MAAO,AACP,QAAS,AACT,sBAAuB,AACvB,aAAc,AACd,mBAAoB,AACpB,iBAAkB,AAClB,2BAA4B,AAC5B,UAAY,AACZ,eAAiB,CAClB,AAED,kBACE,cAAe,AACf,0BAA6B,AAC7B,WAAY,AACZ,kBAAmB,AACnB,yBAA0B,AAC1B,qBAAsB,AACtB,gBAAiB,AACjB,+BAAiC,AACjC,uBAA0B,CAC3B,AAMD,qCACE,OACE,SAAW,CACZ,AAED,uBACE,gBAAkB,CACnB,AAED,uBACE,aAAe,CAChB,CACF,AAED,oCACE,SACE,SAAW,CACZ,AAED,SACE,WAAa,CACd,CACF,AAED,oCACE,OACE,WAAY,AACZ,aAAe,CAChB,AAED,cACE,YAAc,CACf,CACF,AAED,oCACE,OACE,WAAY,AACZ,aAAe,CAChB,AAED,YACE,sBAAuB,AACvB,eAAgB,AAChB,MAAO,AACP,WAAY,AACZ,WAAY,AACZ,SAAY,CACb,AAED,qBACE,gBAAiB,AACjB,UAAY,CACb,AAED,8BACE,YAAc,CACf,AAED,MACE,aAAc,AACd,cAAe,AACf,OAAQ,AACR,KAAO,CACR,AAMD,0BAHE,eAAiB,CAOlB,AAJD,YACE,WAAY,AAEZ,aAAe,CAChB,AAED,aACE,YAAa,AACb,SAAW,AACX,WAAY,AACZ,mBAAqB,CACtB,AAED,aACE,cAAe,AACf,eAAgB,AAChB,UAAY,AACZ,MAAO,AACP,QAAS,AACT,SAAU,AACV,YAAa,AACb,aAAc,AACd,eAAgB,AAChB,sBAAuB,AACvB,eAAiB,CAClB,AAED,sCAEE,qBAAuB,CACxB,AAED,OACE,aAAc,AACd,WAAY,AACZ,YAAa,AACb,eAAiB,CAClB,AAED,kBACE,aAAe,CAChB,AAED,OAEE,gBAAkB,CACnB,AAED,aAJE,eAAiB,CASlB,AALD,MACE,kBAAmB,AACnB,oBAAqB,AAErB,cAAgB,CACjB,AAMD,6CACE,YAAc,CACf,AAED,SACE,UAAY,CACb,AAED,YACE,eAAiB,CAClB,AAED,mBACE,sBAA2B,CAC5B,AAED,cACE,YAAc,CACf,AAED,qCAGE,OAAQ,AACR,WAAY,AACZ,gBAAkB,CACnB,AAED,oDAGE,UAAY,CACb,CACF,AACA,wBACC,yBAA0B,AAC1B,qBAAuB,AACvB,mBAAoB,AACpB,eAAiB,CAClB,AAED,yBACE,yBAA0B,AAC1B,WAAY,AACZ,mBAAoB,AACpB,eAAiB,CAClB,AAED,0BACE,yBAA0B,AAC1B,6BAA+B,AAC/B,eAAiB,CAClB,AACA,aAGC,KACE,kBAAmB,AACnB,qBAAuB,CACxB,AAED,MACE,UAAY,CACb,AAED,IACE,wBAA2B,CAC5B,AAKD,sJAYE,sBAAyB,CAC1B,AAED,QACE,qBAAwB,CACzB,AAGD,sBACE,2BAA6B,CAC9B,AAGD,kBACE,4BAA8B,CAC/B,AAGD,yBACE,mBAAqB,CACtB,AAED,MAEE,UAAW,AACX,SAAU,AACV,cAAe,AACf,gBAAiB,AACjB,gBAAkB,CACnB,AAED,eARE,UAAY,CAUb,CACF,AAOD,EAGE,qBAAuB,CACxB,AAED,KACE,uBAAwB,AACxB,0BAA2B,AAC3B,6BAA+B,CAChC,AAED,KACE,cAAe,AACf,gBAAiB,AACjB,QAAU,CACX,AAMD,qJAUE,YAAc,CACf,AAED,kBAIE,2BAA8B,CAC/B,AAED,IACE,oBAAsB,CACvB,AAED,OACE,wBAA0B,CAC3B,AAED,MACE,eAAkB,CACnB,AAED,OACE,cAAe,AACf,iBAAmB,CACpB,AAED,iBAGE,eAAgB,AAChB,WAAa,CACd,AAED,OACE,cAAgB,CACjB,AAED,IACE,UAAY,CACb,AAED,IACE,WAAa,CACd,AAED,MACE,wBAA0B,CAC3B,AAED,OACE,QAAU,CACX,AAED,6BAIE,oBAAqB,AACrB,eAAgB,AAChB,QAAU,CACX,AAED,mBACE,4BAA8B,CAC/B,AAMD,KACE,qBAAsB,AACtB,qBAAuB,CACxB,AAED,OACE,YAAc,CACf,AAED,QACE,aAAe,CAChB,AAED,UACE,iBAAmB,CACpB,AAED,YACE,kBAAoB,CACrB,AAED,mBACE,SAAU,AACV,mBAAoB,AACpB,WAAY,AACZ,YAAa,AACb,gBAAiB,AACjB,UAAW,AACX,kBAAmB,AACnB,SAAW,CACZ,AAED,OACE,cAAiB,CAClB,AAED,KACE,eAAiB,CAClB,AAID,MACE,UAAY,CACb,AAED,KACE,SAAW,CACZ,AAED,KACE,SAAW,CACZ,AAED,KACE,SAAW,CACZ,AAED,KACE,SAAW,CACZ,AAED,KACE,SAAW,CACZ,AAED,KACE,SAAW,CACZ,AAED,KACE,SAAW,CACZ,AAED,KACE,SAAW,CACZ,AAED,KACE,SAAW,CACZ,AAQD,sFAYE,aAAe,CAChB,AAID,mBAGE,oBAAsB,CACvB,AAED,qDACE,OACE,wBAAyB,AACzB,eAAiB,CAClB,CACF","file":"style.min.css","sourcesContent":["@font-face {\n font-family: \"PT Sans\";\n font-style: normal;\n font-weight: 700;\n src: local(\"PT Sans Bold\"), local(\"PTSans-Bold\"), url(\"../fonts/ptsansbold.woff\") format(\"woff\");\n}\n;/* ==========================================================================\n Sommaire\n\n 1 = Style Guide\n 2 = Layout\n 3 = Pictos\n 4 = Messages\n 5 = Article\n 6 = Media queries\n\n ========================================================================== */\n\nhtml {\n min-height: 100%;\n}\n\nbody {\n background-color: #eee;\n}\n\n.login {\n background-color: #333;\n}\n\n.login #main {\n padding: 0;\n margin: 0;\n}\n\n.login form {\n background-color: #fff;\n padding: 1.5em;\n box-shadow: 0 1px 8px rgba(0, 0, 0, 0.9);\n width: 20em;\n position: absolute;\n top: 8em;\n left: 50%;\n margin-left: -10em;\n}\n\n.login .logo {\n position: absolute;\n top: 2em;\n left: 50%;\n margin-left: -55px;\n}\n\n/* ==========================================================================\n 1 = Style Guide\n ========================================================================== */\n\n::selection {\n color: #fff;\n background-color: #000;\n}\n\n.desktopHide {\n display: none;\n}\n\n.logo {\n position: fixed;\n z-index: 20;\n top: 0.4em;\n left: 0.6em;\n}\n\nh2,\nh3,\nh4 {\n font-family: \"PT Sans\", sans-serif;\n text-transform: uppercase;\n}\n\np,\nli,\nlabel {\n color: #666;\n}\n\na {\n color: #000;\n font-weight: bold;\n}\n\na.nostyle {\n text-decoration: none;\n}\n\na:hover,\na:focus {\n text-decoration: none;\n}\n\nform fieldset {\n border: 0;\n padding: 0;\n margin: 0;\n}\n\nform input[type=\"text\"],\nform input[type=\"number\"],\nselect,\nform input[type=\"password\"],\nform input[type=\"url\"],\nform input[type=\"email\"] {\n border: 1px solid #999;\n padding: 0.5em 1em;\n min-width: 12em;\n color: #666;\n}\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n select {\n -webkit-appearance: none;\n border-radius: 0;\n background: #fff url(\"../../_global/img/bg-select.png\") no-repeat right center;\n }\n}\n\n.inline .row {\n display: inline-block;\n margin-right: 0.5em;\n}\n\n.inline label {\n min-width: 6em;\n}\n\nfieldset label {\n display: inline-block;\n min-width: 12.5em;\n color: #666;\n}\n\nlabel {\n margin-right: 0.5em;\n}\n\nform .row {\n margin-bottom: 0.5em;\n}\n\nform button,\ninput[type=\"submit\"] {\n cursor: pointer;\n background-color: #000;\n color: #fff;\n padding: 0.5em 1em;\n display: inline-block;\n border: 1px solid #000;\n}\n\nform button:hover,\nform button:focus,\ninput[type=\"submit\"]:hover,\ninput[type=\"submit\"]:focus {\n background-color: #fff;\n color: #000;\n -webkit-transition: all 0.5s ease;\n -moz-transition: all 0.5s ease;\n -ms-transition: all 0.5s ease;\n -o-transition: all 0.5s ease;\n transition: all 0.5s ease;\n}\n\n#bookmarklet {\n cursor: move;\n}\n\nh2::after {\n content: \"\";\n height: 4px;\n width: 70px;\n background-color: #000;\n display: block;\n}\n\n.links {\n padding: 0;\n margin: 0;\n}\n\n.links li {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n#links {\n position: fixed;\n top: 0;\n width: 10em;\n left: 0;\n text-align: right;\n background-color: #333;\n padding-top: 9.5em;\n height: 100%;\n box-shadow: inset -4px 0 20px rgba(0, 0, 0, 0.6);\n z-index: 15;\n}\n\n#main {\n margin-left: 12em;\n position: relative;\n z-index: 10;\n padding-right: 5%;\n padding-bottom: 1em;\n}\n\n#links > li > a {\n display: block;\n padding: 0.5em 2em 0.5em 1em;\n color: #fff;\n position: relative;\n text-transform: uppercase;\n text-decoration: none;\n font-weight: normal;\n font-family: \"PT Sans\", sans-serif;\n -webkit-transition: all 0.5s ease;\n -moz-transition: all 0.5s ease;\n -ms-transition: all 0.5s ease;\n -o-transition: all 0.5s ease;\n transition: all 0.5s ease;\n}\n\n#links > li > a:hover,\n#links > li > a:focus {\n background-color: #999;\n color: #000;\n}\n\n#links .current::after {\n content: \"\";\n width: 0;\n height: 0;\n position: absolute;\n border-style: solid;\n border-width: 10px;\n border-color: transparent #eee transparent transparent;\n right: 0;\n top: 50%;\n margin-top: -10px;\n}\n\n#links li:last-child {\n position: fixed;\n bottom: 1em;\n width: 10em;\n}\n\n#links li:last-child a::before {\n font-size: 1.2em;\n position: relative;\n top: 2px;\n}\n\n#sort {\n padding: 0;\n list-style-type: none;\n opacity: 0.5;\n display: inline-block;\n}\n\n#sort li {\n display: inline;\n font-size: 0.9em;\n}\n\n#sort li + li {\n margin-left: 10px;\n}\n\n#sort a {\n padding: 2px 2px 0;\n vertical-align: middle;\n}\n\n#sort img {\n vertical-align: baseline;\n}\n\n#sort img:hover {\n cursor: pointer;\n}\n\n#display-mode {\n float: right;\n margin-top: 10px;\n margin-bottom: 10px;\n opacity: 0.5;\n}\n\n#listmode {\n width: 16px;\n display: inline-block;\n text-decoration: none;\n}\n\n#listmode a:hover {\n opacity: 1;\n}\n\n#listmode.tablemode {\n background-image: url(\"../img/baggy/table.png\");\n background-repeat: no-repeat;\n background-position: bottom;\n}\n\n#listmode.listmode {\n background-image: url(\"../img/baggy/list.png\");\n background-repeat: no-repeat;\n background-position: bottom;\n}\n\n#warning_message {\n position: fixed;\n background-color: #ff6347;\n z-index: 1000;\n bottom: 0;\n left: 0;\n width: 100%;\n color: #000;\n}\n\n/* ==========================================================================\n 2 = Layout\n ========================================================================== */\n\n#content {\n margin-top: 2em;\n min-height: 30em;\n}\n\nfooter {\n text-align: right;\n position: relative;\n bottom: 0;\n right: 5em;\n color: #999;\n font-size: 0.8em;\n font-style: italic;\n z-index: 20;\n}\n\nfooter a {\n color: #999;\n font-weight: normal;\n}\n\n.list-entries {\n letter-spacing: -5px;\n}\n\n.listmode .entry {\n width: 100% !important;\n margin-left: 0 !important;\n}\n\n.card-entry-labels {\n position: absolute;\n top: 100px;\n left: -1em;\n z-index: 90;\n max-width: 50%;\n padding-left: 0;\n}\n\n.card-entry-labels li {\n margin: 10px 10px 10px auto;\n padding: 5px 12px 5px 25px;\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 0 3px 3px 0;\n color: #fff;\n cursor: default;\n max-height: 2em;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.card-entry-tags {\n max-height: 2em;\n overflow-y: hidden;\n padding: 0;\n margin: 0;\n}\n\n.card-entry-tags li,\n.card-entry-tags span {\n display: inline-block;\n margin: 0 5px;\n padding: 5px 12px;\n background-color: rgba(0, 0, 0, 0.6);\n border-radius: 3px;\n max-height: 2em;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.card-entry-tags a,\n.card-entry-labels a {\n text-decoration: none;\n font-weight: normal;\n color: #fff;\n}\n\n.nav-panel-add-tag {\n margin-top: 10px;\n}\n\n.list-entries + .results {\n margin-bottom: 2em;\n}\n\n.estimatedTime .reading-time {\n color: #999;\n font-style: italic;\n font-weight: normal;\n font-size: 0.9em;\n}\n\n.estimatedTime small {\n position: relative;\n top: -1px;\n}\n\n.entry {\n background-color: #fff;\n letter-spacing: normal;\n box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n display: inline-block;\n width: 32%;\n margin-bottom: 1.5em;\n vertical-align: top;\n margin-right: 1%;\n position: relative;\n overflow: hidden;\n padding: 1.5em 1.5em 3em;\n height: 440px;\n}\n\n.entry::before {\n content: \"\";\n width: 0;\n height: 0;\n border-style: solid;\n border-color: transparent transparent #000;\n border-width: 10px;\n position: absolute;\n bottom: 0.3em;\n z-index: 10;\n right: 1.5em;\n -webkit-transition: all 0.5s ease;\n -moz-transition: all 0.5s ease;\n -ms-transition: all 0.5s ease;\n -o-transition: all 0.5s ease;\n transition: all 0.5s ease;\n}\n\n.entry::after {\n content: \"\";\n position: absolute;\n height: 7px;\n width: 100%;\n bottom: 0;\n left: 0;\n background-color: #000;\n -webkit-transition: all 0.5s ease;\n -moz-transition: all 0.5s ease;\n -ms-transition: all 0.5s ease;\n -o-transition: all 0.5s ease;\n transition: all 0.5s ease;\n}\n\n.entry:hover {\n box-shadow: 0 3px 10px rgba(0, 0, 0, 1);\n}\n\n.entry:hover::after {\n height: 40px;\n}\n\n.entry:hover::before {\n bottom: 2.4em;\n}\n\n.entry:hover h2 a {\n color: #666;\n}\n\n.entry h2 {\n text-transform: none;\n margin-bottom: 0;\n line-height: 1.2;\n}\n\n.entry h2::after {\n content: none;\n}\n\n.entry h2 a {\n display: block;\n text-decoration: none;\n color: #000;\n word-wrap: break-word;\n -webkit-transition: all 0.5s ease;\n -moz-transition: all 0.5s ease;\n -ms-transition: all 0.5s ease;\n -o-transition: all 0.5s ease;\n transition: all 0.5s ease;\n}\n\nimg.preview {\n max-width: calc(100% + 3em);\n left: -1.5em;\n position: relative;\n}\n\n.entry p {\n color: #666;\n font-size: 0.9em;\n line-height: 1.7;\n margin-top: 5px;\n}\n\n.entry h2 a::first-letter {\n text-transform: uppercase;\n}\n\n.entry:hover .tools {\n bottom: 0;\n}\n\n.entry .tools {\n position: absolute;\n bottom: -50px;\n left: 0;\n width: 100%;\n z-index: 10;\n padding-right: 0.5em;\n text-align: right;\n -webkit-transition: all 0.5s ease;\n -moz-transition: all 0.5s ease;\n -ms-transition: all 0.5s ease;\n -o-transition: all 0.5s ease;\n transition: all 0.5s ease;\n}\n\n.entry .tools a {\n color: #666;\n text-decoration: none;\n display: block;\n padding: 0.4em;\n}\n\n.entry .tools a:hover {\n color: #fff;\n}\n\n.entry .tools li {\n display: inline-block;\n}\n\n.entry:nth-child(3n+1) {\n margin-left: 0;\n}\n\n.results {\n letter-spacing: -5px;\n padding: 0 0 0.5em;\n}\n\n.results > * {\n display: inline-block;\n vertical-align: top;\n letter-spacing: normal;\n width: 50%;\n text-align: right;\n}\n\ndiv.pagination ul {\n text-align: right;\n margin-bottom: 50px;\n}\n\n.nb-results {\n text-align: left;\n font-style: italic;\n color: #999;\n}\n\ndiv.pagination ul > * {\n display: inline-block;\n margin-left: 0.5em;\n}\n\ndiv.pagination ul a {\n color: #999;\n text-decoration: none;\n}\n\ndiv.pagination ul a:hover,\ndiv.pagination ul a:focus {\n text-decoration: underline;\n}\n\ndiv.pagination ul .prev.disabled,\ndiv.pagination ul .next.disabled {\n display: none;\n}\n\ndiv.pagination ul .current {\n height: 25px;\n padding: 4px 8px;\n border: 1px solid #d5d5d5;\n text-decoration: none;\n font-weight: bold;\n color: #000;\n background-color: #ccc;\n}\n\n/* ==========================================================================\n 2.1 = \"save a link\" related styles\n ========================================================================== */\n\n.popup-form {\n background: rgba(0, 0, 0, 0.5);\n position: absolute;\n top: 0;\n left: 10em;\n z-index: 20;\n height: 100%;\n width: 100%;\n margin: 0;\n margin-top: -30% !important;\n padding: 2em;\n display: none;\n border-left: 1px #eee solid;\n}\n\n.popup-form form {\n background-color: #fff;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 20;\n border: 10px solid #000;\n width: 400px;\n height: 200px;\n padding: 2em;\n}\n\n#bagit-form-form .addurl {\n margin-left: 0;\n}\n\n.closeMessage,\n.close-button {\n background-color: #000;\n color: #fff;\n font-size: 1.2em;\n line-height: 1.6;\n width: 1.6em;\n height: 1.6em;\n text-align: center;\n text-decoration: none;\n}\n\n.closeMessage:hover,\n.closeMessage:focus,\n.close-button:hover,\n.close-button:focus {\n background-color: #999;\n color: #000;\n}\n\n.close-button--popup {\n display: inline-block;\n position: absolute;\n top: 0;\n right: 0;\n font-size: 1.4em;\n}\n\n.active-current {\n background-color: #999;\n}\n\n.active-current::after {\n content: \"\";\n width: 0;\n height: 0;\n position: absolute;\n border-style: solid;\n border-width: 10px;\n border-color: transparent #eee transparent transparent;\n right: 0;\n top: 50%;\n margin-top: -10px;\n}\n\n.opacity03 {\n opacity: 0.3;\n}\n\n.add-to-wallabag-link-after {\n background-color: #000;\n color: #fff;\n padding: 0 3px 2px;\n}\n\na.add-to-wallabag-link-after {\n visibility: hidden;\n position: absolute;\n opacity: 0;\n transition-duration: 2s;\n transition-timing-function: ease-out;\n}\n\n#article article a:hover + a.add-to-wallabag-link-after,\na.add-to-wallabag-link-after:hover {\n opacity: 1;\n visibility: visible;\n transition-duration: 0.3s;\n transition-timing-function: ease-in;\n}\n\na.add-to-wallabag-link-after::after {\n content: \"w\";\n}\n\n#add-link-result {\n font-weight: bold;\n font-size: 0.9em;\n}\n\n.btn-clickable {\n cursor: pointer;\n}\n\n/* ==========================================================================\n 3 = Pictos\n ========================================================================== */\n\n@font-face {\n font-family: icomoon;\n src: url(\"../fonts/IcoMoon-Free.ttf\");\n font-weight: normal;\n font-style: normal;\n}\n\n@font-face {\n font-family: 'Material Icons';\n font-style: normal;\n font-weight: 400;\n src: url(../fonts/MaterialIcons-Regular.eot);\n\n /* For IE6-8 */\n src: local(\"Material Icons\"), local(\"MaterialIcons-Regular\"), url(../fonts/MaterialIcons-Regular.woff2) format(\"woff2\"), url(../fonts/MaterialIcons-Regular.woff) format(\"woff\"), url(../fonts/MaterialIcons-Regular.ttf) format(\"truetype\");\n}\n\n.material-icons {\n font-family: 'Material Icons';\n font-weight: normal;\n font-style: normal;\n font-size: 1em; /* Preferred icon size */\n width: 1em;\n height: 1em;\n display: inline-block;\n line-height: 1;\n text-transform: none;\n letter-spacing: normal;\n word-wrap: normal;\n white-space: nowrap;\n direction: ltr;\n\n /* Support for all WebKit browsers. */\n -webkit-font-smoothing: antialiased;\n\n /* Support for Safari and Chrome. */\n text-rendering: optimizeLegibility;\n\n /* Support for Firefox. */\n -moz-osx-font-smoothing: grayscale;\n\n /* Support for IE. */\n font-feature-settings: 'liga';\n}\n\n.material-icons.md-18 { font-size: 18px; }\n.material-icons.md-24 { font-size: 24px; }\n.material-icons.md-36 { font-size: 36px; }\n.material-icons.md-48 { font-size: 48px; }\n\n.icon span,\n.icon-image span {\n position: absolute;\n top: -9999px;\n}\n\n[class^=\"icon-\"]::before,\n[class*=\" icon-\"]::before {\n font-family: icomoon;\n speak: none;\n font-style: normal;\n font-weight: normal;\n font-variant: normal;\n text-transform: none;\n line-height: 1;\n\n /* Enable Ligatures ================ */\n letter-spacing: 0;\n -webkit-font-feature-settings: \"liga\";\n -moz-font-feature-settings: \"liga=1\";\n -moz-font-feature-settings: \"liga\";\n -ms-font-feature-settings: \"liga\" 1;\n -o-font-feature-settings: \"liga\";\n font-feature-settings: \"liga\";\n\n /* Better Font Rendering =========== */\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.icon-flattr::before {\n content: \"\\ead4\";\n}\n\n.icon-mail::before {\n content: \"\\ea86\";\n}\n\n.icon-up-open::before {\n content: \"\\e80b\";\n}\n\n.icon-star::before {\n content: \"\\e9d9\";\n}\n\n.icon-check::before {\n content: \"\\ea10\";\n}\n\n.icon-link::before {\n content: \"\\e9cb\";\n}\n\n.icon-reply::before {\n content: \"\\e806\";\n}\n\n.icon-menu::before {\n content: \"\\e9bd\";\n}\n\n.icon-clock::before {\n content: \"\\e803\";\n}\n\n.icon-twitter::before {\n content: \"\\ea96\";\n}\n\n.icon-down-open::before {\n content: \"\\e809\";\n}\n\n.icon-trash::before {\n content: \"\\e9ac\";\n}\n\n.icon-delete::before {\n content: \"\\ea0d\";\n}\n\n.icon-power::before {\n content: \"\\ea14\";\n}\n\n.icon-arrow-up-thick::before {\n content: \"\\ea3a\";\n}\n\n.icon-rss::before {\n content: \"\\e808\";\n}\n\n.icon-print::before {\n content: \"\\e954\";\n}\n\n.icon-reload::before {\n content: \"\\ea2e\";\n}\n\n.icon-price-tags::before {\n content: \"\\e936\";\n}\n\n.icon-eye::before {\n content: \"\\e9ce\";\n}\n\n.icon-no-eye::before {\n content: \"\\e9d1\";\n}\n\n.icon-calendar::before {\n content: \"\\e953\";\n}\n\n.icon-time::before {\n content: \"\\e952\";\n}\n\n/* .icon-image class, for image-based icons\n ========================================================================== */\n\n.icon-image {\n background-size: 16px 16px;\n background-repeat: no-repeat;\n background-position: center;\n padding-right: 1em !important;\n padding-left: 1em !important;\n}\n\n/* Carrot (http://carrot.org) */\n.icon-image--carrot {\n background-image: url(\"../../_global/img/icons/carrot-icon--white.png\");\n}\n\n/* Diaspora */\n.icon-image--diaspora {\n background-image: url(\"../../_global/img/icons/diaspora-icon--black.png\");\n}\n\n/* shaarli */\n.icon-image--shaarli {\n background-image: url(\"../../_global/img/icons/shaarli.png\");\n}\n\n/* ==========================================================================\n Icon selected\n ========================================================================== */\n\n.icon-star.fav::before {\n color: #fff;\n}\n\n.icon-check.archive::before {\n color: #fff;\n}\n\n/* ==========================================================================\n 4 = Messages\n ========================================================================== */\n\n.messages {\n text-align: left;\n margin-top: 1em;\n}\n\n.messages > * {\n display: inline-block;\n}\n\n.warning {\n font-weight: bold;\n display: block;\n width: 100%;\n}\n\n.more-info {\n font-size: 0.85em;\n line-height: 1.5;\n color: #aaa;\n}\n\n.more-info a {\n color: #aaa;\n}\n\n/* ==========================================================================\n 5 = Article\n ========================================================================== */\n\n#article {\n width: 70%;\n margin-bottom: 3em;\n text-align: justify;\n}\n\n#article .tags {\n margin-bottom: 1em;\n}\n\n#article i {\n font-style: normal;\n}\n\nblockquote {\n border: 1px solid #999;\n background-color: #fff;\n padding: 1em;\n margin: 0;\n}\n\n#article h1 {\n text-align: left;\n}\n\n#article h2,\n#article h3,\n#article h4 {\n text-transform: none;\n}\n\n#article h2::after {\n content: none;\n}\n\n.topPosF {\n position: fixed;\n right: 20%;\n bottom: 2em;\n font-size: 1.5em;\n}\n\n#article_toolbar {\n margin-bottom: 1em;\n}\n\n#article_toolbar li {\n display: inline-block;\n margin: 3px auto;\n}\n\n#article_toolbar a {\n background-color: #000;\n padding: 0.3em 0.5em 0.2em;\n color: #fff;\n text-decoration: none;\n}\n\n#article_toolbar a:hover,\n#article_toolbar a:focus {\n background-color: #999;\n}\n\n#nav-btn-add-tag {\n cursor: pointer;\n}\n\n.shaarli::before {\n content: \"*\";\n}\n\n.return {\n text-decoration: none;\n margin-top: 1em;\n display: block;\n}\n\n.return::before {\n margin-right: 0.5em;\n}\n\n.notags {\n font-style: italic;\n color: #999;\n}\n\n.icon-rss {\n background-color: #000;\n color: #fff;\n padding: 0.2em 0.5em;\n}\n\n.icon-rss::before {\n position: relative;\n top: 2px;\n}\n\n.list-tags li {\n margin-bottom: 0.5em;\n}\n\n.list-tags .icon-rss:hover,\n.list-tags .icon-rss:focus {\n background-color: #fff;\n color: #000;\n text-decoration: none;\n}\n\n.list-tags a {\n text-decoration: none;\n}\n\n.list-tags a:hover,\n.list-tags a:focus {\n text-decoration: underline;\n}\n\npre code {\n font-family: \"Courier New\", Courier, monospace;\n}\n\n#filters {\n position: fixed;\n width: 20%;\n height: 100%;\n top: 0;\n right: 0;\n background-color: #fff;\n padding: 15px;\n padding-right: 30px;\n padding-top: 30px;\n border-left: 1px #333 solid;\n z-index: 12;\n min-width: 300px;\n}\n\n#filters form .filter-group {\n margin: 5px;\n}\n\n#download-form {\n position: fixed;\n width: 10%;\n height: 100%;\n top: 0;\n right: 0;\n background-color: #fff;\n padding: 15px;\n padding-right: 30px;\n padding-top: 30px;\n border-left: 1px #333 solid;\n z-index: 12;\n min-width: 200px;\n}\n\n#download-form li {\n display: block;\n padding: 0.5em 2em 0.5em 1em;\n color: #fff;\n position: relative;\n text-transform: uppercase;\n text-decoration: none;\n font-weight: 400;\n font-family: PT Sans, sans-serif;\n transition: all 0.5s ease;\n}\n\n/* ==========================================================================\n 6 = Media Queries\n ========================================================================== */\n\n@media screen and (max-width: 1050px) {\n .entry {\n width: 49%;\n }\n\n .entry:nth-child(3n+1) {\n margin-left: 1.5%;\n }\n\n .entry:nth-child(2n+1) {\n margin-left: 0;\n }\n}\n\n@media screen and (max-width: 900px) {\n #article {\n width: 80%;\n }\n\n .topPosF {\n right: 2.5em;\n }\n}\n\n@media screen and (max-width: 700px) {\n .entry {\n width: 100%;\n margin-left: 0;\n }\n\n #display-mode {\n display: none;\n }\n}\n\n@media screen and (max-width: 500px) {\n .entry {\n width: 100%;\n margin-left: 0;\n }\n\n body > header {\n background-color: #333;\n position: fixed;\n top: 0;\n width: 100%;\n height: 3em;\n z-index: 11;\n }\n\n #links li:last-child {\n position: static;\n width: auto;\n }\n\n #links li:last-child a::before {\n content: none;\n }\n\n .logo {\n width: 1.25em;\n height: 1.25em;\n left: 0;\n top: 0;\n }\n\n .login > header {\n position: static;\n }\n\n .login form {\n width: 100%;\n position: static;\n margin-left: 0;\n }\n\n .login .logo {\n height: auto;\n top: 0.5em;\n width: 75px;\n margin-left: -37.5px;\n }\n\n .desktopHide {\n display: block;\n position: fixed;\n z-index: 20;\n top: 0;\n right: 0;\n border: 0;\n width: 2.5em;\n height: 2.5em;\n cursor: pointer;\n background-color: #999;\n font-size: 1.2em;\n }\n\n .desktopHide:hover,\n .desktopHide:focus {\n background-color: #fff;\n }\n\n #links {\n display: none;\n width: 100%;\n height: auto;\n padding-top: 3em;\n }\n\n #links.menu--open {\n display: block;\n }\n\n footer {\n position: static;\n margin-right: 3em;\n }\n\n #main {\n margin-left: 1.5em;\n padding-right: 1.5em;\n position: static;\n margin-top: 3em;\n }\n\n .card-entry-labels {\n display: none;\n }\n\n #article_toolbar .topPosF {\n display: none;\n }\n\n #article {\n width: 100%;\n }\n\n #article h1 {\n font-size: 1.5em;\n }\n\n #article_toolbar a {\n padding: 0.3em 0.4em 0.2em;\n }\n\n #display-mode {\n display: none;\n }\n\n .popup-form,\n #bagit-form,\n #search-form {\n left: 0;\n width: 100%;\n border-left: none;\n }\n\n .popup-form form,\n #bagit-form form,\n #search-form form {\n width: 100%;\n }\n}\n;.messages.error.install {\n border: 1px solid #c42608;\n color: #c00 !important;\n background: #fff0ef;\n text-align: left;\n}\n\n.messages.notice.install {\n border: 1px solid #ebcd41;\n color: #000;\n background: #fffcd3;\n text-align: left;\n}\n\n.messages.success.install {\n border: 1px solid #6dc70c;\n background: #e0fbcc !important;\n text-align: left;\n}\n;@media print {\n /* ### Layout ### */\n\n body {\n font-family: Serif;\n background-color: #fff;\n }\n\n @page {\n margin: 1cm;\n }\n\n img {\n max-width: 100% !important;\n }\n\n /* ### Content ### */\n\n /* Hide useless blocks */\n body > header,\n #article_toolbar,\n #links,\n #sort,\n body > footer,\n .top_link,\n div.tools,\n header div,\n .messages,\n .entrie + .results,\n #article .mbm a,\n #article-informations {\n display: none !important;\n }\n\n article {\n border: none !important;\n }\n\n /* Add URL after links */\n .vieworiginal a::after {\n content: \" (\" attr(href) \")\";\n }\n\n /* Add explanation after abbr */\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n\n /* Change border on current pager item */\n .pagination span.current {\n border-style: dashed;\n }\n\n #main {\n width: 100%;\n padding: 0;\n margin: 0;\n margin-left: 0;\n padding-right: 0;\n padding-bottom: 0;\n }\n\n #article {\n width: 100%;\n }\n}\n;/*\n Ratatouille mini Framework css by Thomas LEBEAU\n Base on KNACSS => www.KNACSS.com (2013-10) @author: Raphael Goetter, Alsacreations\n and normalize.css\n*/\n\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif; /* 1 */\n -ms-text-size-adjust: 100%; /* 2 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\nbody {\n font-size: 1em;\n line-height: 1.5;\n margin: 0;\n}\n\n/* ==========================================================================\n Mise en forme\n ========================================================================== */\n\nh1:first-child,\nh2:first-child,\nh3:first-child,\nh4:first-child,\nh5:first-child,\nh6:first-child,\np:first-child,\nul:first-child,\nol:first-child,\ndl:first-child {\n margin-top: 0;\n}\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, serif;\n}\n\npre {\n white-space: pre-wrap;\n}\n\n.upper {\n text-transform: uppercase;\n}\n\n.bold {\n font-weight: bold;\n}\n\n.inner {\n margin: 0 auto;\n max-width: 61.25em; /* 980px */\n}\n\ntable,\nimg,\nfigure {\n max-width: 100%;\n height: auto;\n}\n\niframe {\n max-width: 100%;\n}\n\n.fl {\n float: left;\n}\n\n.fr {\n float: right;\n}\n\ntable {\n border-collapse: collapse;\n}\n\nfigure {\n margin: 0;\n}\n\nbutton,\ninput,\nselect,\ntextarea {\n font-family: inherit;\n font-size: 100%;\n margin: 0;\n}\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n}\n\n/* ==========================================================================\n Mise en page\n ========================================================================== */\n\n.dib {\n display: inline-block;\n vertical-align: middle;\n}\n\n.dnone {\n display: none;\n}\n\n.dtable {\n display: table;\n}\n\n.dtable > * {\n display: table-row;\n}\n\n.dtable > * > * {\n display: table-cell;\n}\n\n.element-invisible {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n}\n\n.small {\n font-size: 0.8em;\n}\n\n.big {\n font-size: 1.2em;\n}\n\n/* Width */\n\n.w100 {\n width: 100%;\n}\n\n.w90 {\n width: 90%;\n}\n\n.w80 {\n width: 80%;\n}\n\n.w70 {\n width: 70%;\n}\n\n.w60 {\n width: 60%;\n}\n\n.w50 {\n width: 50%;\n}\n\n.w40 {\n width: 40%;\n}\n\n.w30 {\n width: 30%;\n}\n\n.w20 {\n width: 20%;\n}\n\n.w10 {\n width: 10%;\n}\n\n/* ==========================================================================\n Internet Explorer\n ========================================================================== */\n\n/* IE8 and IE9 */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n/* IE8 and IE9 */\n\naudio,\ncanvas,\nvideo {\n display: inline-block;\n}\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n select {\n -webkit-appearance: none;\n border-radius: 0;\n }\n}\n"]} \ No newline at end of file diff --git a/web/bundles/wallabagcore/themes/baggy/js/baggy.min.js b/web/bundles/wallabagcore/themes/baggy/js/baggy.min.js index 25721456e..ddb564d86 100644 --- a/web/bundles/wallabagcore/themes/baggy/js/baggy.min.js +++ b/web/bundles/wallabagcore/themes/baggy/js/baggy.min.js @@ -1,20 +1,19 @@ -!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g li > a").removeClass("active-current"),e("#links > li > a").removeClass("current"),e("[id$=-arrow]").removeClass("arrow-down"),e("#content").removeClass("opacity03")}var j=e("#listmode"),k=e("#list-entries");e("#menu").click(function(){e("#links").toggleClass("menu--open");var a=e("#content");a.hasClass("opacity03")&&a.removeClass("opacity03")}),j.click(function(){1===e.cookie("listmode")?(e.removeCookie("listmode"),k.removeClass("listmode"),j.removeClass("tablemode"),j.addClass("listmode")):(e.cookie("listmode",1,{expires:365}),k.addClass("listmode"),j.removeClass("listmode"),j.addClass("tablemode"))}),1===e.cookie("listmode")&&(k.addClass("listmode"),j.removeClass("listmode"),j.addClass("tablemode")),e("#nav-btn-add-tag").on("click",function(){return e(".nav-panel-add-tag").toggle(100),e(".nav-panel-menu").addClass("hidden"),e("#tag_label").focus(),!1}),e("div").is("#filters")&&(e("#button_filters").show(),e("#clear_form_filters").on("click",function(){return e("#filters input").val(""),e("#filters :checked").removeAttr("checked"),!1})),e("article").length&&!function(){var a=new f.App;a.include(f.ui.main,{element:document.querySelector("article")});var b=JSON.parse(e("#annotationroutes").html());a.include(f.storage.http,b),a.start().then(function(){a.annotations.load({entry:b.entryId})}),e(window).scroll(function(){var a=e(window).scrollTop(),d=e(document).height(),f=a/d,g=Math.round(100*f)/100;(0,c.savePercent)(b.entryId,g)}),(0,c.retrievePercent)(b.entryId),e(window).resize(function(){(0,c.retrievePercent)(b.entryId)})}();var l=window.location.href;l.match("&closewin=true")&&window.close(),e("a.closeMessage").on("click",function(){return e(void 0).parents("div.messages").slideUp(300,function(){e(void 0).remove()}),!1}),e("#search-form").hide(),e("#bagit-form").hide(),e("#filters").hide(),e("#download-form").hide(),e("#search").click(function(){i(),a(),e("#searchfield").focus()}),e(".filter-btn").click(function(){i(),b()}),e(".download-btn").click(function(){i(),g()}),e("#bagit").click(function(){i(),h(),e("#plainurl").focus()}),e("#search-form-close").click(function(){a()}),e("#filter-form-close").click(function(){b()}),e("#download-form-close").click(function(){g()}),e("#bagit-form-close").click(function(){h()});var m=e("#bagit-form-form");m.submit(function(a){e("body").css("cursor","wait"),e("#add-link-result").empty(),e.ajax({type:m.attr("method"),url:m.attr("action"),data:m.serialize(),success:function(){e("#add-link-result").html("Done!"),e("#plainurl").val(""),e("#plainurl").blur(""),e("body").css("cursor","auto")},error:function(){e("#add-link-result").html("Failed!"),e("body").css("cursor","auto")}}),a.preventDefault()}),e('article a[href^="http"]').after(function(){return''}),e(".add-to-wallabag-link-after").click(function(a){(0,d.toggleSaveLinkForm)(e(void 0).attr("href"),a),a.preventDefault()})})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../_global/js/tools":1,"./uiTools":3,annotator:4,jquery:31,"jquery-ui-browserify":29,"jquery.cookie":30}],3:[function(a,b,c){"use strict";function d(a,b){e("#add-link-result").empty();var c=e("#bagit"),d=e("#bagit-form");c.toggleClass("active-current"),0===c.length&&("undefined"!==b&&b?d.css({position:"absolute",top:b.pageY,left:b.pageX-200}):d.css({position:"relative",top:"auto",left:"auto"}));var f=e("#search-form"),g=e("#plainurl");0!==f.length&&(e("#search").removeClass("current"),e("#search-arrow").removeClass("arrow-down"),f.hide()),d.toggle(),e("#content").toggleClass("opacity03"),"undefined"!==a&&a&&g.val(a),g.focus()}Object.defineProperty(c,"__esModule",{value:!0});var e=a("jquery");c.toggleSaveLinkForm=d},{jquery:31}],4:[function(a,b,c){(function(b){"use strict";var d=a("insert-css"),e=a("./css/annotator.css");d(e);var f=a("./src/app"),g=a("./src/util");c.App=f.App,c.authz=a("./src/authz"),c.identity=a("./src/identity"),c.notification=a("./src/notification"),c.storage=a("./src/storage"),c.ui=a("./src/ui"),c.util=g,c.ext={};var h=b.wgxpath;"undefined"!=typeof h&&null!==h&&"function"==typeof h.install&&h.install();var i=b.annotator;c.noConflict=function(){return b.annotator=i,this}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./css/annotator.css":5,"./src/app":7,"./src/authz":8,"./src/identity":9,"./src/notification":10,"./src/storage":12,"./src/ui":13,"./src/util":24,"insert-css":27}],5:[function(a,b,c){b.exports='.annotator-filter *,.annotator-notice,.annotator-widget *{font-family:"Helvetica Neue",Arial,Helvetica,sans-serif;font-weight:400;text-align:left;margin:0;padding:0;background:0 0;-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none;-moz-box-shadow:none;-webkit-box-shadow:none;-o-box-shadow:none;box-shadow:none;color:#909090}.annotator-adder{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAAAwCAYAAAD+WvNWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMzgwMTE3NDA3MjA2ODExODRCQUU5RDY0RTkyQTJDNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowOUY5RUFERDYwOEIxMUUxOTQ1RDkyQzU2OTNEMDZENCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowOUY5RUFEQzYwOEIxMUUxOTQ1RDkyQzU2OTNEMDZENCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA1ODAxMTc0MDcyMDY4MTE5MTA5OUIyNDhFRUQ1QkM4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAzODAxMTc0MDcyMDY4MTE4NEJBRTlENjRFOTJBMkM2Ii8+IDwvcmRmOkRlc2NyaXB0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);background-repeat:no-repeat}.annotator-editor a:after,.annotator-filter .annotator-filter-navigation button:after,.annotator-filter .annotator-filter-property .annotator-filter-clear,.annotator-resize,.annotator-viewer .annotator-controls a,.annotator-viewer .annotator-controls button,.annotator-widget:after{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAEiCAYAAAD0w4JOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RDY0MTMzNTM2QUQzMTFFMUE2REJERDgwQTM3Njg5NTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RDY0MTMzNTQ2QUQzMTFFMUE2REJERDgwQTM3Njg5NTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2ODkwQjlFQzZBRDExMUUxQTZEQkREODBBMzc2ODk1NSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpENjQxMzM1MjZBRDMxMUUxQTZEQkREODBBMzc2ODk1NSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkijPpwAABBRSURBVHja7JsJVBRX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);background-repeat:no-repeat}.annotator-hl{background:#FFFF0A;background:rgba(255,255,10,.3);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4DFFFF0A, endColorstr=#4DFFFF0A)"}.annotator-hl-temporary{background:#007CFF;background:rgba(0,124,255,.3);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4D007CFF, endColorstr=#4D007CFF)"}.annotator-wrapper{position:relative}.annotator-adder,.annotator-notice,.annotator-outer{z-index:1020}.annotator-adder,.annotator-notice,.annotator-outer,.annotator-widget{position:absolute;font-size:10px;line-height:1}.annotator-hide{display:none;visibility:hidden}.annotator-adder{margin-top:-48px;margin-left:-24px;width:48px;height:48px;background-position:left top}.annotator-adder:hover{background-position:center top}.annotator-adder:active{background-position:center right}.annotator-adder button{display:block;width:36px;height:41px;margin:0 auto;border:none;background:0 0;text-indent:-999em;cursor:pointer}.annotator-outer{width:0;height:0}.annotator-widget{margin:0;padding:0;bottom:15px;left:-18px;min-width:265px;background-color:#FBFBFB;background-color:rgba(251,251,251,.98);border:1px solid #7A7A7A;border:1px solid rgba(122,122,122,.6);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.2);-moz-box-shadow:0 5px 15px rgba(0,0,0,.2);-o-box-shadow:0 5px 15px rgba(0,0,0,.2);box-shadow:0 5px 15px rgba(0,0,0,.2)}.annotator-invert-x .annotator-widget{left:auto;right:-18px}.annotator-invert-y .annotator-widget{bottom:auto;top:8px}.annotator-widget strong{font-weight:700}.annotator-widget .annotator-item,.annotator-widget .annotator-listing{padding:0;margin:0;list-style:none}.annotator-widget:after{content:"";display:block;width:18px;height:10px;background-position:0 0;position:absolute;bottom:-10px;left:8px}.annotator-invert-x .annotator-widget:after{left:auto;right:8px}.annotator-invert-y .annotator-widget:after{background-position:0 -15px;bottom:auto;top:-9px}.annotator-editor .annotator-item input,.annotator-editor .annotator-item textarea,.annotator-widget .annotator-item{position:relative;font-size:12px}.annotator-viewer .annotator-item{border-top:2px solid #7A7A7A;border-top:2px solid rgba(122,122,122,.2)}.annotator-widget .annotator-item:first-child{border-top:none}.annotator-editor .annotator-item,.annotator-viewer div{border-top:1px solid #858585;border-top:1px solid rgba(133,133,133,.11)}.annotator-viewer div{padding:6px}.annotator-viewer .annotator-item ol,.annotator-viewer .annotator-item ul{padding:4px 16px}.annotator-editor .annotator-item:first-child textarea,.annotator-viewer div:first-of-type{padding-top:12px;padding-bottom:12px;color:#3c3c3c;font-size:13px;font-style:italic;line-height:1.3;border-top:none}.annotator-viewer .annotator-controls{position:relative;top:5px;right:5px;padding-left:5px;opacity:0;-webkit-transition:opacity .2s ease-in;-moz-transition:opacity .2s ease-in;-o-transition:opacity .2s ease-in;transition:opacity .2s ease-in;float:right}.annotator-viewer li .annotator-controls.annotator-visible,.annotator-viewer li:hover .annotator-controls{opacity:1}.annotator-viewer .annotator-controls a,.annotator-viewer .annotator-controls button{cursor:pointer;display:inline-block;width:13px;height:13px;margin-left:2px;border:none;opacity:.2;text-indent:-900em;background-color:transparent;outline:0}.annotator-viewer .annotator-controls a:focus,.annotator-viewer .annotator-controls a:hover,.annotator-viewer .annotator-controls button:focus,.annotator-viewer .annotator-controls button:hover{opacity:.9}.annotator-viewer .annotator-controls a:active,.annotator-viewer .annotator-controls button:active{opacity:1}.annotator-viewer .annotator-controls button[disabled]{display:none}.annotator-viewer .annotator-controls .annotator-edit{background-position:0 -60px}.annotator-viewer .annotator-controls .annotator-delete{background-position:0 -75px}.annotator-viewer .annotator-controls .annotator-link{background-position:0 -270px}.annotator-editor .annotator-item{position:relative}.annotator-editor .annotator-item label{top:0;display:inline;cursor:pointer;font-size:12px}.annotator-editor .annotator-item input,.annotator-editor .annotator-item textarea{display:block;min-width:100%;padding:10px 8px;border:none;margin:0;color:#3c3c3c;background:0 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;resize:none}.annotator-editor .annotator-item textarea::-webkit-scrollbar{height:8px;width:8px}.annotator-editor .annotator-item textarea::-webkit-scrollbar-track-piece{margin:13px 0 3px;background-color:#e5e5e5;-webkit-border-radius:4px}.annotator-editor .annotator-item textarea::-webkit-scrollbar-thumb:vertical{height:25px;background-color:#ccc;-webkit-border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1)}.annotator-editor .annotator-item textarea::-webkit-scrollbar-thumb:horizontal{width:25px;background-color:#ccc;-webkit-border-radius:4px}.annotator-editor .annotator-item:first-child textarea{min-height:5.5em;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.annotator-editor .annotator-item input:focus,.annotator-editor .annotator-item textarea:focus{background-color:#f3f3f3;outline:0}.annotator-editor .annotator-item input[type=checkbox],.annotator-editor .annotator-item input[type=radio]{width:auto;min-width:0;padding:0;display:inline;margin:0 4px 0 0;cursor:pointer}.annotator-editor .annotator-checkbox{padding:8px 6px}.annotator-editor .annotator-controls,.annotator-filter,.annotator-filter .annotator-filter-navigation button{text-align:right;padding:3px;border-top:1px solid #d4d4d4;background-color:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),color-stop(.6,#dcdcdc),to(#d2d2d2));background-image:-moz-linear-gradient(to bottom,#f5f5f5,#dcdcdc 60%,#d2d2d2);background-image:-webkit-linear-gradient(to bottom,#f5f5f5,#dcdcdc 60%,#d2d2d2);background-image:linear-gradient(to bottom,#f5f5f5,#dcdcdc 60%,#d2d2d2);-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,.7),inset -1px 0 0 rgba(255,255,255,.7),inset 0 1px 0 rgba(255,255,255,.7);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,.7),inset -1px 0 0 rgba(255,255,255,.7),inset 0 1px 0 rgba(255,255,255,.7);-o-box-shadow:inset 1px 0 0 rgba(255,255,255,.7),inset -1px 0 0 rgba(255,255,255,.7),inset 0 1px 0 rgba(255,255,255,.7);box-shadow:inset 1px 0 0 rgba(255,255,255,.7),inset -1px 0 0 rgba(255,255,255,.7),inset 0 1px 0 rgba(255,255,255,.7);-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-o-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px}.annotator-editor.annotator-invert-y .annotator-controls{border-top:none;border-bottom:1px solid #b4b4b4;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;-o-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.annotator-editor a,.annotator-filter .annotator-filter-property label{position:relative;display:inline-block;padding:0 6px 0 22px;color:#363636;text-shadow:0 1px 0 rgba(255,255,255,.75);text-decoration:none;line-height:24px;font-size:12px;font-weight:700;border:1px solid #a2a2a2;background-color:#d4d4d4;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),color-stop(.5,#d2d2d2),color-stop(.5,#bebebe),to(#d2d2d2));background-image:-moz-linear-gradient(to bottom,#f5f5f5,#d2d2d2 50%,#bebebe 50%,#d2d2d2);background-image:-webkit-linear-gradient(to bottom,#f5f5f5,#d2d2d2 50%,#bebebe 50%,#d2d2d2);background-image:linear-gradient(to bottom,#f5f5f5,#d2d2d2 50%,#bebebe 50%,#d2d2d2);-webkit-box-shadow:inset 0 0 5px rgba(255,255,255,.2),inset 0 0 1px rgba(255,255,255,.8);-moz-box-shadow:inset 0 0 5px rgba(255,255,255,.2),inset 0 0 1px rgba(255,255,255,.8);-o-box-shadow:inset 0 0 5px rgba(255,255,255,.2),inset 0 0 1px rgba(255,255,255,.8);box-shadow:inset 0 0 5px rgba(255,255,255,.2),inset 0 0 1px rgba(255,255,255,.8);-webkit-border-radius:5px;-moz-border-radius:5px;-o-border-radius:5px;border-radius:5px}.annotator-editor a:after{position:absolute;top:50%;left:5px;display:block;content:"";width:15px;height:15px;margin-top:-7px;background-position:0 -90px}.annotator-editor a.annotator-focus,.annotator-editor a:focus,.annotator-editor a:hover,.annotator-filter .annotator-filter-active label,.annotator-filter .annotator-filter-navigation button:hover{outline:0;border-color:#435aa0;background-color:#3865f9;background-image:-webkit-gradient(linear,left top,left bottom,from(#7691fb),color-stop(.5,#5075fb),color-stop(.5,#3865f9),to(#3665fa));background-image:-moz-linear-gradient(to bottom,#7691fb,#5075fb 50%,#3865f9 50%,#3665fa);background-image:-webkit-linear-gradient(to bottom,#7691fb,#5075fb 50%,#3865f9 50%,#3665fa);background-image:linear-gradient(to bottom,#7691fb,#5075fb 50%,#3865f9 50%,#3665fa);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.42)}.annotator-editor a:focus:after,.annotator-editor a:hover:after{margin-top:-8px;background-position:0 -105px}.annotator-editor a:active,.annotator-filter .annotator-filter-navigation button:active{border-color:#700c49;background-color:#d12e8e;background-image:-webkit-gradient(linear,left top,left bottom,from(#fc7cca),color-stop(.5,#e85db2),color-stop(.5,#d12e8e),to(#ff009c));background-image:-moz-linear-gradient(to bottom,#fc7cca,#e85db2 50%,#d12e8e 50%,#ff009c);background-image:-webkit-linear-gradient(to bottom,#fc7cca,#e85db2 50%,#d12e8e 50%,#ff009c);background-image:linear-gradient(to bottom,#fc7cca,#e85db2 50%,#d12e8e 50%,#ff009c)}.annotator-editor a.annotator-save:after{background-position:0 -120px}.annotator-editor a.annotator-save.annotator-focus:after,.annotator-editor a.annotator-save:focus:after,.annotator-editor a.annotator-save:hover:after{margin-top:-8px;background-position:0 -135px}.annotator-editor .annotator-widget:after{background-position:0 -30px}.annotator-editor.annotator-invert-y .annotator-widget .annotator-controls{background-color:#f2f2f2}.annotator-editor.annotator-invert-y .annotator-widget:after{background-position:0 -45px;height:11px}.annotator-resize{position:absolute;top:0;right:0;width:12px;height:12px;background-position:2px -150px}.annotator-invert-x .annotator-resize{right:auto;left:0;background-position:0 -195px}.annotator-invert-y .annotator-resize{top:auto;bottom:0;background-position:2px -165px}.annotator-invert-y.annotator-invert-x .annotator-resize{background-position:0 -180px}.annotator-notice{color:#fff;position:fixed;top:-54px;left:0;width:100%;font-size:14px;line-height:50px;text-align:center;background:#000;background:rgba(0,0,0,.9);border-bottom:4px solid #d4d4d4;-webkit-transition:top .4s ease-out;-moz-transition:top .4s ease-out;-o-transition:top .4s ease-out;transition:top .4s ease-out}.annotator-notice-success{border-color:#3665f9}.annotator-notice-error{border-color:#ff7e00}.annotator-notice p{margin:0}.annotator-notice a{color:#fff}.annotator-notice-show{top:0}.annotator-tags{margin-bottom:-2px}.annotator-tags .annotator-tag{display:inline-block;padding:0 8px;margin-bottom:2px;line-height:1.6;font-weight:700;background-color:#e6e6e6;-webkit-border-radius:8px;-moz-border-radius:8px;-o-border-radius:8px;border-radius:8px}.annotator-filter{z-index:1010;position:fixed;top:0;right:0;left:0;text-align:left;line-height:0;border:none;border-bottom:1px solid #878787;padding-left:10px;padding-right:10px;-webkit-border-radius:0;-moz-border-radius:0;-o-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 -1px 0 rgba(255,255,255,.3);-moz-box-shadow:inset 0 -1px 0 rgba(255,255,255,.3);-o-box-shadow:inset 0 -1px 0 rgba(255,255,255,.3);box-shadow:inset 0 -1px 0 rgba(255,255,255,.3)}.annotator-filter strong{font-size:12px;font-weight:700;color:#3c3c3c;text-shadow:0 1px 0 rgba(255,255,255,.7);position:relative;top:-9px}.annotator-filter .annotator-filter-navigation,.annotator-filter .annotator-filter-property{position:relative;display:inline-block;overflow:hidden;line-height:10px;padding:2px 0;margin-right:8px}.annotator-filter .annotator-filter-navigation button,.annotator-filter .annotator-filter-property label{text-align:left;display:block;float:left;line-height:20px;-webkit-border-radius:10px 0 0 10px;-moz-border-radius:10px 0 0 10px;-o-border-radius:10px 0 0 10px;border-radius:10px 0 0 10px}.annotator-filter .annotator-filter-property label{padding-left:8px}.annotator-filter .annotator-filter-property input{display:block;float:right;-webkit-appearance:none;border:1px solid #878787;border-left:none;padding:2px 4px;line-height:16px;min-height:16px;font-size:12px;width:150px;color:#333;background-color:#f8f8f8;-webkit-border-radius:0 10px 10px 0;-moz-border-radius:0 10px 10px 0;-o-border-radius:0 10px 10px 0;border-radius:0 10px 10px 0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);-o-box-shadow:inset 0 1px 1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px rgba(0,0,0,.2)}.annotator-filter .annotator-filter-property input:focus{outline:0;background-color:#fff}.annotator-filter .annotator-filter-clear{position:absolute;right:3px;top:6px;border:none;text-indent:-900em;width:15px;height:15px;background-position:0 -90px;opacity:.4}.annotator-filter .annotator-filter-clear:focus,.annotator-filter .annotator-filter-clear:hover{opacity:.8}.annotator-filter .annotator-filter-clear:active{opacity:1}.annotator-filter .annotator-filter-navigation button{border:1px solid #a2a2a2;padding:0;text-indent:-900px;width:20px;min-height:22px;-webkit-box-shadow:inset 0 0 5px rgba(255,255,255,.2),inset 0 0 1px rgba(255,255,255,.8);-moz-box-shadow:inset 0 0 5px rgba(255,255,255,.2),inset 0 0 1px rgba(255,255,255,.8);-o-box-shadow:inset 0 0 5px rgba(255,255,255,.2),inset 0 0 1px rgba(255,255,255,.8);box-shadow:inset 0 0 5px rgba(255,255,255,.2),inset 0 0 1px rgba(255,255,255,.8)}.annotator-filter .annotator-filter-navigation button,.annotator-filter .annotator-filter-navigation button:focus,.annotator-filter .annotator-filter-navigation button:hover{color:transparent}.annotator-filter .annotator-filter-navigation button:after{position:absolute;top:8px;left:8px;content:"";display:block;width:9px;height:9px;background-position:0 -210px}.annotator-filter .annotator-filter-navigation button:hover:after{background-position:0 -225px}.annotator-filter .annotator-filter-navigation .annotator-filter-next{-webkit-border-radius:0 10px 10px 0;-moz-border-radius:0 10px 10px 0;-o-border-radius:0 10px 10px 0;border-radius:0 10px 10px 0;border-left:none}.annotator-filter .annotator-filter-navigation .annotator-filter-next:after{left:auto;right:7px;background-position:0 -240px}.annotator-filter .annotator-filter-navigation .annotator-filter-next:hover:after{background-position:0 -255px}.annotator-hl-active{background:#FFFF0A;background:rgba(255,255,10,.8);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#CCFFFF0A, endColorstr=#CCFFFF0A)"}.annotator-hl-filtered{background-color:transparent}'; -},{}],6:[function(a,b,c){!function(a,c){"object"==typeof b&&"object"==typeof b.exports?b.exports=a.document?c(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return c(a)}:c(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=!!a&&"length"in a&&a.length,c=na.type(a);return"function"!==c&&!na.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}function d(a,b,c){if(na.isFunction(b))return na.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return na.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(xa.test(b))return na.filter(b,a,c);b=na.filter(b,a)}return na.grep(a,function(a){return na.inArray(a,b)>-1!==c})}function e(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}function f(a){var b={};return na.each(a.match(Da)||[],function(a,c){b[c]=!0}),b}function g(){da.addEventListener?(da.removeEventListener("DOMContentLoaded",h),a.removeEventListener("load",h)):(da.detachEvent("onreadystatechange",h),a.detachEvent("onload",h))}function h(){(da.addEventListener||"load"===a.event.type||"complete"===da.readyState)&&(g(),na.ready())}function i(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(Ia,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:Ha.test(c)?na.parseJSON(c):c)}catch(e){}na.data(a,b,c)}else c=void 0}return c}function j(a){var b;for(b in a)if(("data"!==b||!na.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function k(a,b,c,d){if(Ga(a)){var e,f,g=na.expando,h=a.nodeType,i=h?na.cache:a,j=h?a[g]:a[g]&&g;if(j&&i[j]&&(d||i[j].data)||void 0!==c||"string"!=typeof b)return j||(j=h?a[g]=ca.pop()||na.guid++:g),i[j]||(i[j]=h?{}:{toJSON:na.noop}),"object"!=typeof b&&"function"!=typeof b||(d?i[j]=na.extend(i[j],b):i[j].data=na.extend(i[j].data,b)),f=i[j],d||(f.data||(f.data={}),f=f.data),void 0!==c&&(f[na.camelCase(b)]=c),"string"==typeof b?(e=f[b],null==e&&(e=f[na.camelCase(b)])):e=f,e}}function l(a,b,c){if(Ga(a)){var d,e,f=a.nodeType,g=f?na.cache:a,h=f?a[na.expando]:na.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){na.isArray(b)?b=b.concat(na.map(b,na.camelCase)):b in d?b=[b]:(b=na.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;for(;e--;)delete d[b[e]];if(c?!j(d):!na.isEmptyObject(d))return}(c||(delete g[h].data,j(g[h])))&&(f?na.cleanData([a],!0):la.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}function m(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return na.css(a,b,"")},i=h(),j=c&&c[3]||(na.cssNumber[b]?"":"px"),k=(na.cssNumber[b]||"px"!==j&&+i)&&Ka.exec(na.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,na.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}function n(a){var b=Sa.split("|"),c=a.createDocumentFragment();if(c.createElement)for(;b.length;)c.createElement(b.pop());return c}function o(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||na.nodeName(d,b)?f.push(d):na.merge(f,o(d,b));return void 0===b||b&&na.nodeName(a,b)?na.merge([a],f):f}function p(a,b){for(var c,d=0;null!=(c=a[d]);d++)na._data(c,"globalEval",!b||na._data(b[d],"globalEval"))}function q(a){Oa.test(a.type)&&(a.defaultChecked=a.checked)}function r(a,b,c,d,e){for(var f,g,h,i,j,k,l,m=a.length,r=n(b),s=[],t=0;t"!==l[1]||Va.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;f--;)na.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k);for(na.merge(s,i.childNodes),i.textContent="";i.firstChild;)i.removeChild(i.firstChild);i=r.lastChild}else s.push(b.createTextNode(g));for(i&&r.removeChild(i),la.appendChecked||na.grep(o(s,"input"),q),t=0;g=s[t++];)if(d&&na.inArray(g,d)>-1)e&&e.push(g);else if(h=na.contains(g.ownerDocument,g),i=o(r.appendChild(g),"script"),h&&p(i),c)for(f=0;g=i[f++];)Qa.test(g.type||"")&&c.push(g);return i=null,r}function s(){return!0}function t(){return!1}function u(){try{return da.activeElement}catch(a){}}function v(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)v(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=t;else if(!e)return a;return 1===f&&(g=e,e=function(a){return na().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=na.guid++)),a.each(function(){na.event.add(this,b,e,d,c)})}function w(a,b){return na.nodeName(a,"table")&&na.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function x(a){return a.type=(null!==na.find.attr(a,"type"))+"/"+a.type,a}function y(a){var b=eb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function z(a,b){if(1===b.nodeType&&na.hasData(a)){var c,d,e,f=na._data(a),g=na._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d1&&"string"==typeof n&&!la.checkClone&&db.test(n))return a.each(function(e){var f=a.eq(e);p&&(b[0]=n.call(this,e,f.html())),B(f,b,c,d)});if(l&&(j=r(b,a[0].ownerDocument,!1,a,d),e=j.firstChild,1===j.childNodes.length&&(j=e),e||d)){for(h=na.map(o(j,"script"),x),g=h.length;k")).appendTo(b.documentElement),b=(ib[0].contentWindow||ib[0].contentDocument).document,b.write(),b.close(),c=D(a,b),ib.detach()),jb[a]=c),c}function F(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}function G(a){if(a in yb)return a;for(var b=a.charAt(0).toUpperCase()+a.slice(1),c=xb.length;c--;)if(a=xb[c]+b,a in yb)return a}function H(a,b){for(var c,d,e,f=[],g=0,h=a.length;g=0&&c=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==na.type(a)||a.nodeType||na.isWindow(a))return!1;try{if(a.constructor&&!ka.call(a,"constructor")&&!ka.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!la.ownFirst)for(b in a)return ka.call(a,b);for(b in a);return void 0===b||ka.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?ia[ja.call(a)]||"object":typeof a},globalEval:function(b){b&&na.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(pa,"ms-").replace(qa,ra)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var d,e=0;if(c(a))for(d=a.length;ew.cacheLength&&delete a[b.shift()],a[c+" "]=d}var b=[];return a}function d(a){return a[N]=!0,a}function e(a){var b=G.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function f(a,b){for(var c=a.split("|"),d=c.length;d--;)w.attrHandle[c[d]]=b}function g(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||V)-(~a.sourceIndex||V);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function h(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function i(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function j(a){return d(function(b){return b=+b,d(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function k(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}function l(){}function m(a){for(var b=0,c=a.length,d="";b1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function p(a,c,d){for(var e=0,f=c.length;e-1&&(d[j]=!(g[j]=l))}}else t=q(t===g?t.splice(o,t.length):t),f?f(null,g,t,i):$.apply(g,t)})}function s(a){for(var b,c,d,e=a.length,f=w.relative[a[0].type],g=f||w.relative[" "],h=f?1:0,i=n(function(a){return a===b},g,!0),j=n(function(a){return aa(b,a)>-1},g,!0),k=[function(a,c,d){var e=!f&&(d||c!==C)||((b=c).nodeType?i(a,c,d):j(a,c,d));return b=null,e}];h1&&o(k),h>1&&m(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(ha,"$1"),c,h0,f=a.length>0,g=function(d,g,h,i,j){var k,l,m,n=0,o="0",p=d&&[],r=[],s=C,t=d||f&&w.find.TAG("*",j),u=P+=null==s?1:Math.random()||.1,v=t.length;for(j&&(C=g===G||g||j);o!==v&&null!=(k=t[o]);o++){if(f&&k){for(l=0,g||k.ownerDocument===G||(F(k),h=!I);m=a[l++];)if(m(k,g||G,h)){i.push(k);break}j&&(P=u)}e&&((k=!m&&k)&&n--,d&&p.push(k))}if(n+=o,e&&o!==n){for(l=0;m=c[l++];)m(p,r,g,h);if(d){if(n>0)for(;o--;)p[o]||r[o]||(r[o]=Y.call(i));r=q(r)}$.apply(i,r),j&&!d&&r.length>0&&n+c.length>1&&b.uniqueSort(i)}return j&&(P=u,C=s),p};return e?d(g):g}var u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N="sizzle"+1*new Date,O=a.document,P=0,Q=0,R=c(),S=c(),T=c(),U=function(a,b){return a===b&&(E=!0),0},V=1<<31,W={}.hasOwnProperty,X=[],Y=X.pop,Z=X.push,$=X.push,_=X.slice,aa=function(a,b){for(var c=0,d=a.length;c+~]|"+ca+")"+ca+"*"),ka=new RegExp("="+ca+"*([^\\]'\"]*?)"+ca+"*\\]","g"),la=new RegExp(fa),ma=new RegExp("^"+da+"$"),na={ID:new RegExp("^#("+da+")"),CLASS:new RegExp("^\\.("+da+")"),TAG:new RegExp("^("+da+"|[*])"),ATTR:new RegExp("^"+ea),PSEUDO:new RegExp("^"+fa),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ca+"*(even|odd|(([+-]|)(\\d*)n|)"+ca+"*(?:([+-]|)"+ca+"*(\\d+)|))"+ca+"*\\)|)","i"),bool:new RegExp("^(?:"+ba+")$","i"),needsContext:new RegExp("^"+ca+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ca+"*((?:-\\d)?\\d*)"+ca+"*\\)|)(?=[^-]|$)","i")},oa=/^(?:input|select|textarea|button)$/i,pa=/^h\d$/i,qa=/^[^{]+\{\s*\[native \w/,ra=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,sa=/[+~]/,ta=/'|\\/g,ua=new RegExp("\\\\([\\da-f]{1,6}"+ca+"?|("+ca+")|.)","ig"),va=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},wa=function(){F()};try{$.apply(X=_.call(O.childNodes),O.childNodes),X[O.childNodes.length].nodeType}catch(xa){$={apply:X.length?function(a,b){Z.apply(a,_.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}v=b.support={},y=b.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},F=b.setDocument=function(a){var b,c,d=a?a.ownerDocument||a:O;return d!==G&&9===d.nodeType&&d.documentElement?(G=d,H=G.documentElement,I=!y(G),(c=G.defaultView)&&c.top!==c&&(c.addEventListener?c.addEventListener("unload",wa,!1):c.attachEvent&&c.attachEvent("onunload",wa)),v.attributes=e(function(a){return a.className="i",!a.getAttribute("className")}),v.getElementsByTagName=e(function(a){return a.appendChild(G.createComment("")),!a.getElementsByTagName("*").length}),v.getElementsByClassName=qa.test(G.getElementsByClassName),v.getById=e(function(a){return H.appendChild(a).id=N,!G.getElementsByName||!G.getElementsByName(N).length}),v.getById?(w.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&I){var c=b.getElementById(a);return c?[c]:[]}},w.filter.ID=function(a){var b=a.replace(ua,va);return function(a){return a.getAttribute("id")===b}}):(delete w.find.ID,w.filter.ID=function(a){var b=a.replace(ua,va);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),w.find.TAG=v.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):v.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},w.find.CLASS=v.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&I)return b.getElementsByClassName(a)},K=[],J=[],(v.qsa=qa.test(G.querySelectorAll))&&(e(function(a){H.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&J.push("[*^$]="+ca+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||J.push("\\["+ca+"*(?:value|"+ba+")"),a.querySelectorAll("[id~="+N+"-]").length||J.push("~="),a.querySelectorAll(":checked").length||J.push(":checked"),a.querySelectorAll("a#"+N+"+*").length||J.push(".#.+[+~]")}),e(function(a){var b=G.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&J.push("name"+ca+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||J.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),J.push(",.*:")})),(v.matchesSelector=qa.test(L=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&e(function(a){v.disconnectedMatch=L.call(a,"div"),L.call(a,"[s!='']:x"),K.push("!=",fa)}),J=J.length&&new RegExp(J.join("|")),K=K.length&&new RegExp(K.join("|")),b=qa.test(H.compareDocumentPosition),M=b||qa.test(H.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},U=b?function(a,b){if(a===b)return E=!0,0;var c=!a.compareDocumentPosition-!b.compareDocumentPosition;return c?c:(c=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&c||!v.sortDetached&&b.compareDocumentPosition(a)===c?a===G||a.ownerDocument===O&&M(O,a)?-1:b===G||b.ownerDocument===O&&M(O,b)?1:D?aa(D,a)-aa(D,b):0:4&c?-1:1)}:function(a,b){if(a===b)return E=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===G?-1:b===G?1:e?-1:f?1:D?aa(D,a)-aa(D,b):0;if(e===f)return g(a,b);for(c=a;c=c.parentNode;)h.unshift(c);for(c=b;c=c.parentNode;)i.unshift(c);for(;h[d]===i[d];)d++;return d?g(h[d],i[d]):h[d]===O?-1:i[d]===O?1:0},G):G},b.matches=function(a,c){return b(a,null,null,c)},b.matchesSelector=function(a,c){if((a.ownerDocument||a)!==G&&F(a),c=c.replace(ka,"='$1']"),v.matchesSelector&&I&&!T[c+" "]&&(!K||!K.test(c))&&(!J||!J.test(c)))try{var d=L.call(a,c);if(d||v.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return b(c,G,null,[a]).length>0},b.contains=function(a,b){return(a.ownerDocument||a)!==G&&F(a),M(a,b)},b.attr=function(a,b){(a.ownerDocument||a)!==G&&F(a);var c=w.attrHandle[b.toLowerCase()],d=c&&W.call(w.attrHandle,b.toLowerCase())?c(a,b,!I):void 0;return void 0!==d?d:v.attributes||!I?a.getAttribute(b):(d=a.getAttributeNode(b))&&d.specified?d.value:null},b.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},b.uniqueSort=function(a){var b,c=[],d=0,e=0;if(E=!v.detectDuplicates,D=!v.sortStable&&a.slice(0),a.sort(U),E){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return D=null,a},x=b.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=x(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d++];)c+=x(b);return c},w=b.selectors={cacheLength:50,createPseudo:d,match:na,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ua,va),a[3]=(a[3]||a[4]||a[5]||"").replace(ua,va),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||b.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&b.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return na.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&la.test(c)&&(b=z(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ua,va).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=R[a+" "];return b||(b=new RegExp("(^|"+ca+")"+a+"("+ca+"|$)"))&&R(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,c,d){return function(e){var f=b.attr(e,a);return null==f?"!="===c:!c||(f+="","="===c?f===d:"!="===c?f!==d:"^="===c?d&&0===f.indexOf(d):"*="===c?d&&f.indexOf(d)>-1:"$="===c?d&&f.slice(-d.length)===d:"~="===c?(" "+f.replace(ga," ")+" ").indexOf(d)>-1:"|="===c&&(f===d||f.slice(0,d.length+1)===d+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){for(;p;){for(m=b;m=m[p];)if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(m=q,l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===P&&j[1], -t=n&&j[2],m=n&&q.childNodes[n];m=++n&&m&&m[p]||(t=n=0)||o.pop();)if(1===m.nodeType&&++t&&m===b){k[a]=[P,n,t];break}}else if(s&&(m=b,l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===P&&j[1],t=n),t===!1)for(;(m=++n&&m&&m[p]||(t=n=0)||o.pop())&&((h?m.nodeName.toLowerCase()!==r:1!==m.nodeType)||!++t||(s&&(l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[P,t]),m!==b)););return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,c){var e,f=w.pseudos[a]||w.setFilters[a.toLowerCase()]||b.error("unsupported pseudo: "+a);return f[N]?f(c):f.length>1?(e=[a,a,"",c],w.setFilters.hasOwnProperty(a.toLowerCase())?d(function(a,b){for(var d,e=f(a,c),g=e.length;g--;)d=aa(a,e[g]),a[d]=!(b[d]=e[g])}):function(a){return f(a,0,e)}):f}},pseudos:{not:d(function(a){var b=[],c=[],e=A(a.replace(ha,"$1"));return e[N]?d(function(a,b,c,d){for(var f,g=e(a,null,d,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,d,f){return b[0]=a,e(b,null,f,c),b[0]=null,!c.pop()}}),has:d(function(a){return function(c){return b(a,c).length>0}}),contains:d(function(a){return a=a.replace(ua,va),function(b){return(b.textContent||b.innerText||x(b)).indexOf(a)>-1}}),lang:d(function(a){return ma.test(a||"")||b.error("unsupported lang: "+a),a=a.replace(ua,va).toLowerCase(),function(b){var c;do if(c=I?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===H},focus:function(a){return a===G.activeElement&&(!G.hasFocus||G.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!w.pseudos.empty(a)},header:function(a){return pa.test(a.nodeName)},input:function(a){return oa.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:j(function(){return[0]}),last:j(function(a,b){return[b-1]}),eq:j(function(a,b,c){return[c<0?c+b:c]}),even:j(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:j(function(a,b,c){for(var d=c<0?c+b:c;++d2&&"ID"===(g=f[0]).type&&v.getById&&9===b.nodeType&&I&&w.relative[f[1].type]){if(b=(w.find.ID(g.matches[0].replace(ua,va),b)||[])[0],!b)return c;j&&(b=b.parentNode),a=a.slice(f.shift().value.length)}for(e=na.needsContext.test(a)?0:f.length;e--&&(g=f[e],!w.relative[h=g.type]);)if((i=w.find[h])&&(d=i(g.matches[0].replace(ua,va),sa.test(f[0].type)&&k(b.parentNode)||b))){if(f.splice(e,1),a=d.length&&m(f),!a)return $.apply(c,d),c;break}}return(j||A(a,l))(d,b,!I,c,!b||sa.test(a)&&k(b.parentNode)||b),c},v.sortStable=N.split("").sort(U).join("")===N,v.detectDuplicates=!!E,F(),v.sortDetached=e(function(a){return 1&a.compareDocumentPosition(G.createElement("div"))}),e(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||f("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),v.attributes&&e(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||f("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),e(function(a){return null==a.getAttribute("disabled")})||f(ba,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),b}(a);na.find=sa,na.expr=sa.selectors,na.expr[":"]=na.expr.pseudos,na.uniqueSort=na.unique=sa.uniqueSort,na.text=sa.getText,na.isXMLDoc=sa.isXML,na.contains=sa.contains;var ta=function(a,b,c){for(var d=[],e=void 0!==c;(a=a[b])&&9!==a.nodeType;)if(1===a.nodeType){if(e&&na(a).is(c))break;d.push(a)}return d},ua=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},va=na.expr.match.needsContext,wa=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,xa=/^.[^:#\[\.,]*$/;na.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?na.find.matchesSelector(d,a)?[d]:[]:na.find.matches(a,na.grep(b,function(a){return 1===a.nodeType}))},na.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(na(a).filter(function(){for(b=0;b1?na.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(d(this,a||[],!1))},not:function(a){return this.pushStack(d(this,a||[],!0))},is:function(a){return!!d(this,"string"==typeof a&&va.test(a)?na(a):a||[],!1).length}});var ya,za=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,Aa=na.fn.init=function(a,b,c){var d,e;if(!a)return this;if(c=c||ya,"string"==typeof a){if(d="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:za.exec(a),!d||!d[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(d[1]){if(b=b instanceof na?b[0]:b,na.merge(this,na.parseHTML(d[1],b&&b.nodeType?b.ownerDocument||b:da,!0)),wa.test(d[1])&&na.isPlainObject(b))for(d in b)na.isFunction(this[d])?this[d](b[d]):this.attr(d,b[d]);return this}if(e=da.getElementById(d[2]),e&&e.parentNode){if(e.id!==d[2])return ya.find(a);this.length=1,this[0]=e}return this.context=da,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):na.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(na):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),na.makeArray(a,this))};Aa.prototype=na.fn,ya=na(da);var Ba=/^(?:parents|prev(?:Until|All))/,Ca={children:!0,contents:!0,next:!0,prev:!0};na.fn.extend({has:function(a){var b,c=na(a,this),d=c.length;return this.filter(function(){for(b=0;b-1:1===c.nodeType&&na.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?na.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?na.inArray(this[0],na(a)):na.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(na.uniqueSort(na.merge(this.get(),na(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),na.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return ta(a,"parentNode")},parentsUntil:function(a,b,c){return ta(a,"parentNode",c)},next:function(a){return e(a,"nextSibling")},prev:function(a){return e(a,"previousSibling")},nextAll:function(a){return ta(a,"nextSibling")},prevAll:function(a){return ta(a,"previousSibling")},nextUntil:function(a,b,c){return ta(a,"nextSibling",c)},prevUntil:function(a,b,c){return ta(a,"previousSibling",c)},siblings:function(a){return ua((a.parentNode||{}).firstChild,a)},children:function(a){return ua(a.firstChild)},contents:function(a){return na.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:na.merge([],a.childNodes)}},function(a,b){na.fn[a]=function(c,d){var e=na.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=na.filter(d,e)),this.length>1&&(Ca[a]||(e=na.uniqueSort(e)),Ba.test(a)&&(e=e.reverse())),this.pushStack(e)}});var Da=/\S+/g;na.Callbacks=function(a){a="string"==typeof a?f(a):na.extend({},a);var b,c,d,e,g=[],h=[],i=-1,j=function(){for(e=a.once,d=b=!0;h.length;i=-1)for(c=h.shift();++i-1;)g.splice(c,1),c<=i&&i--}),this},has:function(a){return a?na.inArray(a,g)>-1:g.length>0},empty:function(){return g&&(g=[]),this},disable:function(){return e=h=[],g=c="",this},disabled:function(){return!g},lock:function(){return e=!0,c||k.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],h.push(c),b||j()),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},na.extend({Deferred:function(a){var b=[["resolve","done",na.Callbacks("once memory"),"resolved"],["reject","fail",na.Callbacks("once memory"),"rejected"],["notify","progress",na.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return na.Deferred(function(c){na.each(b,function(b,f){var g=na.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&na.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?na.extend(a,d):d}},e={};return d.pipe=d.then,na.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=ea.call(arguments),g=f.length,h=1!==g||a&&na.isFunction(a.promise)?g:0,i=1===h?a:na.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?ea.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);e0||(Ea.resolveWith(da,[na]),na.fn.triggerHandler&&(na(da).triggerHandler("ready"),na(da).off("ready"))))}}),na.ready.promise=function(b){if(!Ea)if(Ea=na.Deferred(),"complete"===da.readyState||"loading"!==da.readyState&&!da.documentElement.doScroll)a.setTimeout(na.ready);else if(da.addEventListener)da.addEventListener("DOMContentLoaded",h),a.addEventListener("load",h);else{da.attachEvent("onreadystatechange",h),a.attachEvent("onload",h);var c=!1;try{c=null==a.frameElement&&da.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!na.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(e,50)}g(),na.ready()}}()}return Ea.promise(b)},na.ready.promise();var Fa;for(Fa in na(la))break;la.ownFirst="0"===Fa,la.inlineBlockNeedsLayout=!1,na(function(){var a,b,c,d;c=da.getElementsByTagName("body")[0],c&&c.style&&(b=da.createElement("div"),d=da.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",la.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=da.createElement("div");la.deleteExpando=!0;try{delete a.test}catch(b){la.deleteExpando=!1}a=null}();var Ga=function(a){var b=na.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return(1===c||9===c)&&(!b||b!==!0&&a.getAttribute("classid")===b)},Ha=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Ia=/([A-Z])/g;na.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?na.cache[a[na.expando]]:a[na.expando],!!a&&!j(a)},data:function(a,b,c){return k(a,b,c)},removeData:function(a,b){return l(a,b)},_data:function(a,b,c){return k(a,b,c,!0)},_removeData:function(a,b){return l(a,b,!0)}}),na.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=na.data(f),1===f.nodeType&&!na._data(f,"parsedAttrs"))){for(c=g.length;c--;)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=na.camelCase(d.slice(5)),i(f,d,e[d])));na._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){na.data(this,a)}):arguments.length>1?this.each(function(){na.data(this,a,b)}):f?i(f,a,na.data(f,a)):void 0},removeData:function(a){return this.each(function(){na.removeData(this,a)})}}),na.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=na._data(a,b),c&&(!d||na.isArray(c)?d=na._data(a,b,na.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=na.queue(a,b),d=c.length,e=c.shift(),f=na._queueHooks(a,b),g=function(){na.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return na._data(a,c)||na._data(a,c,{empty:na.Callbacks("once memory").add(function(){na._removeData(a,b+"queue"),na._removeData(a,c)})})}}),na.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length
a",la.leadingWhitespace=3===a.firstChild.nodeType,la.tbody=!a.getElementsByTagName("tbody").length,la.htmlSerialize=!!a.getElementsByTagName("link").length,la.html5Clone="<:nav>"!==da.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),la.appendChecked=c.checked,a.innerHTML="",la.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=da.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),la.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,la.noCloneEvent=!!a.addEventListener,a[na.expando]=1,la.attributes=!a.getAttribute(na.expando)}();var Ta={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:la.htmlSerialize?[0,"",""]:[1,"X
","
"]};Ta.optgroup=Ta.option,Ta.tbody=Ta.tfoot=Ta.colgroup=Ta.caption=Ta.thead,Ta.th=Ta.td;var Ua=/<|&#?\w+;/,Va=/-1&&(o=n.split("."),n=o.shift(),o.sort()),g=n.indexOf(":")<0&&"on"+n,b=b[na.expando]?b:new na.Event(n,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=o.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:na.makeArray(c,[b]),j=na.event.special[n]||{},e||!j.trigger||j.trigger.apply(d,c)!==!1)){if(!e&&!j.noBubble&&!na.isWindow(d)){for(i=j.delegateType||n,Za.test(i+n)||(h=h.parentNode);h;h=h.parentNode)m.push(h),k=h;k===(d.ownerDocument||da)&&m.push(k.defaultView||k.parentWindow||a)}for(l=0;(h=m[l++])&&!b.isPropagationStopped();)b.type=l>1?i:j.bindType||n,f=(na._data(h,"events")||{})[b.type]&&na._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&Ga(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=n,!e&&!b.isDefaultPrevented()&&(!j._default||j._default.apply(m.pop(),c)===!1)&&Ga(d)&&g&&d[n]&&!na.isWindow(d)){k=d[g],k&&(d[g]=null),na.event.triggered=n;try{d[n]()}catch(p){}na.event.triggered=void 0,k&&(d[g]=k)}return b.result}},dispatch:function(a){a=na.event.fix(a);var b,c,d,e,f,g=[],h=ea.call(arguments),i=(na._data(this,"events")||{})[a.type]||[],j=na.event.special[a.type]||{};if(h[0]=a,a.delegateTarget=this,!j.preDispatch||j.preDispatch.call(this,a)!==!1){for(g=na.event.handlers.call(this,a,i),b=0;(e=g[b++])&&!a.isPropagationStopped();)for(a.currentTarget=e.elem,c=0;(f=e.handlers[c++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(f.namespace)||(a.handleObj=f,a.data=f.data,d=((na.event.special[f.origType]||{}).handle||f.handler).apply(e.elem,h),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()));return j.postDispatch&&j.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c-1:na.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]","i"),bb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,cb=/\s*$/g,gb=n(da),hb=gb.appendChild(da.createElement("div"));na.extend({htmlPrefilter:function(a){return a.replace(bb,"<$1>")},clone:function(a,b,c){var d,e,f,g,h,i=na.contains(a.ownerDocument,a);if(la.html5Clone||na.isXMLDoc(a)||!ab.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(hb.innerHTML=a.outerHTML,hb.removeChild(f=hb.firstChild)),!(la.noCloneEvent&&la.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||na.isXMLDoc(a)))for(d=o(f),h=o(a),g=0;null!=(e=h[g]);++g)d[g]&&A(e,d[g]);if(b)if(c)for(h=h||o(a),d=d||o(f),g=0;null!=(e=h[g]);g++)z(e,d[g]);else z(a,f);return d=o(f,"script"),d.length>0&&p(d,!i&&o(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var c,d,e,f,g=0,h=na.expando,i=na.cache,j=la.attributes,k=na.event.special;null!=(c=a[g]);g++)if((b||Ga(c))&&(e=c[h],f=e&&i[e])){if(f.events)for(d in f.events)k[d]?na.event.remove(c,d):na.removeEvent(c,d,f.handle);i[e]&&(delete i[e],j||"undefined"==typeof c.removeAttribute?c[h]=void 0:c.removeAttribute(h),ca.push(e))}}}),na.fn.extend({domManip:B,detach:function(a){return C(this,a,!0)},remove:function(a){return C(this,a)},text:function(a){return Na(this,function(a){return void 0===a?na.text(this):this.empty().append((this[0]&&this[0].ownerDocument||da).createTextNode(a))},null,a,arguments.length)},append:function(){return B(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=w(this,a);b.appendChild(a)}})},prepend:function(){return B(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=w(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return B(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return B(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){for(1===a.nodeType&&na.cleanData(o(a,!1));a.firstChild;)a.removeChild(a.firstChild);a.options&&na.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return na.clone(this,a,b)})},html:function(a){return Na(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(_a,""):void 0;if("string"==typeof a&&!cb.test(a)&&(la.htmlSerialize||!ab.test(a))&&(la.leadingWhitespace||!Ra.test(a))&&!Ta[(Pa.exec(a)||["",""])[1].toLowerCase()]){a=na.htmlPrefilter(a);try{for(;ct",j.childNodes[0].style.borderCollapse="separate",b=j.getElementsByTagName("td"),b[0].style.cssText="margin:0;border:0;padding:0;display:none",f=0===b[0].offsetHeight,f&&(b[0].style.display="",b[1].style.display="none",f=0===b[0].offsetHeight)),l.removeChild(i)}var c,d,e,f,g,h,i=da.createElement("div"),j=da.createElement("div");j.style&&(j.style.cssText="float:left;opacity:.5",la.opacity="0.5"===j.style.opacity,la.cssFloat=!!j.style.cssFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip="",la.clearCloneStyle="content-box"===j.style.backgroundClip,i=da.createElement("div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",j.innerHTML="",i.appendChild(j),la.boxSizing=""===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,na.extend(la,{reliableHiddenOffsets:function(){return null==c&&b(),f},boxSizingReliable:function(){return null==c&&b(),e},pixelMarginRight:function(){return null==c&&b(),d},pixelPosition:function(){return null==c&&b(),c},reliableMarginRight:function(){return null==c&&b(),g},reliableMarginLeft:function(){return null==c&&b(),h}}))}();var ob,pb,qb=/^(top|right|bottom|left)$/;a.getComputedStyle?(ob=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},pb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||ob(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||na.contains(a.ownerDocument,a)||(g=na.style(a,b)),c&&!la.pixelMarginRight()&&lb.test(g)&&kb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0===g?g:g+""}):nb.currentStyle&&(ob=function(a){return a.currentStyle},pb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||ob(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),lb.test(g)&&!qb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});var rb=/alpha\([^)]*\)/i,sb=/opacity\s*=\s*([^)]*)/i,tb=/^(none|table(?!-c[ea]).+)/,ub=new RegExp("^("+Ja+")(.*)$","i"),vb={position:"absolute",visibility:"hidden",display:"block"},wb={letterSpacing:"0",fontWeight:"400"},xb=["Webkit","O","Moz","ms"],yb=da.createElement("div").style;na.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=pb(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":la.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=na.camelCase(b),i=a.style;if(b=na.cssProps[h]||(na.cssProps[h]=G(h)||h),g=na.cssHooks[b]||na.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Ka.exec(c))&&e[1]&&(c=m(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(na.cssNumber[h]?"":"px")),la.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=na.camelCase(b);return b=na.cssProps[h]||(na.cssProps[h]=G(h)||h),g=na.cssHooks[b]||na.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=pb(a,b,d)),"normal"===f&&b in wb&&(f=wb[b]),""===c||c?(e=parseFloat(f),c===!0||isFinite(e)?e||0:f):f}}),na.each(["height","width"],function(a,b){na.cssHooks[b]={get:function(a,c,d){if(c)return tb.test(na.css(a,"display"))&&0===a.offsetWidth?mb(a,vb,function(){return K(a,b,d)}):K(a,b,d)},set:function(a,c,d){var e=d&&ob(a);return I(a,c,d?J(a,b,d,la.boxSizing&&"border-box"===na.css(a,"boxSizing",!1,e),e):0)}}}),la.opacity||(na.cssHooks.opacity={get:function(a,b){return sb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=na.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===na.trim(f.replace(rb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=rb.test(f)?f.replace(rb,e):f+" "+e)}}),na.cssHooks.marginRight=F(la.reliableMarginRight,function(a,b){if(b)return mb(a,{display:"inline-block"},pb,[a,"marginRight"])}),na.cssHooks.marginLeft=F(la.reliableMarginLeft,function(a,b){if(b)return(parseFloat(pb(a,"marginLeft"))||(na.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-mb(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px"}),na.each({margin:"",padding:"",border:"Width"},function(a,b){na.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+La[d]+b]=f[d]||f[d-2]||f[0];return e}},kb.test(a)||(na.cssHooks[a+b].set=I)}),na.fn.extend({css:function(a,b){return Na(this,function(a,b,c){var d,e,f={},g=0;if(na.isArray(b)){for(d=ob(a),e=b.length;g1)},show:function(){return H(this,!0)},hide:function(){return H(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){Ma(this)?na(this).show():na(this).hide()})}}),na.Tween=L,L.prototype={constructor:L,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||na.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(na.cssNumber[c]?"":"px")},cur:function(){var a=L.propHooks[this.prop];return a&&a.get?a.get(this):L.propHooks._default.get(this)},run:function(a){var b,c=L.propHooks[this.prop];return this.options.duration?this.pos=b=na.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):L.propHooks._default.set(this),this}},L.prototype.init.prototype=L.prototype,L.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=na.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){na.fx.step[a.prop]?na.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[na.cssProps[a.prop]]&&!na.cssHooks[a.prop]?a.elem[a.prop]=a.now:na.style(a.elem,a.prop,a.now+a.unit)}}},L.propHooks.scrollTop=L.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},na.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},na.fx=L.prototype.init,na.fx.step={};var zb,Ab,Bb=/^(?:toggle|show|hide)$/,Cb=/queueHooks$/;na.Animation=na.extend(R,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return m(c.elem,a,Ka.exec(b),c),c}]},tweener:function(a,b){na.isFunction(a)?(b=a,a=["*"]):a=a.match(Da);for(var c,d=0,e=a.length;d
a",a=c.getElementsByTagName("a")[0],b.setAttribute("type","checkbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="top:1px",la.getSetAttribute="t"!==c.className,la.style=/top/.test(a.getAttribute("style")),la.hrefNormalized="/a"===a.getAttribute("href"),la.checkOn=!!b.value,la.optSelected=e.selected,la.enctype=!!da.createElement("form").enctype,d.disabled=!0,la.optDisabled=!e.disabled,b=da.createElement("input"),b.setAttribute("value",""),la.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),la.radioValue="t"===b.value}();var Db=/\r/g,Eb=/[\x20\t\r\n\f]+/g;na.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=na.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,na(this).val()):a,null==e?e="":"number"==typeof e?e+="":na.isArray(e)&&(e=na.map(e,function(a){return null==a?"":a+""})),b=na.valHooks[this.type]||na.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=na.valHooks[e.type]||na.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(Db,""):null==c?"":c)}}}),na.extend({valHooks:{option:{get:function(a){var b=na.find.attr(a,"value");return null!=b?b:na.trim(na.text(a)).replace(Eb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||e<0,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i-1)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),na.each(["radio","checkbox"],function(){na.valHooks[this]={set:function(a,b){if(na.isArray(b))return a.checked=na.inArray(na(a).val(),b)>-1}},la.checkOn||(na.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var Fb,Gb,Hb=na.expr.attrHandle,Ib=/^(?:checked|selected)$/i,Jb=la.getSetAttribute,Kb=la.input;na.fn.extend({attr:function(a,b){return Na(this,na.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){na.removeAttr(this,a)})}}),na.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?na.prop(a,b,c):(1===f&&na.isXMLDoc(a)||(b=b.toLowerCase(),e=na.attrHooks[b]||(na.expr.match.bool.test(b)?Gb:Fb)),void 0!==c?null===c?void na.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=na.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!la.radioValue&&"radio"===b&&na.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(Da);if(f&&1===a.nodeType)for(;c=f[e++];)d=na.propFix[c]||c,na.expr.match.bool.test(c)?Kb&&Jb||!Ib.test(c)?a[d]=!1:a[na.camelCase("default-"+c)]=a[d]=!1:na.attr(a,c,""),a.removeAttribute(Jb?c:d)}}),Gb={set:function(a,b,c){return b===!1?na.removeAttr(a,c):Kb&&Jb||!Ib.test(c)?a.setAttribute(!Jb&&na.propFix[c]||c,c):a[na.camelCase("default-"+c)]=a[c]=!0,c}},na.each(na.expr.match.bool.source.match(/\w+/g),function(a,b){var c=Hb[b]||na.find.attr;Kb&&Jb||!Ib.test(b)?Hb[b]=function(a,b,d){var e,f;return d||(f=Hb[b],Hb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,Hb[b]=f),e}:Hb[b]=function(a,b,c){if(!c)return a[na.camelCase("default-"+b)]?b.toLowerCase():null}}),Kb&&Jb||(na.attrHooks.value={set:function(a,b,c){return na.nodeName(a,"input")?void(a.defaultValue=b):Fb&&Fb.set(a,b,c)}}),Jb||(Fb={set:function(a,b,c){var d=a.getAttributeNode(c);if(d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c))return b}},Hb.id=Hb.name=Hb.coords=function(a,b,c){var d;if(!c)return(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},na.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);if(c&&c.specified)return c.value},set:Fb.set},na.attrHooks.contenteditable={set:function(a,b,c){Fb.set(a,""!==b&&b,c)}},na.each(["width","height"],function(a,b){na.attrHooks[b]={set:function(a,c){if(""===c)return a.setAttribute(b,"auto"),c}}})),la.style||(na.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var Lb=/^(?:input|select|textarea|button|object)$/i,Mb=/^(?:a|area)$/i;na.fn.extend({prop:function(a,b){return Na(this,na.prop,a,b,arguments.length>1)},removeProp:function(a){return a=na.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),na.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&na.isXMLDoc(a)||(b=na.propFix[b]||b,e=na.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=na.find.attr(a,"tabindex");return b?parseInt(b,10):Lb.test(a.nodeName)||Mb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),la.hrefNormalized||na.each(["href","src"],function(a,b){na.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),la.optSelected||(na.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),na.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){na.propFix[this.toLowerCase()]=this}),la.enctype||(na.propFix.enctype="encoding");var Nb=/[\t\r\n\f]/g;na.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(na.isFunction(a))return this.each(function(b){na(this).addClass(a.call(this,b,S(this)))});if("string"==typeof a&&a)for(b=a.match(Da)||[];c=this[i++];)if(e=S(c),d=1===c.nodeType&&(" "+e+" ").replace(Nb," ")){for(g=0;f=b[g++];)d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=na.trim(d),e!==h&&na.attr(c,"class",h)}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(na.isFunction(a))return this.each(function(b){na(this).removeClass(a.call(this,b,S(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a)for(b=a.match(Da)||[];c=this[i++];)if(e=S(c),d=1===c.nodeType&&(" "+e+" ").replace(Nb," ")){for(g=0;f=b[g++];)for(;d.indexOf(" "+f+" ")>-1;)d=d.replace(" "+f+" "," ");h=na.trim(d),e!==h&&na.attr(c,"class",h)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):na.isFunction(a)?this.each(function(c){na(this).toggleClass(a.call(this,c,S(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c)for(d=0,e=na(this),f=a.match(Da)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else void 0!==a&&"boolean"!==c||(b=S(this),b&&na._data(this,"__className__",b),na.attr(this,"class",b||a===!1?"":na._data(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;for(b=" "+a+" ";c=this[d++];)if(1===c.nodeType&&(" "+S(c)+" ").replace(Nb," ").indexOf(b)>-1)return!0;return!1}}),na.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){na.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),na.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ob=a.location,Pb=na.now(),Qb=/\?/,Rb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;na.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=na.trim(b+"");return e&&!na.trim(e.replace(Rb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():na.error("Invalid JSON: "+b)},na.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||na.error("Invalid XML: "+b),c};var Sb=/#.*$/,Tb=/([?&])_=[^&]*/,Ub=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Vb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Wb=/^(?:GET|HEAD)$/,Xb=/^\/\//,Yb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Zb={},$b={},_b="*/".concat("*"),ac=Ob.href,bc=Yb.exec(ac.toLowerCase())||[];na.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ac,type:"GET",isLocal:Vb.test(bc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":_b,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":na.parseJSON,"text xml":na.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?V(V(a,na.ajaxSettings),b):V(na.ajaxSettings,a)},ajaxPrefilter:T(Zb),ajaxTransport:T($b),ajax:function(b,c){function d(b,c,d,e){var f,l,s,t,v,x=c;2!==u&&(u=2,i&&a.clearTimeout(i),k=void 0,h=e||"",w.readyState=b>0?4:0,f=b>=200&&b<300||304===b,d&&(t=W(m,w,d)),t=X(m,t,w,f),f?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&(na.lastModified[g]=v),v=w.getResponseHeader("etag"),v&&(na.etag[g]=v)),204===b||"HEAD"===m.type?x="nocontent":304===b?x="notmodified":(x=t.state,l=t.data,s=t.error,f=!s)):(s=x,!b&&x||(x="error",b<0&&(b=0))),w.status=b,w.statusText=(c||x)+"",f?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=void 0,j&&o.trigger(f?"ajaxSuccess":"ajaxError",[w,m,f?l:s]),q.fireWith(n,[w,x]),j&&(o.trigger("ajaxComplete",[w,m]),--na.active||na.event.trigger("ajaxStop")))}"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=na.ajaxSetup({},c),n=m.context||m,o=m.context&&(n.nodeType||n.jquery)?na(n):na.event,p=na.Deferred(),q=na.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!l)for(l={};b=Ub.exec(h);)l[b[1].toLowerCase()]=b[2];b=l[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?h:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(u<2)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return k&&k.abort(b),d(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,m.url=((b||m.url||ac)+"").replace(Sb,"").replace(Xb,bc[1]+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=na.trim(m.dataType||"*").toLowerCase().match(Da)||[""],null==m.crossDomain&&(e=Yb.exec(m.url.toLowerCase()),m.crossDomain=!(!e||e[1]===bc[1]&&e[2]===bc[2]&&(e[3]||("http:"===e[1]?"80":"443"))===(bc[3]||("http:"===bc[1]?"80":"443")))),m.data&&m.processData&&"string"!=typeof m.data&&(m.data=na.param(m.data,m.traditional)),U(Zb,m,c,w),2===u)return w;j=na.event&&m.global,j&&0===na.active++&&na.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!Wb.test(m.type),g=m.url,m.hasContent||(m.data&&(g=m.url+=(Qb.test(g)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=Tb.test(g)?g.replace(Tb,"$1_="+Pb++):g+(Qb.test(g)?"&":"?")+"_="+Pb++)),m.ifModified&&(na.lastModified[g]&&w.setRequestHeader("If-Modified-Since",na.lastModified[g]),na.etag[g]&&w.setRequestHeader("If-None-Match",na.etag[g])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+_b+"; q=0.01":""):m.accepts["*"]);for(f in m.headers)w.setRequestHeader(f,m.headers[f]);if(m.beforeSend&&(m.beforeSend.call(n,w,m)===!1||2===u))return w.abort();v="abort";for(f in{success:1,error:1,complete:1})w[f](m[f]);if(k=U($b,m,c,w)){if(w.readyState=1,j&&o.trigger("ajaxSend",[w,m]),2===u)return w;m.async&&m.timeout>0&&(i=a.setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,k.send(s,d)}catch(x){if(!(u<2))throw x;d(-1,x)}}else d(-1,"No Transport");return w},getJSON:function(a,b,c){return na.get(a,b,c,"json")},getScript:function(a,b){return na.get(a,void 0,b,"script")}}),na.each(["get","post"],function(a,b){na[b]=function(a,c,d,e){return na.isFunction(c)&&(e=e||d,d=c,c=void 0),na.ajax(na.extend({url:a,type:b,dataType:e,data:c,success:d},na.isPlainObject(a)&&a))}}),na._evalUrl=function(a){return na.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},na.fn.extend({wrapAll:function(a){if(na.isFunction(a))return this.each(function(b){na(this).wrapAll(a.call(this,b))});if(this[0]){var b=na(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstChild&&1===a.firstChild.nodeType;)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return na.isFunction(a)?this.each(function(b){na(this).wrapInner(a.call(this,b))}):this.each(function(){var b=na(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=na.isFunction(a);return this.each(function(c){na(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){na.nodeName(this,"body")||na(this).replaceWith(this.childNodes)}).end()}}),na.expr.filters.hidden=function(a){return la.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientRects().length:Z(a)},na.expr.filters.visible=function(a){return!na.expr.filters.hidden(a)};var cc=/%20/g,dc=/\[\]$/,ec=/\r?\n/g,fc=/^(?:submit|button|image|reset|file)$/i,gc=/^(?:input|select|textarea|keygen)/i;na.param=function(a,b){var c,d=[],e=function(a,b){b=na.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=na.ajaxSettings&&na.ajaxSettings.traditional),na.isArray(a)||a.jquery&&!na.isPlainObject(a))na.each(a,function(){e(this.name,this.value)});else for(c in a)$(c,a[c],b,e);return d.join("&").replace(cc,"+")},na.fn.extend({serialize:function(){return na.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=na.prop(this,"elements");return a?na.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!na(this).is(":disabled")&&gc.test(this.nodeName)&&!fc.test(a)&&(this.checked||!Oa.test(a))}).map(function(a,b){var c=na(this).val();return null==c?null:na.isArray(c)?na.map(c,function(a){return{name:b.name,value:a.replace(ec,"\r\n")}}):{name:b.name,value:c.replace(ec,"\r\n")}}).get()}}),na.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return this.isLocal?aa():da.documentMode>8?_():/^(get|post|head|put|delete|options)$/i.test(this.type)&&_()||aa()}:_;var hc=0,ic={},jc=na.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in ic)ic[a](void 0,!0)}),la.cors=!!jc&&"withCredentials"in jc,jc=la.ajax=!!jc,jc&&na.ajaxTransport(function(b){if(!b.crossDomain||la.cors){var c;return{send:function(d,e){var f,g=b.xhr(),h=++hc;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(f in b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete ic[h],c=void 0,g.onreadystatechange=na.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=ic[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}}),na.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return na.globalEval(a),a}}}),na.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),na.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=da.head||na("head")[0]||da.documentElement;return{send:function(d,e){b=da.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var kc=[],lc=/(=)\?(?=&|$)|\?\?/;na.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=kc.pop()||na.expando+"_"+Pb++;return this[a]=!0,a}}),na.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(lc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&lc.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=na.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(lc,"$1"+e):b.jsonp!==!1&&(b.url+=(Qb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||na.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?na(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,kc.push(e)),g&&na.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),na.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||da;var d=wa.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=r([a],b,e),e&&e.length&&na(e).remove(),na.merge([],d.childNodes))};var mc=na.fn.load;na.fn.load=function(a,b,c){if("string"!=typeof a&&mc)return mc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=na.trim(a.slice(h,a.length)),a=a.slice(0,h)),na.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&na.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?na("
").append(na.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},na.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){na.fn[b]=function(a){return this.on(b,a)}}),na.expr.filters.animated=function(a){return na.grep(na.timers,function(b){return a===b.elem}).length},na.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=na.css(a,"position"),l=na(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=na.css(a,"top"),i=na.css(a,"left"),j=("absolute"===k||"fixed"===k)&&na.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),na.isFunction(b)&&(b=b.call(a,c,na.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},na.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){na.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,na.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=ba(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===na.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),na.nodeName(a[0],"html")||(c=a.offset()),c.top+=na.css(a[0],"borderTopWidth",!0),c.left+=na.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-na.css(d,"marginTop",!0),left:b.left-c.left-na.css(d,"marginLeft",!0) -}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent;a&&!na.nodeName(a,"html")&&"static"===na.css(a,"position");)a=a.offsetParent;return a||nb})}}),na.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);na.fn[a]=function(d){return Na(this,function(a,d,e){var f=ba(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?na(f).scrollLeft():e,c?e:na(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),na.each(["top","left"],function(a,b){na.cssHooks[b]=F(la.pixelPosition,function(a,c){if(c)return c=pb(a,b),lb.test(c)?na(a).position()[b]+"px":c})}),na.each({Height:"height",Width:"width"},function(a,b){na.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){na.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Na(this,function(b,c,d){var e;return na.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?na.css(b,c,g):na.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),na.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),na.fn.size=function(){return this.length},na.fn.andSelf=na.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return na});var nc=a.jQuery,oc=a.$;return na.noConflict=function(b){return a.$===na&&(a.$=oc),b&&a.jQuery===na&&(a.jQuery=nc),na},b||(a.jQuery=a.$=na),na})},{}],7:[function(a,b,c){"use strict";function d(){this.modules=[],this.registry=new j.Registry,this._started=!1,this.registry.registerUtility(i.defaultNotifier,"notifier"),this.include(g.acl),this.include(h.simple),this.include(k.noop)}var e=a("backbone-extend-standalone"),f=a("es6-promise").Promise,g=a("./authz"),h=a("./identity"),i=a("./notification"),j=a("./registry"),k=a("./storage");d.prototype.include=function(a,b){var c=a(b);return"function"==typeof c.configure&&c.configure(this.registry),this.modules.push(c),this},d.prototype.start=function(){if(!this._started){this._started=!0;var a=this,b=this.registry;return this.authz=b.getUtility("authorizationPolicy"),this.ident=b.getUtility("identityPolicy"),this.notify=b.getUtility("notifier"),this.annotations=new k.StorageAdapter(b.getUtility("storage"),function(){return a.runHook.apply(a,arguments)}),this.runHook("start",[this])}},d.prototype.destroy=function(){return this.runHook("destroy")},d.prototype.runHook=function(a,b){for(var c=[],d=0,e=this.modules.length;d
",k={show:"annotator-notice-show",info:"annotator-notice-info",success:"annotator-notice-success",error:"annotator-notice-error"};c.banner=d,c.defaultNotifier=d,c.INFO=g,c.SUCCESS=h,c.ERROR=i}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./util":24}],11:[function(a,b,c){"use strict";function d(){this.utilities={}}function e(a){this.name="LookupError",this.message='No utility registered for interface "'+a+'".'}d.prototype.registerUtility=function(a,b){this.utilities[b]=a},d.prototype.getUtility=function(a){var b=this.queryUtility(a);if(null===b)throw new e(a);return b},d.prototype.queryUtility=function(a){var b=this.utilities[a];return"undefined"==typeof b||null===b?null:b},e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,c.LookupError=e,c.Registry=d},{}],12:[function(a,b,c){"use strict";function d(a,b){this.store=a,this.runHook=b}var e=a("./util"),f=e.$,g=e.gettext,h=e.Promise,i=function(){var a;return a=-1,function(){return a+=1}}();c.debug=function(){function a(a,b){var c=JSON.parse(JSON.stringify(b));console.debug("annotator.storage.debug: "+a,c)}return{create:function(b){return b.id=i(),a("create",b),b},update:function(b){return a("update",b),b},"delete":function(b){return a("destroy",b),b},query:function(b){return a("query",b),{results:[],meta:{total:0}}},configure:function(a){a.registerUtility(this,"storage")}}},c.noop=function(){return{create:function(a){return"undefined"!=typeof a.id&&null!==a.id||(a.id=i()),a},update:function(a){return a},"delete":function(a){return a},query:function(){return{results:[]}},configure:function(a){a.registerUtility(this,"storage")}}};var j;c.http=function(a){var b=function(){};"undefined"!=typeof a&&null!==a||(a={}),a.onError=a.onError||function(a,c){console.error(a,c),b(a,"error")};var c=new j(a);return{configure:function(a){a.registerUtility(c,"storage")},start:function(a){b=a.notify}}},j=c.HttpStorage=function k(a){this.options=f.extend(!0,{},k.options,a),this.onError=this.options.onError},j.prototype.create=function(a){return this._apiRequest("create",a)},j.prototype.update=function(a){return this._apiRequest("update",a)},j.prototype["delete"]=function(a){return this._apiRequest("destroy",a)},j.prototype.query=function(a){return this._apiRequest("search",a).then(function(a){var b=a.rows;return delete a.rows,{results:b,meta:a}})},j.prototype.setHeader=function(a,b){this.options.headers[a]=b},j.prototype._apiRequest=function(a,b){var c=b&&b.id,d=this._urlFor(a,c),e=this._apiRequestOptions(a,b),g=f.ajax(d,e);return g._id=c,g._action=a,g},j.prototype._apiRequestOptions=function(a,b){var c=this._methodFor(a),d=this,e={type:c,dataType:"json",error:function(){d._onError.apply(d,arguments)},headers:this.options.headers};if(!this.options.emulateHTTP||"PUT"!==c&&"DELETE"!==c||(e.headers=f.extend(e.headers,{"X-HTTP-Method-Override":c}),e.type="POST"),"search"===a)return e=f.extend(e,{data:b});var g=b&&JSON.stringify(b);return this.options.emulateJSON?(e.data={json:g},this.options.emulateHTTP&&(e.data._method=c),e):e=f.extend(e,{data:g,contentType:"application/json; charset=utf-8"})},j.prototype._urlFor=function(a,b){"undefined"!=typeof b&&null!==b||(b="");var c="";return"undefined"!=typeof this.options.prefix&&null!==this.options.prefix&&(c=this.options.prefix),c+=this.options.urls[a],c=c.replace(/idAnnotation/,b)},j.prototype._methodFor=function(a){var b={create:"POST",update:"PUT",destroy:"DELETE",search:"GET"};return b[a]},j.prototype._onError=function(a){if("function"==typeof this.onError){var b;b=g(400===a.status?"The annotation store did not understand the request! (Error 400)":401===a.status?"You must be logged in to perform this operation! (Error 401)":403===a.status?"You don't have permission to perform this operation! (Error 403)":404===a.status?"Could not connect to the annotation store! (Error 404)":500===a.status?"Internal error in annotation store! (Error 500)":"Unknown error while speaking to annotation store!"),this.onError(b,a)}},j.options={emulateHTTP:!1,emulateJSON:!1,headers:{},onError:function(a){console.error("API request failed: "+a)},prefix:"/store",urls:{create:"/annotations",update:"/annotations/idAnnotation",destroy:"/annotations/idAnnotation",search:"/search"}},d.prototype.create=function(a){return"undefined"!=typeof a&&null!==a||(a={}),this._cycle(a,"create","beforeAnnotationCreated","annotationCreated")},d.prototype.update=function(a){if("undefined"==typeof a.id||null===a.id)throw new TypeError("annotation must have an id for update()");return this._cycle(a,"update","beforeAnnotationUpdated","annotationUpdated")},d.prototype["delete"]=function(a){if("undefined"==typeof a.id||null===a.id)throw new TypeError("annotation must have an id for delete()");return this._cycle(a,"delete","beforeAnnotationDeleted","annotationDeleted")},d.prototype.query=function(a){return h.resolve(this.store.query(a))},d.prototype.load=function(a){var b=this;return this.query(a).then(function(a){b.runHook("annotationsLoaded",[a.results])})},d.prototype._cycle=function(a,b,c,d){var e=this;return this.runHook(c,[a]).then(function(){var c=f.extend(!0,{},a);delete c._local;var d=e.store[b](c);return h.resolve(d)}).then(function(b){for(var c in a)a.hasOwnProperty(c)&&"_local"!==c&&delete a[c];return f.extend(a,b),e.runHook(d,[a]),a})},c.StorageAdapter=d},{"./util":24}],13:[function(a,b,c){c.main=a("./ui/main").main,c.adder=a("./ui/adder"),c.editor=a("./ui/editor"),c.filter=a("./ui/filter"),c.highlighter=a("./ui/highlighter"),c.markdown=a("./ui/markdown"),c.tags=a("./ui/tags"),c.textselector=a("./ui/textselector"),c.viewer=a("./ui/viewer"),c.widget=a("./ui/widget")},{"./ui/adder":14,"./ui/editor":15,"./ui/filter":16,"./ui/highlighter":17,"./ui/main":18,"./ui/markdown":19,"./ui/tags":20,"./ui/textselector":21,"./ui/viewer":22,"./ui/widget":23}],14:[function(a,b,c){"use strict";var d=a("./widget").Widget,e=a("../util"),f=e.$,g=e.gettext,h="annotator-adder",i=d.extend({constructor:function(a){d.call(this,a),this.ignoreMouseup=!1,this.annotation=null,this.onCreate=this.options.onCreate;var b=this;this.element.on("click."+h,"button",function(a){b._onClick(a)}).on("mousedown."+h,"button",function(a){b._onMousedown(a)}),this.document=this.element[0].ownerDocument,f(this.document.body).on("mouseup."+h,function(a){b._onMouseup(a)})},destroy:function(){this.element.off("."+h),f(this.document.body).off("."+h),d.prototype.destroy.call(this)},load:function(a,b){this.annotation=a,this.show(b)},show:function(a){"undefined"!=typeof a&&null!==a&&this.element.css({top:a.top,left:a.left}),d.prototype.show.call(this)},_onMousedown:function(a){a.which>1||(a.preventDefault(),this.ignoreMouseup=!0)},_onMouseup:function(a){a.which>1||this.ignoreMouseup&&a.stopImmediatePropagation()},_onClick:function(a){a.which>1||(a.preventDefault(),this.hide(),this.ignoreMouseup=!1,null!==this.annotation&&"function"==typeof this.onCreate&&this.onCreate(this.annotation,a))}});i.template=['
',' ","
"].join("\n"),i.options={onCreate:null},c.Adder=i},{"../util":24,"./widget":23}],15:[function(a,b,c){"use strict";function d(a){"undefined"!=typeof a&&null!==a&&"function"==typeof a.preventDefault&&a.preventDefault()}var e=a("./widget").Widget,f=a("../util"),g=f.$,h=f.gettext,i=f.Promise,j="annotator-editor",k=function(){var a;return a=-1,function(){return a+=1}}(),l=c.dragTracker=function(a,b){function c(a){if(!i&&null!==h){var c={y:a.pageY-h.top,x:a.pageX-h.left},d=!0;"function"==typeof b&&(d=b(c)),d!==!1&&(h={top:a.pageY,left:a.pageX}),i=!0,setTimeout(function(){i=!1},1e3/60)}}function d(){h=null,g(a.ownerDocument).off("mouseup",d).off("mousemove",c)}function e(b){b.target===a&&(h={top:b.pageY,left:b.pageX},g(a.ownerDocument).on("mouseup",d).on("mousemove",c),b.preventDefault())}function f(){g(a).off("mousedown",e)}var h=null,i=!1;return g(a).on("mousedown",e),{destroy:f}},m=c.resizer=function(a,b,c){function d(a){var b=1,d=-1;return"function"==typeof c.invertedX&&c.invertedX()&&(b=-1),"function"==typeof c.invertedY&&c.invertedY()&&(d=1),{x:a.x*b,y:a.y*d}}function e(a){var b=f.height(),c=f.width(),e=d(a);Math.abs(e.x)>0&&f.width(c+e.x),Math.abs(e.y)>0&&f.height(b+e.y);var g=f.height()!==b||f.width()!==c;return g}var f=g(a);return"undefined"!=typeof c&&null!==c||(c={}),l(b,e)},n=c.mover=function(a,b){function c(b){g(a).css({top:parseInt(g(a).css("top"),10)+b.y,left:parseInt(g(a).css("left"),10)+b.x})}return l(b,c)},o=c.Editor=e.extend({constructor:function(a){e.call(this,a),this.fields=[],this.annotation={},this.options.defaultFields&&this.addField({type:"textarea",label:h("Comments")+"…",load:function(a,b){g(a).find("textarea").val(b.text||"")},submit:function(a,b){b.text=g(a).find("textarea").val()}});var b=this;this.element.on("submit."+j,"form",function(a){b._onFormSubmit(a)}).on("click."+j,".annotator-save",function(a){b._onSaveClick(a)}).on("click."+j,".annotator-cancel",function(a){b._onCancelClick(a)}).on("mouseover."+j,".annotator-cancel",function(a){b._onCancelMouseover(a)}).on("keydown."+j,"textarea",function(a){b._onTextareaKeydown(a)})},destroy:function(){this.element.off("."+j),e.prototype.destroy.call(this)},show:function(a){"undefined"!=typeof a&&null!==a&&this.element.css({top:a.top,left:a.left}),this.element.find(".annotator-save").addClass(this.classes.focus),e.prototype.show.call(this),this.element.find(":input:first").focus(),this._setupDraggables()},load:function(a,b){this.annotation=a;for(var c=0,d=this.fields.length;c');return b.element=d[0],"textarea"===b.type?c=g("",ea.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var Na=/^key/,Oa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Pa=/^([^.]*)(?:\.(.+)|)/;ga.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=Aa.get(a);if(q)for(c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=ga.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof ga&&ga.event.triggered!==b.type?ga.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(wa)||[""],j=b.length;j--;)h=Pa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=ga.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=ga.event.special[n]||{},k=ga.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&ga.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),ga.event.global[n]=!0)},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=Aa.hasData(a)&&Aa.get(a);if(q&&(i=q.events)){for(b=(b||"").match(wa)||[""],j=b.length;j--;)if(h=Pa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=ga.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;f--;)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||ga.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)ga.event.remove(a,n+b[j],c,d,!0);ga.isEmptyObject(i)&&Aa.remove(a,"handle events")}},dispatch:function(a){a=ga.event.fix(a);var b,c,d,e,f,g=[],h=Z.call(arguments),i=(Aa.get(this,"events")||{})[a.type]||[],j=ga.event.special[a.type]||{}; -if(h[0]=a,a.delegateTarget=this,!j.preDispatch||j.preDispatch.call(this,a)!==!1){for(g=ga.event.handlers.call(this,a,i),b=0;(e=g[b++])&&!a.isPropagationStopped();)for(a.currentTarget=e.elem,c=0;(f=e.handlers[c++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(f.namespace)||(a.handleObj=f,a.data=f.data,d=((ga.event.special[f.origType]||{}).handle||f.handler).apply(e.elem,h),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()));return j.postDispatch&&j.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c-1:ga.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,Ra=/\s*$/g;ga.extend({htmlPrefilter:function(a){return a.replace(Qa,"<$1>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=ga.contains(a.ownerDocument,a);if(!(ea.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||ga.isXMLDoc(a)))for(g=l(h),f=l(a),d=0,e=f.length;d0&&m(g,!i&&l(a,"script")),h},cleanData:function(a){for(var b,c,d,e=ga.event.special,f=0;void 0!==(c=a[f]);f++)if(za(c)){if(b=c[Aa.expando]){if(b.events)for(d in b.events)e[d]?ga.event.remove(c,d):ga.removeEvent(c,d,b.handle);c[Aa.expando]=void 0}c[Ba.expando]&&(c[Ba.expando]=void 0)}}}),ga.fn.extend({domManip:x,detach:function(a){return y(this,a,!0)},remove:function(a){return y(this,a)},text:function(a){return ya(this,function(a){return void 0===a?ga.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return x(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=s(this,a);b.appendChild(a)}})},prepend:function(){return x(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=s(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return x(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return x(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(ga.cleanData(l(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return ga.clone(this,a,b)})},html:function(a){return ya(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Ra.test(a)&&!La[(Ja.exec(a)||["",""])[1].toLowerCase()]){a=ga.htmlPrefilter(a);try{for(;c1)},show:function(){return H(this,!0)},hide:function(){return H(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){Ha(this)?ga(this).show():ga(this).hide()})}}),ga.Tween=I,I.prototype={constructor:I,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||ga.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(ga.cssNumber[c]?"":"px")},cur:function(){var a=I.propHooks[this.prop];return a&&a.get?a.get(this):I.propHooks._default.get(this)},run:function(a){var b,c=I.propHooks[this.prop];return this.options.duration?this.pos=b=ga.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=ga.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){ga.fx.step[a.prop]?ga.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[ga.cssProps[a.prop]]&&!ga.cssHooks[a.prop]?a.elem[a.prop]=a.now:ga.style(a.elem,a.prop,a.now+a.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},ga.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},ga.fx=I.prototype.init,ga.fx.step={};var fb,gb,hb=/^(?:toggle|show|hide)$/,ib=/queueHooks$/;ga.Animation=ga.extend(O,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return k(c.elem,a,Fa.exec(b),c),c}]},tweener:function(a,b){ga.isFunction(a)?(b=a,a=["*"]):a=a.match(wa);for(var c,d=0,e=a.length;d1)},removeAttr:function(a){return this.each(function(){ga.removeAttr(this,a)})}}),ga.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?ga.prop(a,b,c):(1===f&&ga.isXMLDoc(a)||(b=b.toLowerCase(),e=ga.attrHooks[b]||(ga.expr.match.bool.test(b)?jb:void 0)),void 0!==c?null===c?void ga.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=ga.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!ea.radioValue&&"radio"===b&&ga.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(wa);if(f&&1===a.nodeType)for(;c=f[e++];)d=ga.propFix[c]||c,ga.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),jb={set:function(a,b,c){return b===!1?ga.removeAttr(a,c):a.setAttribute(c,c),c}},ga.each(ga.expr.match.bool.source.match(/\w+/g),function(a,b){var c=kb[b]||ga.find.attr;kb[b]=function(a,b,d){var e,f;return d||(f=kb[b],kb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,kb[b]=f),e}});var lb=/^(?:input|select|textarea|button)$/i,mb=/^(?:a|area)$/i;ga.fn.extend({prop:function(a,b){return ya(this,ga.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[ga.propFix[a]||a]})}}),ga.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&ga.isXMLDoc(a)||(b=ga.propFix[b]||b,e=ga.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=ga.find.attr(a,"tabindex");return b?parseInt(b,10):lb.test(a.nodeName)||mb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),ea.optSelected||(ga.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),ga.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ga.propFix[this.toLowerCase()]=this});var nb=/[\t\r\n\f]/g;ga.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(ga.isFunction(a))return this.each(function(b){ga(this).addClass(a.call(this,b,P(this)))});if("string"==typeof a&&a)for(b=a.match(wa)||[];c=this[i++];)if(e=P(c),d=1===c.nodeType&&(" "+e+" ").replace(nb," ")){for(g=0;f=b[g++];)d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=ga.trim(d),e!==h&&c.setAttribute("class",h)}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(ga.isFunction(a))return this.each(function(b){ga(this).removeClass(a.call(this,b,P(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a)for(b=a.match(wa)||[];c=this[i++];)if(e=P(c),d=1===c.nodeType&&(" "+e+" ").replace(nb," ")){for(g=0;f=b[g++];)for(;d.indexOf(" "+f+" ")>-1;)d=d.replace(" "+f+" "," ");h=ga.trim(d),e!==h&&c.setAttribute("class",h)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):ga.isFunction(a)?this.each(function(c){ga(this).toggleClass(a.call(this,c,P(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c)for(d=0,e=ga(this),f=a.match(wa)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else void 0!==a&&"boolean"!==c||(b=P(this),b&&Aa.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":Aa.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;for(b=" "+a+" ";c=this[d++];)if(1===c.nodeType&&(" "+P(c)+" ").replace(nb," ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g,pb=/[\x20\t\r\n\f]+/g;ga.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=ga.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,ga(this).val()):a,null==e?e="":"number"==typeof e?e+="":ga.isArray(e)&&(e=ga.map(e,function(a){return null==a?"":a+""})),b=ga.valHooks[this.type]||ga.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=ga.valHooks[e.type]||ga.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),ga.extend({valHooks:{option:{get:function(a){var b=ga.find.attr(a,"value");return null!=b?b:ga.trim(ga.text(a)).replace(pb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||e<0,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),ga.each(["radio","checkbox"],function(){ga.valHooks[this]={set:function(a,b){if(ga.isArray(b))return a.checked=ga.inArray(ga(a).val(),b)>-1}},ea.checkOn||(ga.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var qb=/^(?:focusinfocus|focusoutblur)$/;ga.extend(ga.event,{trigger:function(b,c,d,e){var f,g,h,i,j,k,l,m=[d||Y],n=da.call(b,"type")?b.type:b,o=da.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||Y,3!==d.nodeType&&8!==d.nodeType&&!qb.test(n+ga.event.triggered)&&(n.indexOf(".")>-1&&(o=n.split("."),n=o.shift(),o.sort()),j=n.indexOf(":")<0&&"on"+n,b=b[ga.expando]?b:new ga.Event(n,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=o.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:ga.makeArray(c,[b]),l=ga.event.special[n]||{},e||!l.trigger||l.trigger.apply(d,c)!==!1)){if(!e&&!l.noBubble&&!ga.isWindow(d)){for(i=l.delegateType||n,qb.test(i+n)||(g=g.parentNode);g;g=g.parentNode)m.push(g),h=g;h===(d.ownerDocument||Y)&&m.push(h.defaultView||h.parentWindow||a)}for(f=0;(g=m[f++])&&!b.isPropagationStopped();)b.type=f>1?i:l.bindType||n,k=(Aa.get(g,"events")||{})[b.type]&&Aa.get(g,"handle"),k&&k.apply(g,c),k=j&&g[j],k&&k.apply&&za(g)&&(b.result=k.apply(g,c),b.result===!1&&b.preventDefault());return b.type=n,e||b.isDefaultPrevented()||l._default&&l._default.apply(m.pop(),c)!==!1||!za(d)||j&&ga.isFunction(d[n])&&!ga.isWindow(d)&&(h=d[j],h&&(d[j]=null),ga.event.triggered=n,d[n](),ga.event.triggered=void 0,h&&(d[j]=h)),b.result}},simulate:function(a,b,c){var d=ga.extend(new ga.Event,c,{type:a,isSimulated:!0});ga.event.trigger(d,null,b)}}),ga.fn.extend({trigger:function(a,b){return this.each(function(){ga.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return ga.event.trigger(a,b,c,!0)}}),ga.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){ga.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),ga.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),ea.focusin="onfocusin"in a,ea.focusin||ga.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){ga.event.simulate(b,a.target,ga.event.fix(a))};ga.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=Aa.access(d,b);e||d.addEventListener(a,c,!0),Aa.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=Aa.access(d,b)-1;e?Aa.access(d,b,e):(d.removeEventListener(a,c,!0),Aa.remove(d,b))}}});var rb=a.location,sb=ga.now(),tb=/\?/;ga.parseJSON=function(a){return JSON.parse(a+"")},ga.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||ga.error("Invalid XML: "+b),c};var ub=/#.*$/,vb=/([?&])_=[^&]*/,wb=/^(.*?):[ \t]*([^\r\n]*)$/gm,xb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,yb=/^(?:GET|HEAD)$/,zb=/^\/\//,Ab={},Bb={},Cb="*/".concat("*"),Db=Y.createElement("a");Db.href=rb.href,ga.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:rb.href,type:"GET",isLocal:xb.test(rb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Cb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":ga.parseJSON,"text xml":ga.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?S(S(a,ga.ajaxSettings),b):S(ga.ajaxSettings,a)},ajaxPrefilter:Q(Ab),ajaxTransport:Q(Bb),ajax:function(b,c){function d(b,c,d,h){var j,l,s,t,v,x=c;2!==u&&(u=2,i&&a.clearTimeout(i),e=void 0,g=h||"",w.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(t=T(m,w,d)),t=U(m,t,w,j),j?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&(ga.lastModified[f]=v),v=w.getResponseHeader("etag"),v&&(ga.etag[f]=v)),204===b||"HEAD"===m.type?x="nocontent":304===b?x="notmodified":(x=t.state,l=t.data,s=t.error,j=!s)):(s=x,!b&&x||(x="error",b<0&&(b=0))),w.status=b,w.statusText=(c||x)+"",j?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=void 0,k&&o.trigger(j?"ajaxSuccess":"ajaxError",[w,m,j?l:s]),q.fireWith(n,[w,x]),k&&(o.trigger("ajaxComplete",[w,m]),--ga.active||ga.event.trigger("ajaxStop")))}"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=ga.ajaxSetup({},c),n=m.context||m,o=m.context&&(n.nodeType||n.jquery)?ga(n):ga.event,p=ga.Deferred(),q=ga.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!h)for(h={};b=wb.exec(g);)h[b[1].toLowerCase()]=b[2];b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(u<2)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return e&&e.abort(b),d(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,m.url=((b||m.url||rb.href)+"").replace(ub,"").replace(zb,rb.protocol+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=ga.trim(m.dataType||"*").toLowerCase().match(wa)||[""],null==m.crossDomain){j=Y.createElement("a");try{j.href=m.url,j.href=j.href,m.crossDomain=Db.protocol+"//"+Db.host!=j.protocol+"//"+j.host}catch(x){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=ga.param(m.data,m.traditional)),R(Ab,m,c,w),2===u)return w;k=ga.event&&m.global,k&&0===ga.active++&&ga.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!yb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(tb.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=vb.test(f)?f.replace(vb,"$1_="+sb++):f+(tb.test(f)?"&":"?")+"_="+sb++)),m.ifModified&&(ga.lastModified[f]&&w.setRequestHeader("If-Modified-Since",ga.lastModified[f]),ga.etag[f]&&w.setRequestHeader("If-None-Match",ga.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Cb+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)w.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(n,w,m)===!1||2===u))return w.abort();v="abort";for(l in{success:1,error:1,complete:1})w[l](m[l]);if(e=R(Bb,m,c,w)){if(w.readyState=1,k&&o.trigger("ajaxSend",[w,m]),2===u)return w;m.async&&m.timeout>0&&(i=a.setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,e.send(s,d)}catch(x){if(!(u<2))throw x;d(-1,x)}}else d(-1,"No Transport");return w},getJSON:function(a,b,c){return ga.get(a,b,c,"json")},getScript:function(a,b){return ga.get(a,void 0,b,"script")}}),ga.each(["get","post"],function(a,b){ga[b]=function(a,c,d,e){return ga.isFunction(c)&&(e=e||d,d=c,c=void 0),ga.ajax(ga.extend({url:a,type:b,dataType:e,data:c,success:d},ga.isPlainObject(a)&&a))}}),ga._evalUrl=function(a){return ga.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},ga.fn.extend({wrapAll:function(a){var b;return ga.isFunction(a)?this.each(function(b){ga(this).wrapAll(a.call(this,b))}):(this[0]&&(b=ga(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return ga.isFunction(a)?this.each(function(b){ga(this).wrapInner(a.call(this,b))}):this.each(function(){var b=ga(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=ga.isFunction(a);return this.each(function(c){ga(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){ga.nodeName(this,"body")||ga(this).replaceWith(this.childNodes)}).end()}}),ga.expr.filters.hidden=function(a){return!ga.expr.filters.visible(a)},ga.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Eb=/%20/g,Fb=/\[\]$/,Gb=/\r?\n/g,Hb=/^(?:submit|button|image|reset|file)$/i,Ib=/^(?:input|select|textarea|keygen)/i;ga.param=function(a,b){var c,d=[],e=function(a,b){b=ga.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=ga.ajaxSettings&&ga.ajaxSettings.traditional),ga.isArray(a)||a.jquery&&!ga.isPlainObject(a))ga.each(a,function(){e(this.name,this.value)});else for(c in a)V(c,a[c],b,e);return d.join("&").replace(Eb,"+")},ga.fn.extend({serialize:function(){return ga.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=ga.prop(this,"elements");return a?ga.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!ga(this).is(":disabled")&&Ib.test(this.nodeName)&&!Hb.test(a)&&(this.checked||!Ia.test(a))}).map(function(a,b){var c=ga(this).val();return null==c?null:ga.isArray(c)?ga.map(c,function(a){return{name:b.name,value:a.replace(Gb,"\r\n")}}):{name:b.name,value:c.replace(Gb,"\r\n")}}).get()}}),ga.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Jb={0:200,1223:204},Kb=ga.ajaxSettings.xhr();ea.cors=!!Kb&&"withCredentials"in Kb,ea.ajax=Kb=!!Kb,ga.ajaxTransport(function(b){var c,d;if(ea.cors||Kb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Jb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText -},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),ga.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return ga.globalEval(a),a}}}),ga.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),ga.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=ga("