
Being a framework built on top of React, it allows for static and dynamic applications to be built or rendered on the server, giving advantages such as much better performance, SEO benefits, and allows for us to write complex features that would not be possible in a standard static site. Next.js allows us to do all of those things and more. We also want our docs to be highly integrated into Stacks 2.0, and as such want to create components that could allow a user to send a transaction, deploy smart contracts, or even interact with a contract, all directly from the docs. We are planning on rolling our features like direct integration with Connect, our library that app developers can use to integrate with Blockstack. But today, we want our docs to be a higher caliber that just isn’t possible with Jekyll. It’s easy to use and very reliable, and was a good choice for the docs when we made them originally. Jekyll is a standard tool used for many static sites, not just for documentation. Since the launch of these new docs, we’ve already seen a significant bump in community contributions! Jekyll vs Next.js + MDX In addition to our own contributions, these updates allow for community members to make updates as they’re reading. With the introduction of Clarity, Stacks 2.0, and all of the improvements planned for our dev-tooling, we wanted a foundation that would allow us to implement complex and highly interactive features.

At Blockstack, many of our projects use Next.js or React in some way, and as such it was an easy choice to select it for our docs, too. We wanted an easy-to-use workflow for editors and contributors, while also making it straightforward and easy to implement new features.


However, that made it feel pretty disconnected and out-of-date from all of the improvements we’ve been shipping to some of our other projects, such as our primary website and our new explorer. Our previous docs site used Jekyll and an off-the-shelf theme, which helped us focus on the content while not having to deal with rolling out a bespoke site. With much of our efforts going towards our onboarding and Stacks 2.0 work, our docs often felt like a hassle and an afterthought to work on. Standardized styling via design system).Page speed scores went from 60s to upper 90s.Updated content and routing for a more intuitive experience.This article contains a video.We’re very happy to announce that our docs site has undergone a significant refresh both inside and out! The docs have been updated to use new tooling (Next.js + MDX) and an improved design that meshes with Blockstack’s other properties. Management information system dashboard.Automatically generate rows in dynamic grid.The block will only be appear if the value of private is greater than one and smaller than four. The following operators are allowed in the condition field:įor example, consider this blockswitch: 1 AND X Text These can be used to compare, add and refine your condition just like in the Studio. You can also use all kinds of logical operators (such as AND and OR) in your blockswitch. Now, the block will only be output if the value of private does not equal 1. Now, the block will only be output if the value of private equals 1. Value: compares the value of the switch variable condition: a condition the value has to meet.value: value that the variable must (not) be equal to, or.If you need a finer switch, use one of the two other allowed fields: This means maybe contrary to your expectations, ‘falsy’ values (such as zero (0) or empty text) will still cause the contents to render. It may have gotten this value either by being a question that was asked or by being the name of a formula that was evaluated. NOTE For the basic case sketched above, it is irrelevant what the value is, as long as it has gotten a value up until the document creation.

If has not gotten any value, the part inside the will not appear and the resulting text will be: If has gotten a value in the model, everything will be output and the text will be: But this is only appears if the block is switches on. You can use the block switch to get just that.Ī block switch is added to the document like this: Normally, a model creates text fragments which are exported to the document.īut sometimes there is a part of a document you want deleted. Level: intermediate Topics touched by this article
