Jump to content

IDEA: Hide spoilers in Coppermind


GreyHive

Recommended Posts

Hello all! 

I am new to the forums, but an avid user of the Coppermind. I apologize in advance if this is posted in the wrong place or if this has already been discussed. I tried searching for this and did not see anything.

As I prepared for RoW / read Dawnshard, I realized how difficult it is to avoid spoilers once the Coppermind is updated. The site does a nice job of highlighting when a page contains spoilers, but if you still need info, it is tough to avoid specific "spoilery" sentences without looking at the bibliography/notes mentally blocking out those lines.

THE IDEA: In your profile on the Coppermind, you select the books you've read. As you navigate the pages, any sentences attributed to books you haven't read are "blacked out", allowing you to reveal them by clicking. 

I've built websites before and know this is possible. Not sure what the tech stack is for the Coppermind, but I could see this feature being useful in other Wikis/ fandoms.

Link to comment
Share on other sites

It's not just a tech stack issue. It is a writing issue. For example, a Voidbringer page is completely different in Words of Radiance compared with Oathbringer. When things start intersecting later in the cosmere, it's only going to get much harder. There are not many editors and it isn't feasible to write for every spoiler case. Like, just imagine writing Mistborn: Secret History and trying to write for all cases on if people read Elantris vs. other things and such. 

The summaries will be spoiler free for future books, but we don't think it's really sustainable long term to do this. It'd be nice, but in practice, extremely difficult.

Link to comment
Share on other sites

Woah! @Chaos I just watched/listened to a ton of Shardcast episodes. It's an honor to chat with you. Thank you for all that you do for the fandom.

I thought about this. You are absolutely right. These wiki pages are living documents that change over time. Our understanding of a topic changes each time something new is added to the canon. 

Two additional thoughts I'd like your opinion on:
1)  As a casual reader, I'd be willing to trade off continuity / completeness of an entry to ensure I don't see spoilers, especially if I have the option to reveal the spoiler to see the full picture. If you make this an "opt-in" option, the majority of folks would see the Coppermind as it is today. Those like me will have the option to turn it on or off. 

  a. In your example, if I had not read Oathbringer and I went to the Voidhbringer page, I'd see a wall of black, letting me know lots of updates happened during this book. To my knowledge, there is no way currently to see what the Voidbringer page would look like with just WoR content.

  b. In your second example, if you were updating pages based on Mistborn: Secret History, you'd annotate them as normal. For users with "hide spoilers" turned on and Mistborn Secret History marked as read and Elantris marked as unread, all sentences / facts attributed to MSH would show and anything related to Elantris would be hidden.

2) In a perfect world, each sentence or factoid would be attributed to a certain book/chapter/page etc. It'd be incredible to have a slider that would allow you to see how a page has morphed over time. Let's say you are reading Oathbringer and you wanted to brush up on Voidbringers, seeing that snapshot in time from WoR would be ideal. I say all this know it would be impossible to implement after the fact. :lol:

 

I hope I understood your comment! If not, correct me and let's keep the convo going!

 

Edited by GreyHive
Link to comment
Share on other sites

I feel like even if we wanted to try something like this - which I agree would have value to the casual/new reader, there's a lot of "don't go to 17S/Coppermind/Arcanum until you've read everything" going around (and with a good reason...) - the technological challenge is still something we likely can't get around, MediaWiki is pretty limited in what it allows us to play with. Plus, our focus with the wiki has always been content, so any effort that takes away from writing content really has to be worth it, for most people. 

I am personally not opposed to some kind of solution that gives readers better guidance (maybe instead of tagging individual sentences/paragraphs, we can tag entire sections, or entire pages), but I suspect it's going to be tricky to both come up with and implement; and it has to be a low-to-no maintenance solution too, because some version of this wiki will probably stick around for the next 30+ years...

Link to comment
Share on other sites

My thoughts are pretty similar to Argent's; something like this would be nice for readers, but MediaWiki if often... difficult to deal with and I don't think we're in a position on the technical side to implement something like this. On top of that, we already have a small group of editors and lots of content work to do, so any theoretical solution that would require lots of upkeep (plus the work to apply to all the current articles!) is basically a nonstarter. If you are aware of a wiki that has something like this, I'd certainly be interesting in hearing about how they make it work.

 

The one other thing I would note is that there is, in fact, a way to see what the Voidbringer page (or any page) looked like before Oathbringer (or any other book). If you click the "History" tab at the top right of a Coppermind page, it will show you every edit ever made to that page. From there, you can click on the timestamp of any given edit to see what it looked like immediately after that edit. So, if, for example, you pick the last edit to the Voidbringer page before Oathbringer was released on November 14, 2017, you would get this: https://coppermind.net/wiki/Voidbringer?&oldid=66869. Of course, I know that's probably not practical all the time, especially if there are a lot of books you haven't read or if you want to read an article primarily about something from Secret History that touches on content from earlier books like Elantris, but it is an option that exists.

Link to comment
Share on other sites

10 minutes ago, Argent said:

I feel like even if we wanted to try something like this - which I agree would have value to the casual/new reader, there's a lot of "don't go to 17S/Coppermind/Arcanum until you've read everything" going around (and with a good reason...) - the technological challenge is still something we likely can't get around, MediaWiki is pretty limited in what it allows us to play with. Plus, our focus with the wiki has always been content, so any effort that takes away from writing content really has to be worth it, for most people. 

I am personally not opposed to some kind of solution that gives readers better guidance (maybe instead of tagging individual sentences/paragraphs, we can tag entire sections, or entire pages), but I suspect it's going to be tricky to both come up with and implement; and it has to be a low-to-no maintenance solution too, because some version of this wiki will probably stick around for the next 30+ years...

Hey @Argent! Love your content on Shardcast.

Very understandable. I'll look into MediaWiki to see if they allow custom plug-ins or something.

I may also look into writing a Chrome extension for this functionality. Most of this could be accomplished with Javascript. 

Link to comment
Share on other sites

4 minutes ago, Starwatcher said:

My thoughts are pretty similar to Argent's; something like this would be nice for readers, but MediaWiki if often... difficult to deal with and I don't think we're in a position on the technical side to implement something like this. On top of that, we already have a small group of editors and lots of content work to do, so any theoretical solution that would require lots of upkeep (plus the work to apply to all the current articles!) is basically a nonstarter. If you are aware of a wiki that has something like this, I'd certainly be interesting in hearing about how they make it work.

 

The one other thing I would note is that there is, in fact, a way to see what the Voidbringer page (or any page) looked like before Oathbringer (or any other book). If you click the "History" tab at the top right of a Coppermind page, it will show you every edit ever made to that page. From there, you can click on the timestamp of any given edit to see what it looked like immediately after that edit. So, if, for example, you pick the last edit to the Voidbringer page before Oathbringer was released on November 14, 2017, you would get this: https://coppermind.net/wiki/Voidbringer?&oldid=66869. Of course, I know that's probably not practical all the time, especially if there are a lot of books you haven't read or if you want to read an article primarily about something from Secret History that touches on content from earlier books like Elantris, but it is an option that exists.

Hi @Starwatcher!

Understood. I am looking for ways to get involved with the community and current work in tech. This might make for a good side project. Based on how I am thinking about it (hiding elements based on annotations), it shouldn't require any changes or upkeep.

Thank you for sharing that functionality! I'll check it out.

Link to comment
Share on other sites

1 minute ago, GreyHive said:

Hey @Argent! Love your content on Shardcast.

Very understandable. I'll look into MediaWiki to see if they allow custom plug-ins or something.

I may also look into writing a Chrome extension for this functionality. Most of this could be accomplished with Javascript. 

MediaWiki does allow a plug-ins known as extensions; if that's something you're interested in looking into. There is already a spoilers one, but it looks like it just chucks things into a collapsible element, which I don't think would work for us structurally and also sounds like a lot of upkeep

If you're interested in writing Javascript for this, you can make a user subpage (User:YourUserName/common.js) that will run that Javascript for you. Not sure what the other Keepers would think but, if it's something that they're comfortable making available sitewide, it could maybe be converted to a gadget, which is basically CSS and/or JS that users can enable in their preferences.

 

10 minutes ago, GreyHive said:

Hi @Starwatcher!

Understood. I am looking for ways to get involved with the community and current work in tech. This might make for a good side project. Based on how I am thinking about it (hiding elements based on annotations), it shouldn't require any changes or upkeep.

Thank you for sharing that functionality! I'll check it out.

Not sure if these are the "annotations" you were thinking of using, but, in case it helps with your process any, Argent suggested earlier that, if someone were to look at doing this dynamically, doing the spoilers by paragraph and using the books referenced in each paragraph to tell whether information from a book is in that paragraph might be a workable method

Link to comment
Share on other sites

I'm still skeptical even if the tech side worked that it would be feasible to actually write prose to do this. Like, as you say... you can't see an old version of Voidbringer. But in that article's case, that would mean we are supporting two totally different articles solely based on spoiler reasons. I am deeply skeptical this would be scalable to the literal thousands of articles we have. I don't know. I wouldn't want you to do work that we ultimately decide just doesn't fit things.

Link to comment
Share on other sites

33 minutes ago, Chaos said:

