Skip to content
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

Book overhaul #1354

Closed
wants to merge 12 commits into from
Closed

Book overhaul #1354

wants to merge 12 commits into from

Conversation

pentamassiv
Copy link
Contributor

The improvements include:

  • Restructuring the book a little bit to make it easier to find information
  • Adding description on what gir is and when it can be used
  • Explanation on how to set up the project folder
  • Explanation on how to find .gir files
  • Mentioning of various other foot guns that a beginner might encounter

I marked it as a draft, because there are still a few things that need to be done, but I need some help to get it across the finishing line.

  • The pango example is incomplete
  • A native speaker should proofread it

As suggested by @bilelmoussaoui in #1353, I used pango as an example. This worked fine for the -sys crate, but for the safe wrapper, I get a lot of errors and when I look at https://github.com/gtk-rs/gtk-rs-core/blob/master/pango/Gir.toml, there are a lot "advanced" things such as implementing types or ignoring stuff and unfortunately I am not knowledgeable enough to understand and explain it. The part that is missing can be found in high_level_rust_api.md and you can find it by searching for "TODO: Add steps of example".
I guess there are three options on how to proceed:

  • somebody else can finish that part
  • I finish it but only add a few objects to the "generate" and "manual" lists and the example does not go through the full process of generating the wrapper for pango
  • I use a different example (but from looking at the other bindings, all of them seem to have these complications)

Thank you for taking the time to look at the suggested changes :)

@bilelmoussaoui
Copy link
Member

I don't think there are bindings that works out of the box for all the possible types, you will always have to add overrides. There are libraries that requires more changes than others, but maybe Pango wasn't a great suggestion after all...

@pentamassiv
Copy link
Contributor Author

Do you have a suggestion how we can proceed with this? Should I just add "TODOs" to the text, where more explanations about the overrides are needed or can somebody help with finishing it for pango? I believe this draft contains all the information of the current tutorial while being more clear & simple and fixing some outdated things. Merging it soonish would be beneficial for new users

@bilelmoussaoui
Copy link
Member

Do you have a suggestion how we can proceed with this? Should I just add "TODOs" to the text, where more explanations about the overrides are needed or can somebody help with finishing it for pango? I believe this draft contains all the information of the current tutorial while being more clear & simple and fixing some outdated things. Merging it soonish would be beneficial for new users

If you have specific questions I would be more than happy to answer them

@pentamassiv
Copy link
Contributor Author

I created a pull request that is not a draft here #1379

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants