getnikola / nikola

A static website and blog generator
https://getnikola.com/
MIT License
2.62k stars 450 forks source link

Building site from WP import fails with 'Task generation 'render_site' has duplicated definition...' #2315

Closed SpotlightKid closed 8 years ago

SpotlightKid commented 8 years ago

(As first reported in #2246)

I exported my Wordpress blog and imported it with "nikolo import_wordpress .xml". When I try to build the site in the newly created dir new_site (i.e. with conf.py file created by the import process), I get the following error:

$ nikola build
Scanning posts........done!
ERROR: Task generation 'render_site' has duplicated definition of 'render_tags:output/categories/midi.xml'

Two of my blog posts use the same tag "MIDI`:

$ grep -ri 'tags:.*midi' posts/*
posts/article/882.meta:.. tags: German,JX-3P,MIDI,Novation,Organix,Remote SL,Roland,Musik,Synths
posts/article/598.meta:.. tags: ELKA,EM 13,Gear,MIDI,Musik,Review,Synth,Midi,Musik,Synths

Only if I remove the "MIDI" tag from both files found by the grep command shown above, nikola build succeeds. It is not enough to remove the tag only from one file, even if I delete output, cache and .doit.db between build attempts.

SpotlightKid commented 8 years ago

Just did another test: if I change the tag name from "MIDI" to "Midi" (i.e. not all uppercase), the site builds fine.

Kwpolska commented 8 years ago

Do you have any categories named MIDI? Is your category prefix changed from the default?

Try restoring uppercase tags and adding a debug print after [https://github.com/getnikola/nikola/blob/master/nikola/plugins/task/tags.py#L374](line 374 in tags.py):

print(tag, output_name, lang, posts, is_category)

Run nikola build -v 2 and show us the output.

SpotlightKid commented 8 years ago

Do you have any categories named MIDI?

Yes, there's also a Wordpress category "Musik>Midi" (permalink form "midi").

Is your category prefix changed from the default?

In the Wordpress Settings-Permalinks, category-base is set to "category" and tag base is set to "tag". The nikola config is unchaged from the one created by "import_wordpress".

Run nikola build -v 2 and show us the output.

$ nikola build -v 2
Scanning posts........done!
virtualenv output/categories/virtualenv.xml de [<Post: 'posts/article/807.md' bfc161eeffcf58c8960bb2f9c47e00a9>] False
Reise output/categories/reise.xml de [<Post: 'posts/article/679.md' f58f0805b9f6842afe14a0ff59c9fdc8>] False
Miniak output/categories/miniak.xml de [<Post: 'posts/article/474.md' e33d565789a17d53a248231573d64438>, <Post: 'posts/article/343.md' 130e44be58e22788679e8a30e286808b>] False
ELKA output/categories/elka.xml de [<Post: 'posts/article/598.md' f3b688ad6dbeda29ac7bd94d93960ac4>] False
Synth output/categories/synth.xml de [<Post: 'posts/article/702.md' c91d43264c21cb8f030fc47d92ade765>, <Post: 'posts/article/581.md' d52f0a4c3d720e79e75f160c7b735730>, <Post: 'posts/article/598.md' f3b688ad6dbeda29ac7bd94d93960ac4>, <Post: 'posts/article/519.md' ed64e73356b8c51fe4df1fc5749b7d17>, <Post: 'posts/article/474.md' e33d565789a17d53a248231573d64438>, <Post: 'posts/article/343.md' 130e44be58e22788679e8a30e286808b>, <Post: 'posts/article/369.md' 4cfa9e0ace5e09416f6667f888dbc192>, <Post: 'posts/article/314.md' 63899bbaa5e433c2db588eef9fd8a4ca>, <Post: 'posts/article/275.md' 54081b989eae248c7a8a0ab651367f65>] False
Seeheim output/categories/seeheim.xml de [<Post: 'posts/article/612.md' 9d2670015ccd7e9bf9fe5f46f2cc4b2f>] False
Herbst output/categories/herbst.xml de [<Post: 'posts/article/679.md' f58f0805b9f6842afe14a0ff59c9fdc8>, <Post: 'posts/article/612.md' 9d2670015ccd7e9bf9fe5f46f2cc4b2f>] False
Novation output/categories/novation.xml de [<Post: 'posts/article/882.md' 772be7d6345fa73a01cd48b520d9eb59>] False
Tutorial output/categories/tutorial.xml de [<Post: 'posts/article/404.md' c2ef5fdff2c131c723a0da607bb3b98f>] False
TurboGears output/categories/turbogears.xml de [<Post: 'posts/article/252.md' b436b7469a05c86f0a340f50b008d46b>] False
Gitarre output/categories/gitarre.xml de [<Post: 'posts/article/120.md' 48760a919bfd66e6cbfc3982d521d074>, <Post: 'posts/article/59.md' 378c6aa9e04c75fbc39c98406ce33a42>] False
Schlaflied output/categories/schlaflied.xml de [<Post: 'posts/article/764.md' 31a71f05489279ec30b3fc23b9edce53>] False
Snippet output/categories/snippet.xml de [<Post: 'posts/article/750.md' 185e03e88194b987ec18a420d90b9262>, <Post: 'posts/article/499.md' 68114d85204b8c1238ed9b33d1d302a7>, <Post: 'posts/article/289.md' bb95ec99ff99493a5bb995af9fa059a2>] False
Trac output/categories/trac.xml de [<Post: 'posts/article/289.md' bb95ec99ff99493a5bb995af9fa059a2>] False
MIDI output/categories/midi.xml de [<Post: 'posts/article/882.md' 772be7d6345fa73a01cd48b520d9eb59>, <Post: 'posts/article/598.md' f3b688ad6dbeda29ac7bd94d93960ac4>] False
Clavia Nord Electro output/categories/clavia-nord-electro.xml de [<Post: 'posts/article/764.md' 31a71f05489279ec30b3fc23b9edce53>, <Post: 'posts/article/708.md' aa54f7e1ec0fc9a26f01d0c449d283b7>] False
Bergstraße output/categories/bergstrasse.xml de [<Post: 'posts/article/679.md' f58f0805b9f6842afe14a0ff59c9fdc8>] False
Familie output/categories/familie.xml de [<Post: 'posts/article/764.md' 31a71f05489279ec30b3fc23b9edce53>] False
Wavetables output/categories/wavetables.xml de [<Post: 'posts/article/519.md' ed64e73356b8c51fe4df1fc5749b7d17>] False
Demo output/categories/demo.xml de [<Post: 'posts/article/702.md' c91d43264c21cb8f030fc47d92ade765>, <Post: 'posts/article/196.md' e32b7b7ddea4c97fe7eb9f2a96614336>, <Post: 'posts/article/183.md' 83b0faae850f3286f813cc7b1bda20e9>, <Post: 'posts/article/138.md' 7f2d2c20756fa318d5d5fa2e73c6f66c>, <Post: 'posts/article/120.md' 48760a919bfd66e6cbfc3982d521d074>] False
Events output/categories/events.xml de [<Post: 'posts/article/867.md' 69b9d2b8caf2b9b14df13d39f95193af>, <Post: 'posts/article/563.md' c9f8549b00d995b7050c0733bf55df4f>, <Post: 'posts/article/537.md' 2d8581b994f9b62aabe15e25026bae65>, <Post: 'posts/article/307.md' 53ed8abb3972c4afd44b98d8c5f78ccb>] False
X5DR output/categories/x5dr.xml de [<Post: 'posts/article/196.md' e32b7b7ddea4c97fe7eb9f2a96614336>] False
Remote SL output/categories/remote-sl.xml de [<Post: 'posts/article/882.md' 772be7d6345fa73a01cd48b520d9eb59>] False
Cython output/categories/cython.xml de [<Post: 'posts/article/750.md' 185e03e88194b987ec18a420d90b9262>] False
Akkordion output/categories/akkordion.xml de [<Post: 'posts/article/764.md' 31a71f05489279ec30b3fc23b9edce53>] False
EuroPython output/categories/europython.xml de [<Post: 'posts/article/806.md' 54016e641a27460e4d083ad7e5800cff>, <Post: 'posts/article/807.md' bfc161eeffcf58c8960bb2f9c47e00a9>, <Post: 'posts/article/796.md' 7b064514dd01d2d6af8cfd3c51e07b5c>] False
SY85 output/categories/sy85.xml de [<Post: 'posts/article/183.md' 83b0faae850f3286f813cc7b1bda20e9>, <Post: 'posts/article/138.md' 7f2d2c20756fa318d5d5fa2e73c6f66c>] False
Systemadministration output/categories/systemadministration.xml de [<Post: 'posts/article/404.md' c2ef5fdff2c131c723a0da607bb3b98f>] False
Unkonferenz output/categories/unkonferenz.xml de [<Post: 'posts/article/307.md' 53ed8abb3972c4afd44b98d8c5f78ccb>] False
Musik output/categories/musik.xml de [<Post: 'posts/article/882.md' 772be7d6345fa73a01cd48b520d9eb59>, <Post: 'posts/article/764.md' 31a71f05489279ec30b3fc23b9edce53>, <Post: 'posts/article/708.md' aa54f7e1ec0fc9a26f01d0c449d283b7>, <Post: 'posts/article/702.md' c91d43264c21cb8f030fc47d92ade765>, <Post: 'posts/article/581.md' d52f0a4c3d720e79e75f160c7b735730>, <Post: 'posts/article/598.md' f3b688ad6dbeda29ac7bd94d93960ac4>, <Post: 'posts/article/544.md' 8c2fbc947c8bf81175c3aaac0f5c5a2a>, <Post: 'posts/article/519.md' ed64e73356b8c51fe4df1fc5749b7d17>, <Post: 'posts/article/499.md' 68114d85204b8c1238ed9b33d1d302a7>, <Post: 'posts/article/474.md' e33d565789a17d53a248231573d64438>, <Post: 'posts/article/343.md' 130e44be58e22788679e8a30e286808b>, <Post: 'posts/article/369.md' 4cfa9e0ace5e09416f6667f888dbc192>, <Post: 'posts/article/314.md' 63899bbaa5e433c2db588eef9fd8a4ca>, <Post: 'posts/article/275.md' 54081b989eae248c7a8a0ab651367f65>, <Post: 'posts/article/196.md' e32b7b7ddea4c97fe7eb9f2a96614336>, <Post: 'posts/article/183.md' 83b0faae850f3286f813cc7b1bda20e9>, <Post: 'posts/article/138.md' 7f2d2c20756fa318d5d5fa2e73c6f66c>] False
audio processing output/categories/audio-processing.xml de [<Post: 'posts/article/499.md' 68114d85204b8c1238ed9b33d1d302a7>] False
Synthesizer Programmierung output/categories/synthesizer-programmierung.xml de [<Post: 'posts/article/702.md' c91d43264c21cb8f030fc47d92ade765>, <Post: 'posts/article/519.md' ed64e73356b8c51fe4df1fc5749b7d17>, <Post: 'posts/article/369.md' 4cfa9e0ace5e09416f6667f888dbc192>] False
Lua output/categories/lua.xml de [<Post: 'posts/article/784.md' 912450b6c3b302dd5765fefd8c25298f>] False
Document Freedom Day output/categories/document-freedom-day.xml de [<Post: 'posts/article/563.md' c9f8549b00d995b7050c0733bf55df4f>] False
Politik output/categories/politik.xml de [<Post: 'posts/article/563.md' c9f8549b00d995b7050c0733bf55df4f>, <Post: 'posts/article/537.md' 2d8581b994f9b62aabe15e25026bae65>] False
Computer output/categories/computer.xml de [<Post: 'posts/article/867.md' 69b9d2b8caf2b9b14df13d39f95193af>, <Post: 'posts/article/806.md' 54016e641a27460e4d083ad7e5800cff>, <Post: 'posts/article/807.md' bfc161eeffcf58c8960bb2f9c47e00a9>, <Post: 'posts/article/796.md' 7b064514dd01d2d6af8cfd3c51e07b5c>, <Post: 'posts/article/784.md' 912450b6c3b302dd5765fefd8c25298f>, <Post: 'posts/article/750.md' 185e03e88194b987ec18a420d90b9262>, <Post: 'posts/article/499.md' 68114d85204b8c1238ed9b33d1d302a7>, <Post: 'posts/article/490.md' 50c911e7643188c7852e479e76742922>, <Post: 'posts/article/404.md' c2ef5fdff2c131c723a0da607bb3b98f>] False
pyglet output/categories/pyglet.xml de [<Post: 'posts/article/490.md' 50c911e7643188c7852e479e76742922>] False
2016 output/categories/2016.xml de [<Post: 'posts/article/867.md' 69b9d2b8caf2b9b14df13d39f95193af>] False
Microwave output/categories/microwave.xml de [<Post: 'posts/article/581.md' d52f0a4c3d720e79e75f160c7b735730>, <Post: 'posts/article/519.md' ed64e73356b8c51fe4df1fc5749b7d17>] False
Gist output/categories/gist.xml de [<Post: 'posts/article/750.md' 185e03e88194b987ec18a420d90b9262>] False
English output/categories/english.xml de [<Post: 'posts/article/490.md' 50c911e7643188c7852e479e76742922>, <Post: 'posts/article/483.md' 27fac5e76728792ba3a83e1450e59f6b>] False
PythonCamp output/categories/pythoncamp.xml de [<Post: 'posts/article/867.md' 69b9d2b8caf2b9b14df13d39f95193af>] False
FSF output/categories/fsf.xml de [<Post: 'posts/article/563.md' c9f8549b00d995b7050c0733bf55df4f>] False
EM 13 output/categories/em-13.xml de [<Post: 'posts/article/598.md' f3b688ad6dbeda29ac7bd94d93960ac4>] False
Science Fiction output/categories/science-fiction.xml de [<Post: 'posts/article/474.md' e33d565789a17d53a248231573d64438>] False
Review output/categories/review.xml de [<Post: 'posts/article/598.md' f3b688ad6dbeda29ac7bd94d93960ac4>, <Post: 'posts/article/343.md' 130e44be58e22788679e8a30e286808b>, <Post: 'posts/article/314.md' 63899bbaa5e433c2db588eef9fd8a4ca>, <Post: 'posts/article/196.md' e32b7b7ddea4c97fe7eb9f2a96614336>] False
Editorial output/categories/editorial.xml de [<Post: 'posts/article/483.md' 27fac5e76728792ba3a83e1450e59f6b>, <Post: 'posts/article/44.md' 00fd3d3cc35a33fc964bf58b4b0107f2>] False
K2500 output/categories/k2500.xml de [<Post: 'posts/article/275.md' 54081b989eae248c7a8a0ab651367f65>] False
Heidelberg output/categories/heidelberg.xml de [<Post: 'posts/article/612.md' 9d2670015ccd7e9bf9fe5f46f2cc4b2f>] False
Blofeld output/categories/blofeld.xml de [<Post: 'posts/article/519.md' ed64e73356b8c51fe4df1fc5749b7d17>, <Post: 'posts/article/314.md' 63899bbaa5e433c2db588eef9fd8a4ca>] False
Gear output/categories/gear.xml de [<Post: 'posts/article/581.md' d52f0a4c3d720e79e75f160c7b735730>, <Post: 'posts/article/598.md' f3b688ad6dbeda29ac7bd94d93960ac4>, <Post: 'posts/article/369.md' 4cfa9e0ace5e09416f6667f888dbc192>, <Post: 'posts/article/196.md' e32b7b7ddea4c97fe7eb9f2a96614336>, <Post: 'posts/article/120.md' 48760a919bfd66e6cbfc3982d521d074>, <Post: 'posts/article/59.md' 378c6aa9e04c75fbc39c98406ce33a42>] False
Python output/categories/python.xml de [<Post: 'posts/article/867.md' 69b9d2b8caf2b9b14df13d39f95193af>, <Post: 'posts/article/806.md' 54016e641a27460e4d083ad7e5800cff>, <Post: 'posts/article/807.md' bfc161eeffcf58c8960bb2f9c47e00a9>, <Post: 'posts/article/796.md' 7b064514dd01d2d6af8cfd3c51e07b5c>, <Post: 'posts/article/784.md' 912450b6c3b302dd5765fefd8c25298f>, <Post: 'posts/article/750.md' 185e03e88194b987ec18a420d90b9262>, <Post: 'posts/article/499.md' 68114d85204b8c1238ed9b33d1d302a7>, <Post: 'posts/article/490.md' 50c911e7643188c7852e479e76742922>, <Post: 'posts/article/307.md' 53ed8abb3972c4afd44b98d8c5f78ccb>, <Post: 'posts/article/289.md' bb95ec99ff99493a5bb995af9fa059a2>, <Post: 'posts/article/252.md' b436b7469a05c86f0a340f50b008d46b>] False
Songwriting output/categories/songwriting.xml de [<Post: 'posts/article/708.md' aa54f7e1ec0fc9a26f01d0c449d283b7>] False
numpy output/categories/numpy.xml de [<Post: 'posts/article/499.md' 68114d85204b8c1238ed9b33d1d302a7>] False
AN1x output/categories/an1x.xml de [<Post: 'posts/article/702.md' c91d43264c21cb8f030fc47d92ade765>] False
Weave output/categories/weave.xml de [<Post: 'posts/article/404.md' c2ef5fdff2c131c723a0da607bb3b98f>] False
Code editing output/categories/code-editing.xml de [<Post: 'posts/article/784.md' 912450b6c3b302dd5765fefd8c25298f>] False
Waldorf Music output/categories/waldorf-music.xml de [<Post: 'posts/article/581.md' d52f0a4c3d720e79e75f160c7b735730>, <Post: 'posts/article/519.md' ed64e73356b8c51fe4df1fc5749b7d17>, <Post: 'posts/article/314.md' 63899bbaa5e433c2db588eef9fd8a4ca>] False
Ankündigungen output/categories/ankundigungen.xml de [<Post: 'posts/article/867.md' 69b9d2b8caf2b9b14df13d39f95193af>, <Post: 'posts/article/796.md' 7b064514dd01d2d6af8cfd3c51e07b5c>, <Post: 'posts/article/544.md' 8c2fbc947c8bf81175c3aaac0f5c5a2a>, <Post: 'posts/article/537.md' 2d8581b994f9b62aabe15e25026bae65>, <Post: 'posts/article/490.md' 50c911e7643188c7852e479e76742922>, <Post: 'posts/article/369.md' 4cfa9e0ace5e09416f6667f888dbc192>, <Post: 'posts/article/307.md' 53ed8abb3972c4afd44b98d8c5f78ccb>] False
Shell output/categories/shell.xml de [<Post: 'posts/article/750.md' 185e03e88194b987ec18a420d90b9262>] False
PHP output/categories/php.xml de [<Post: 'posts/article/404.md' c2ef5fdff2c131c723a0da607bb3b98f>] False
virtualbox output/categories/virtualbox.xml de [<Post: 'posts/article/796.md' 7b064514dd01d2d6af8cfd3c51e07b5c>] False
Midi output/categories/midi.xml de [<Post: 'posts/article/598.md' f3b688ad6dbeda29ac7bd94d93960ac4>] False
ERROR: Task generation 'render_site' has duplicated definition of 'render_tags:output/categories/midi.xml'
Kwpolska commented 8 years ago

Here’s where it breaks down:

MIDI output/categories/midi.xml de [<Post: 'posts/article/882.md' 772be7d6345fa73a01cd48b520d9eb59>, <Post: 'posts/article/598.md' f3b688ad6dbeda29ac7bd94d93960ac4>] False
Midi output/categories/midi.xml de [<Post: 'posts/article/598.md' f3b688ad6dbeda29ac7bd94d93960ac4>] False

Please paste the metadata of 882.md and 598.md.

SpotlightKid commented 8 years ago

Already included the relevant parts in the grep command above, but here are the full .meta files:

.. title: ELKA PM 13 MIDI Basspedal (Version B)
.. slug: 598
.. date: 2011-07-12 14:23:58
.. tags: ELKA,EM 13,MIDI,Gear,Musik,Review,Synth,Midi,Musik,Synths
.. description:
.. wp-status: publish
.. title: Organix Roland JX-3P MIDI Expansion Kit
.. slug: 882
.. date: 2016-02-11 21:42:57
.. tags: German,JX-3P,MIDI,Novation,Organix,Remote SL,Roland,Musik,Synths
.. description:
.. wp-status: publish
Kwpolska commented 8 years ago
.. tags: ELKA,EM 13,MIDI,Gear,Musik,Review,Synth,Midi,Musik,Synths
                    ^^^^                         ^^^^

This is something we did not expect users to do. I’ll try to fix it.

SpotlightKid commented 8 years ago

The first form must come from the tags of the article in Wordpress, the second from the category.

Kwpolska commented 8 years ago

There, now it would complain. I thought the WordPress compiler did something different to categories?

SpotlightKid commented 8 years ago

Now I get the following error output (with a fresh import from the Wordpress XML-Export):

IMHO, there's a mismatch between what the import_wordpress command generates and what build expects.

$ nikola build
Scanning posts........[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Coding (coding) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Python (python) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synths (synths) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Coding (coding) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Python (python) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Bilder (bilder) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synth (synth) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synths (synths) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Ankündigungen (ankundigungen) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Coding (coding) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Computer (computer) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Python (python) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Ankündigungen (ankundigungen) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synth (synth) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synths (synths) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Recording (recording) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synth (synth) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synths (synths) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Verschiedenes (verschiedenes) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Download (download) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Microwave (microwave) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synth (synth) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synthesizer Programmierung (synthesizer-programmierung) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synths (synths) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Waldorf Music (waldorf-music) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Bilder (bilder) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Demo (demo) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Gear (gear) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synths (synths) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Editorial (editorial) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag English (english) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Bilder (bilder) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Herbst (herbst) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Ankündigungen (ankundigungen) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Coding (coding) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Computer (computer) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Events (events) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag German (german) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Köln (koln) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Python (python) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Coding (coding) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Computer (computer) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Python (python) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Snippet (snippet) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Demo (demo) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Gear (gear) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Computer (computer) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Ankündigungen (ankundigungen) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Gear (gear) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synth (synth) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synthesizer Programmierung (synthesizer-programmierung) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synths (synths) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Coding (coding) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Computer (computer) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag EuroPython (europython) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Nsound (nsound) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Python (python) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Blofeld (blofeld) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Download (download) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Review (review) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synth (synth) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synths (synths) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Waldorf Music (waldorf-music) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Demo (demo) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Recording (recording) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Events (events) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Politik (politik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Coding (coding) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Computer (computer) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag EuroPython (europython) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Nsound (nsound) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Python (python) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Miniak (miniak) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Review (review) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synth (synth) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synths (synths) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Demo (demo) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Recording (recording) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag SY85 (sy85) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Coding (coding) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Computer (computer) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Python (python) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Ankündigungen (ankundigungen) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Recording (recording) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Soundcloud (soundcloud) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Gear (gear) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Midi (midi) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag MIDI (midi) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Review (review) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synth (synth) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Synths (synths) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Clavia Nord Electro (clavia-nord-electro) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Download (download) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Recording (recording) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Ankündigungen (ankundigungen) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Events (events) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Köln (koln) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Python (python) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Coding (coding) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Computer (computer) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Musik (musik) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Python (python) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Snippet (snippet) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag software (software) appears more than once in post posts/article/499.md.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Verschiedenes (verschiedenes) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Bilder (bilder) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Gear (gear) is duplicated.
[2016-04-08T16:10:26Z] ERROR: Nikola: The tag Gitarre (gitarre) is duplicated.
done!
Kwpolska commented 8 years ago

Well, I got the order a bit wrong. Does 5372c8b look sane?

SpotlightKid commented 8 years ago

No, sorry. Now we're back to the original error:

Anyway, IMHO the error is in the export. Why do the tags and categories get all mixed into tags?

$ nikola build -v 2
Scanning posts........done!
ERROR: Task generation 'render_site' has duplicated definition of 'render_tags:output/categories/midi.xml'
felixfontein commented 8 years ago

There, now it would complain. I thought the WordPress compiler did something different to categories?

Only if you specify --export-categories-as-categories.

SpotlightKid commented 8 years ago

Ok, it seems we have three different problems:

  1. nikola build doesn't handle multiple tags differing only in case.
  2. When used without options, import_wordpress generates tag lists, which nikola can't handle 1.). This is at least a documentation deficiency, IMHO.
  3. When using --export-categories-as-categories only the first category is preserved. Maybe there should be an option to include additional categories as tags and output a warning, if this produces tags, which lead to problem 1.).

Why is this issue labelled as "user error" then?

felixfontein commented 8 years ago

Re 3: all categories are stored in categories:, but aren't added to tags. I needed that for my site, as I'm using a slightly different tags+categories plugin for my needs (which is closer to original WordPress).

Re "user error": no idea.

SpotlightKid commented 8 years ago

import_wordpress outputs warnings like:

[2016-04-08T16:45:35Z] WARNING: import_wordpress: Post "posts/264" has more than one category! Will only use the first one.

So the problem is actually not that the import drops categories (it doesn't), that building the site uses only the first category, correct? I think that doesn't really come across clearly from the command's help text and this message.

Kwpolska commented 8 years ago

It should drop categories, because we don’t support multiple categories in core.

Kwpolska commented 8 years ago

I think I got 0af1770 right.

SpotlightKid commented 8 years ago

So the problem is actually not that the import drops categories (it doesn't)

It should drop categories

Sorry, that was misleading. category:: only has the first category, the additional meta keyword categories:: contains all the original categories.

felixfontein commented 8 years ago

Nikola ignores categories:, it only cares about category:. I added the code to store all categories in categories: so that nothing would be lost.

(In Nikola v8, categories will probably vanish completely, see #1718. But as soon as #2107 leads to something useful, it will (hopefully) be possible to re-add categories in a simple way via plugins, and then also possible to easily allow multiple categories per post without big hacks.)