I'm still skeptical even if the tech side worked that it would be feasible to actually write prose to do this. Like, as you say... you can't see an old version of Voidbringer. But in that article's case, that would mean we are supporting two totally different articles solely based on spoiler reasons. I am deeply skeptical this would be scalable to the literal thousands of articles we have. I don't know. I wouldn't want you to do work that we ultimately decide just doesn't fit things.

All good @Chaos. Totally understand. 

Tell you what, I'll mock something up this week.  I've already got something partially working. You give me the go/ no-go. 

No pressure on this! I know there will be a lot going on this week. 

 

Link to comment
Share on other sites

@Chaos / @Starwatcher / @Argent

I've got an example mockup working on the Coppermind using the User/common.js and User/common.css that @Starwatcher recommended. After some consideration, I think this would work best as something people can configure individually.

https://github.com/ALeonard9/spoilerblock

A few notes:

* This should work with all existing pages within the Coppermind. No updates / on-going maintenance.

* This is written in native Javascript, compatible with modern browsers. 

* Anyone looking to implement would need the ability to create pages.

* The book is hard-coded. 

* I'm hiding the whole parent element. With more time, I could refine that down to just the sentence related to the citation.

<script>
  // Collect all citations containing Dawnshard
  // TODO: Dawnshard is hard coded. Would replace with any unread books.
  var spoilers = document.querySelectorAll('\*[id^="cite_ref-Dawnshard"]');

  // Add the spoiler class to the parent element of all citations
  spoilers.forEach(function (userItem) {
    userItem.parentElement.classList.add("spoiler");
  });
</script>
<style>
  /* Black out any spoilers */
  .spoiler {
    color: black;
    background-color: black;
  }

  .spoiler a:link {
    color: black;
    background-color: black;
  }

  .spoiler a:visited {
    color: black;
    background-color: black;
  }

  /* When hovered over, reveal original text. */
  .spoiler:hover {
    background-color: white;
  }

  .spoiler:hover a:link {
    background-color: white;
    color: blue;
  }

  .spoiler:hover a:visited {
    background-color: white;
    color: blueviolet;
  }
</style>

Example of a hidden section

mockup_hidden.png

Example of a revealed section (by hovering over)

mockup_revealed.png

Edited by GreyHive
breakthroughs :)
Link to comment
Share on other sites

On 11/16/2020 at 1:36 AM, GreyHive said:

@Chaos / @Starwatcher / @Argent

I've got an example mockup working on the Coppermind using the User/common.js and User/common.css that @Starwatcher recommended. After some consideration, I think this would work best as something people can configure individually.

https://github.com/ALeonard9/spoilerblock

A few notes:

* This should work with all existing pages within the Coppermind. No updates / on-going maintenance.

* This is written in native Javascript, compatible with modern browsers. 

* Anyone looking to implement would need the ability to create pages.

* The book is hard-coded. 

* I'm hiding the whole parent element. With more time, I could refine that down to just the sentence related to the citation.


<script>
  // Collect all citations containing Dawnshard
  // TODO: Dawnshard is hard coded. Would replace with any unread books.
  var spoilers = document.querySelectorAll('\*[id^="cite_ref-Dawnshard"]');

  // Add the spoiler class to the parent element of all citations
  spoilers.forEach(function (userItem) {
    userItem.parentElement.classList.add("spoiler");
  });
</script>
<style>
  /* Black out any spoilers */
  .spoiler {
    color: black;
    background-color: black;
  }

  .spoiler a:link {
    color: black;
    background-color: black;
  }

  .spoiler a:visited {
    color: black;
    background-color: black;
  }

  /* When hovered over, reveal original text. */
  .spoiler:hover {
    background-color: white;
  }

  .spoiler:hover a:link {
    background-color: white;
    color: blue;
  }

  .spoiler:hover a:visited {
    background-color: white;
    color: blueviolet;
  }
</style>

Example of a hidden section

mockup_hidden.png

Example of a revealed section (by hovering over)

mockup_revealed.png

@GreyHive cheers for the hard work on this! This looks awesome! I can tell you as a regular editor of the Coppermind, the Keepers and their Squires and working crazy hard this week on RoW (Not me, I have to wait to buy the book :-/)

Have you done any other plugin type work?

Link to comment
Share on other sites

@Leafygeans thank you!

I totally understand. That's why I've backed off. I think it would be helpful for a few people, but I don't want to throw it out there if I don't have the blessing of the editors, Keepers, Squires, or Admins.

I have not done any plugin work. I'd classify myself as a hobbyist. 

Good luck with getting the book and updating the articles!

Link to comment
Share on other sites

On 11/16/2020 at 5:17 AM, Chaos said:

