Closed Lattyware closed 4 years ago
For what it's worth, I gave makedecks a shot and while it's definitely powerful, it was a bit tricky to figure out how to use. Multiple lines, text formatting, and those features are nice to have, but maybe a basic mode which just provided text entry and slot entry would be a worthwhile addition. I'd definitely be up for contributing, but I'm completely new to Elm so it may not be much help
Yeah, it was intended as a development tool rather than something for end users. I'd definitely make some changes for a more general use case.
For what it is worth, the simplest way right now to create a lot of cards quickly is to use the import function (second button at the top-left of the page). Each line will be treated as a card, with an underscore representing a slot in calls.
Oh! That would have been so much easier than what I ended up doing
Could this be a good option? https://github.com/greencoast-studios/cards-against-humanity-api Had to quickly jump on a game of https://github.com/jakelauer/allbadcards as my MassiveDesk install was dead. I prefer Massive Desks interface :)
MD should still work with built-in decks, at least.
The main thing that Cardcast did is letting people easily make their own decks—if the plan was just a set collection of decks, the built-in source is probably fine, so I'm not sure that project offers too much.
OK, I've thrown together an quick version that allows loading decks from a given URL, which should serve JSON as produced by Make Decks. As noted above, the import is probably the easiest way to make a deck, the editor is more for fine tuning.
Obviously, you'll still need to host that JSON somewhere to get a URL. There are a number of JSON "pastebin" style sites that should work e.g npoint.
@Lattyware I'm getting an error using it: Failed to execute 'querySelector' on 'Document': '#json-url-https://gist.githubusercontent.com/markspolakovs/URL_HERE/raw/URL_HERE/FILE_NAME_HERE.json' is not a valid selector
Resolved that by this patch:
diff --git a/client/src/elm/MassiveDecks/Card/Source/JsonUrl.elm b/client/src/elm/MassiveDecks/Card/Source/JsonUrl.elm
index 66d1672..1a05aed 100644
--- a/client/src/elm/MassiveDecks/Card/Source/JsonUrl.elm
+++ b/client/src/elm/MassiveDecks/Card/Source/JsonUrl.elm
@@ -127,7 +127,11 @@ tooltip : String -> (String -> List (Html msg) -> Html msg) -> Maybe ( String, H
tooltip url tooltipRender =
let
forId =
- "json-url-" ++ url
+ "json-url-" ++ (url
+ |> String.replace "." "_"
+ |> String.replace "#" "_"
+ |> String.replace ":" "_"
+ |> String.replace "/" "_")
in
( forId, [ Html.p [ HtmlA.class "json-url" ] [ Html.text url ] ] |> tooltipRender forId ) |> Just
@markspolakovs Yeah, that was just something super hack-y thanks to the nature of it being an ultra-quick method to get decks in.
I've just pushed Many Decks, with a hosted instance that is now wired up to the Massive Decks hosted instance. This gives a much better (although still very alpha-quality) experience for building and storing decks.
From this point, I'll close this issue as we have something. If you find issues, please open a new issue here if it relates to Massive Decks connecting to Many Decks, or on the Many Decks repository if it is actually an issue Many Decks itself. If you aren't quite sure, just pick one, worst case it can get moved.
I have totally ripped out the Json Url source. You should be able to upload any deck you had to Many Decks, which hopefully covers most people. While I can imagine some people might have wanted to keep using it, it had a ton of issues and I already saw someone trying to abuse the feature, so I took it down. I am still open to other sources, but that particular implementation was done in a rush and if it was to be replaced, it'd need to be with something more robust.
So uh, turns out Cardcast is dead on short notice.
I'll take a look at setting up a new place for people to create custom decks (with makedecks already existing, that shouldn't be too much work.
If there is a good existing alternative where people can make/share custom decks, please let me know.