GitMurf / csv-to-roam-table-md

Prepare/convert your CSV tables to be ready to import into your Roam Research database.
MIT License
8 stars 1 forks source link

Issue with "|" pipe character in Page names #18

Closed GitMurf closed 4 years ago

GitMurf commented 4 years ago

From @phhq "EA" in Slack:

I had a few minutes to test it with a csv of six rows of "purchases". I found it failed on two of the six rows the first time, but the other four were fine. I noticed both the page names of the failed rows contained a "|" character. When I removed the pipe character, the conversion worked. I'm not sure if there is an issue with "|" in a page name, or running through power script, etc. -- have a look.

GitMurf commented 4 years ago

@phhq here is the answer. In Windows you cannot have a "|" pipe in the file name (see screenshot below). The other characters not allowed are: \ / : * ? " < > |

Now my question is, what is an acceptable solution for you? I would prefer to just replace any/all of those characters listed above with the same replacement. The question is, what character would you vote for as replacement for each of the illegal characters? Please select all that you would be fine with or just One if you have a strong opinion about it.

image

GitMurf commented 4 years ago

@phhq made a good point:

The "/" is an important character -- to preserve a user's ability to use the namespacing features in Roam, eg. I used the excel functions like TEXTJOIN to format the first column to import names with namespaces. To accomplish a mass search and replace after being converted to markdown, the character(s) replacing the "/" should be very likley NOT to occur in natural filenames (and also not be on the "exclude" list.

Leaning towards:

GitMurf commented 4 years ago

Also I just thought of an idea... it is a little more "hacky/manual" but if you are going to do manual find/replace within Roam for some of this stuff, especially namespaces, then this is probably actually better:

Thoughts?? I think I LOVE this idea and much better workaround. Thoughts? Am I not thinking about something?