I'm still skeptical even if the tech side worked that it would be feasible to actually write prose to do this. Like, as you say... you can't see an old version of Voidbringer. But in that article's case, that would mean we are supporting two totally different articles solely based on spoiler reasons. I am deeply skeptical this would be scalable to the literal thousands of articles we have. I don't know. I wouldn't want you to do work that we ultimately decide just doesn't fit things.

I completely understand that reason, and that maintaining 2 or more versions for articles is very hard, but wouldn't be a solution to just wait an arbitrary 1 week or 10 days after each big release, before updating the wiki? 

It's very daunting, that merely 2 days after release the whole wiki is spoiler flagged. There's literally not enough time to finish the book if someone got their copy post-release, even if one would do nothing but read and sleep, let alone if the mail was 1 day late or had other things going on.

I consider myself a fairly dedicated fan, and did a full reread before release, but still ended up having to search for things like a specific surge or gemstone, and hit the spoilerwall.

Just a thought, you obviously run the site the way you feel it's best.

Edited by Georion
Link to comment
Share on other sites

I was pretty bummed to see the entire site made useless to me until I finish the latest book. I was using it to refresh on details from Oathbringer.

Having the entire site spoiler filled at nearly release day feels like it caters to beta readers, as they are likely the power users of the site. Which makes some sort of sense but ultimately it's frustrating for anyone trying to read on a post release schedule.

Link to comment
Share on other sites

18 minutes ago, Georion said:

I completely understand that reason, and that maintaining 2 or more versions for articles is very hard, but wouldn't be a solution to just wait an arbitrary 1 week or 10 days after each big release, before updating the wiki? 

We have not historically done this in the past. Typically the first week has had a big load of work done in the past (see how much we got done in 9 days on Dawnshard). The first week of OB's release had a lot of new people. If we prevented people from editing at all, that might mean we lose an editor forever. And if we didn't just lock the entire wiki, then people would likely put spoilers up anyway. 

I suppose my mindset is that people should avoid the internet when getting new media. Googling things will always lead to spoilers in my book, so I did specifically put spoiler tags on everything just in case, immediately upon release. No one can get upset with accidental spoilers if it is all spoiler tagged! That's why we put them there, because on a wiki, people will edit in spoilers very soon, just like some jackass went into our Discord server, barfing a giant spoiler, then immediately leaving. The internet is very hard to manage this sort of thing, and I tend to assume the internet will contain jerks like this. That, along with trying to harness post-book excitement, is why we have done things like this for the last decade.

We'll probably do something for Stormlight 5 like an archive of the wiki that's spoiler free for a bit. But really, we haven't ever actually treated releases special before! But I suppose the fandom is getting much bigger and there's demand for looking things up as you read. It's interesting though how OB really didn't have this criticism, so we kept doing what we always had been doing. (I still think ya'll are a little strange, but perhaps that's because I like just getting away from the internet and get absorbed in a new book.)

Edited by Chaos
Link to comment
Share on other sites

20 minutes ago, Chaos said:

 

An archive of the wiki that's available for a time seems like the best solution for all parties, I'm a big fan of it.

We haven't had any big cosmere content in a little while, so I think the demand for people to get refreshers on specific details is much more common.

Edited by Stormcrown
Link to comment
Share on other sites

Just now, Stormcrown said:

An archive of the wiki that's available for a time seems like the best solution for all parties, I'm a big fan of it.

There are some technical aspects involved in that, and hopefully we could make it very easy for people who want to look things up. We will probably try to test run something like that for Lost Metal's release.

I like this better than a moratorium on editing for the first week, because some people will be like, "but why not two weeks or a month!" and an archive gets around all those issues nicely, while also allowing people who do want to edit to be able to do so. Seems win win, as long as it's easy for readers to get to the archive.

Link to comment
Share on other sites

  • 4 weeks later...

@Georion / @Stormcrown - I hope your RoW reads went well and were spoiler-free. I know I'm about a month late in responding. 

Looks like the day after this discussion, the Time Machine was rolled out: 

 

This seems like the most elegant way to handle avoiding spoilers on recent releases. 

If you are as far behind the overall Cosmere as I am, the spoilerblock code I whipped up has been working like a charm. Browse Coppermind without fear of spoilers.

 

Link to comment
Share on other sites

  • 1 month later...

I really did like the time machine feature for RoW. I'm up to date on the Cosmere, and so what I've done is for my discord, which is geared towards new readers for the Cosmere is have a channel called copper mind and one called arcanum where someone that has a question can ask the people who are up to date, and they can look it up, and tell them, omitting the spoilers for what they haven't read, which you can see because of the roles. Its organized by series, but at least I generally know on what book the people who are in the middle of a series are in, so that helps too.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...