-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Publish specifications to specs.ipfs.tech #382
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
@lidel @darobin I think the most important next step is to add PR previews with Fleek, and also publish the main branch to specs.ipfs.tech.
|
@hacdias I think that it would be good to ship something good enough and then we can figure out how to improve on it. I'd be in favour of putting all the specs on the site and using For PR previews, I was thinking that what would be nice would be to have PR branches exposed at Either way, I think we might be better off shipping what's here (or something close to it) to main & specs.ipfs and then iterating? |
@darobin definitely, I would be happy to publish all and use the maturity for that.
Probably, we can just keep them as plain markdown, or publish them with some different styles?
I do agree with that. I think PR already has good enough stuff to publish to specs.ipfs.io - I would just prefer that @lidel took a look at it before 😃 And also someone to setup the Fleek deployment on this repository! |
The way I think about it, the more we publish, the more we give visibility to the work, the more we make it look like "not just a thing on GitHub", the better it is for both the project and its contributors. Just a quick thought but we could add a
I used my personal Fleek account to set up the demo. Do you know if we have anything more official? 👍 on @lidel review first :) |
I think so, but I'm not sure /cc @lidel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is awesome, thank you so much for pushing on this ❤️
⚠️ 💭 I don't think many specs "meet the bar"- I would not publish anything more than Gateway and IPNS specs for now
- We may also include BITSWAP one, which describes wire format, but that's probably all we have to show atm.
- Unixfs is not ready: PR is wip, but needs a lot of editorial work.
- I know it is frustrating, but it is not just "low quality" or "unfinished specs" – some things are outdated, invalid, or both. We need to audit existing content base-by-case, and remove it from repo, because it is just noise (I'm happy to advise on cleanup PR, if needed)
- Adding IPIP process description and figuring out permalinks for each IPIP sgtm, but should be separate PR – let's keep scope small.
- I would not publish anything more than Gateway and IPNS specs for now
- 💭 would be cool if
http-gateways/
had index.html that is the same asHTTP Gateways
section on the main website (but having unstyled dir listing for now is also ok) - 💭 moving
ipns/
toipns/record/
will probably save us a lot of headache in the future- This way, one can enumerate all IPNS specs by opening
ipns/
- We are missing DHT router description, we may have double-hashed records too, there will be also IPNI one in the future i think
- This way, one can enumerate all IPNS specs by opening
- 🟢 I've set up Fleek
- using the same account as docs.ipfs.tech for now
- build is defined in
Makefile
make website
is expected to produce website in./out
directory
- Opened https://github.com/protocol/infra/pull/1140 to update DNS config but need @darobin to remove it from his account first (details on the linked PR, but DM me if you have no access)
- We should do this after the
Makefile
lands inmain
branch.
- We should do this after the
- Enabled PR previews based on
make website
Example: https://bafybeihl4rvlt2mh2cjw7qwraxcweqd3qbuql6jaudfn35uie2r3gtz47y.on.fleek.co
- 🔴 We kept Markdown so we should be able to avoid losing git history.
- This is avoidable if we moved files first, made a commit, and then created placeholder in the old place using separate commit (I did that for IPNS before and worked fine).
- @hacdias it is not too late to fix it with either a rebase or manually copying files in a new PR – either works, and saves us from losing it 🙏
- This is avoidable if we moved files first, made a commit, and then created placeholder in the old place using separate commit (I did that for IPNS before and worked fine).
I agree. Let's keep the scope of this PR small and then I can work on the IPIPs in a separate PR. I would love to see this published.
I added some minimal indexes for
Yes. I agree. I moved the following:
The reason for renaming (that applies to all of them) is that we cite as
🎉
Rebased and taken care of! It works flawlessly. Let's just not forget to not squash when merging. |
af87bf1
to
b228af5
Compare
@darobin can we remove/disable the dark mode for now? And then add/improve it after? |
@lidel I see there's a lot of reference failures on the new previews. Do you know why that may be caused by? AFAIK, ipseity needs to be able to connect to the Internet during build. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- I've updated DNS, https://specs.ipfs.tech works.
- The content is published from
try-ipseity
branch for now, I will update it tomain
when this PR gets merged tomain
branch.
- The content is published from
I'd like us to merge this soon, but there are some things that we need to address first:
- a toggle in UI and cookie to enable/disable dark mode (or disable it for now, and focus on polishing light mode)
- canonical link is missing
- We want to copies on gateways to contribute SEO to the canonical URL, so every spec needs to have canonical link defined, for example:
I suspect we need to modify<link rel="canonical" href="https://specs.ipfs.tech/meta/spec-for-specs/">
template.html
or update https://www.npmjs.com/package/spec-generator to support this. @darobin thoughts/ideas? This is to avoid issues like Block internet search engines from indexing the mirror distributed-wikipedia-mirror#48 - figure out why
dig +short ALL _dnslink.specs.ipfs.tech @1.1.1.1
returns no results – moved to Fix DNSLink at specs.ipfs.tech #393- TTL is 3600, so 1h, but maybe some aggressive caching happens on dnssimple? let's wait 24h
- add missing bibliographic references
@lidel regarding references: everything works well when I build locally. I think there are two problems at play here:
/cc @darobin ipfs/spec-generator#1 also adds support for canonical links in the specs, we may also need to do something to add it to the other pages. |
Getting there! |
rm -rf ./out | ||
|
||
install: | ||
npm install -g spec-generator@$(SPEC_GENERATOR_VER) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💭 running install on every make watch
is slow, we can avoid it if its already installed in proper version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How can I add such check in the Makefile? We can't use npx
here for the reasons I've outlined before.
{ | ||
"input": "src", | ||
"output": "out", | ||
"template": "template.html", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💭 It does not seem to bring much value in the top level dir, can we move it to src/_includes
to reduce noise?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, we probably can, but src/_includes
is a special repository for the static website generator that backs spec-generator
(https://www.11ty.dev/). And template.html is a file specifically required by spec-generator that works differently from the 11ty system. So I'm not sure if it's the best idea.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Continued in #391
@@ -0,0 +1,6 @@ | |||
{ | |||
"input": "src", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lidel this has been discussed before. This is the format expected by Eleventy. It is possible to change it, but that requires changes to spec-generator afaik.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Continued in #392
Co-authored-by: Robin Berjon <[email protected]>
Making it clear these are Web redirects.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given:
- various places already pointing at https://specs.ipfs.tech/,
- work like Blog post on implementations and principles ipfs-blog#550 and ongoing IPIPs waiting for this to rebase, - IPFS thing being <3 weeks from now
@darobin ok merging as-is?
We can improve and address UX papercuts for editors later, but better to land this with some buffer before IPFS thing.
This PR has as a goal to clean up some of the specs and move them to a
mature
repository, where specs are published to https://specs.ipfs.tech.Try it out locally:
npx spec-generator -c .config.json -w
Things to do:
date:
to the metadata based on when the spec was last updatedindex.html
src
/mature
)