
Add a YouTube video, graph, quiz, gorilla bouncing on a trampoline, and more to your posts to improve their quality. Components are always being added, and anyone can make them.
Learn how to add components to a postFor non-coders, you have access to tools you cannot use on any other social website. You can add interactive graphs, tables, create a quiz, cite sources, and more to your posts here. This allows for increased quality of content. Since anyone who has any coding ability can make components, the number of components will continually increase over time.
For coders, you can show off components/widgets you make by letting the average person utilize them. Sites with a similar functionality are exclusively for coders (codepen, jsbin, etc). This site isn't as much about sharing code with other coders, as it is actually providing useful tools for the average person. Making exciting things that the average person can use was the entire reason I learned web development from the beginning, and I suspect I'm not alone. If you want to make something exclusively for other coders to see, codepen is the place to go. If you ever want to make a small widget that non-coders can use, this is the place to go!
Make a component if you want users to have access to your widget when making a post (like this donut pie graph). Make a post with code to make a useful widget that people can use (like this scientific calculator).
Make No Law is in its early stages, and is currently in Beta to determine what issues users are experiencing, and what features are lacking.
Like any social media site, you can make posts on Make No Law. The difference is that you can add components to your posts, and you have the option of editing the HTML and JavaScript of both posts and components. Don't know how to code? No worries. You can add components made by others to your posts to increase their quality. Some of the components currently available are a donut pie graph, a bar graph, a sortable table, a quiz creator, a tool to cite sources, and more.
Another aspect of the site is that by default all posts and components may be edited by others. If you want to make a post that shouldn't be edited by others, add the tag "Blog", "Free Speech", "Opinion", or "Personal Post". The reason for allowing editing by default is that components, HTML, and JS can become outdated quickly. In many cases the content you write about may also become outdated. A huge part of this Beta testing is to determine whether or not the "edited by default" feature works, or if this should be switched so that posts cannot be edited by others unless a few tags have been added to them.
Over time others will improve your posts, and if you think of something later you can always improve it yourself. We will shape individual communities, and answer fundamental questions about the future of the site. Should tags have their own moderators? Should each post have only one tag? Is this just a slightly better BuzzFeed? If it comes to it I won't hesitate to take quizzes away.
When creating a post, feel free to create a new tag if you can't find one relevant to what you're posting. All posts are currently visible to everyone, so tags are almost decorative at this point.
As of now anyone can edit any post that hasn't been locked. In the future there may be an option for personal posts that only the original creator can edit.
The name is derived from the First Amendment of the United States Constitution, which states "Congress shall make no law...abridging the freedom of speech." The idea is that this platform is a place where speech cannot be abridged by anyone, including the platform owner, except for some general cases outlined below.
While Make No Law is designed to be a platform for free speech, there are some types of content that are not allowed:
These restrictions are in place to ensure the safety and integrity of the platform while still upholding the principles of free speech.
No! There is a formatting menu that allows you to easily format your content, and the `Add Component` feature was created with all types of users in mind. The most common issues you may come across are placing content on a new line, and spacing. Since the editor is an HTML editor, new lines are not treated as such when rendered, and multiple white space characters (spaces, tabs) are collapsed into one space. A new line may easily be created by either wrapping content in paragraph tags (by clicking the `` button), or by clicking the `<br />` button. `<br />` creates a new line. Customizing spacing is best done via css.
Posts are the property of Make No Law at this time. In the future this may change, but for now I don't have enough of an understanding of content licenses to do otherwise. The main issue would be accidentally using a license that would be hard or impossible to change later once the resources to make a good decision are available.
Components are MIT licensed . If templates are used in the future, they may fall under a different license.
Any added code that already has a license must have the license accompanying it at the top of the post or component.
After logging in, you can give feedback by hovering over your username in the upper right hand corner, and selecting "Feedback" from the dropdown menu.
Content is safe because it is run inside of sandboxed iframes, which limit the code that can be run. This means that malware cannot be run, and the content cannot access cookies, or any data on the makenolaw.com domain. The iframe sandbox also disallows popups, form submission, and more. Components are not usable until they are approved.
Due to the iframe features that posts and components take advantage of, Make No Law is largely unusable on Internet Explorer because it doesn't support the `srcdoc` iframe attribute, among other security issues. Chrome, for comparison, began to support the `srcdoc` attribute in 2012. Users of the Edge browser may also experience issues and slow page loading. Classic IE and Edge move. Let's see if it works out for them.
Iframes are limited by our Content-Security-Policy. Objects, applets, and embeds are disabled (by the CSP, and attempts to disable them on the server side). At this time we only allow a short list of urls to be accessed via iframes. If you want support added for a site, send us feedback and it'll likely be added (hover over top right dropdown when logged in, and you'll see the feedback button). The supported sites are:
Scripts are also limited by our Content-Security-Policy. Only scripts from the following domains are allowed:
Users on browsers that don't support CSPs will see a notice that can't be dismissed urging them to use a new browser.
If you find any issues please leave feedback (in the lower right hand corner).
Certain functions have been overwritten to mitigate the Spectre and Meltdown vulnerabilities (like performance.now()). Additionally, posts are checked within minutes to ensure code does not intend to harm others. In the future, HTML/JS editing of posts may be turned off by default if vulnerabilities become a viable issue that cannot be solved for. If done, it will not stop users from adding components to their posts since components are approved before they can be used, and the user-supplied data can be filtered to prevent injection.
Infinite loops, while disruptive, will not harm a user's computer. Methods are employed to stop certain obvious infinite loops from running, but purposefully written infinite loops are easy to add to posts. A user will not be able to use HTML and JS in their posts until they have 50 reputation (without approval on a per-post basis). This gives users an incentive to make good posts, as disruptive posts would terminate an account they put effort into.