Instead of looking for a tutorial that matches your exact requirements, you can gain a lot more by solving this yourself.
1. When pressing the jump button, do not jump to the maximum height immediately. Instead, you have to hold the jump button to jump higher(and respect a limit). This feature would allow short-jumps and give you more control over your character.
How do you think this could be achieved? If you know the maximum jump height and specify a jump speed, you can increment the characters height by the speed until they've reached the height limit - whilst the jump button is pressed. And when the jump button is released, the player falls. Once you've done this, you could improve the "feel" of the jump, by changing the characters jump height to increase by smaller and smaller amounts over time - rather than a constant speed. This will create a slightly floaty/hovery jump depending on the curve/falloff.
2. Activate gravity if you walked down from a cliff for example(i e, you are in the air without have jumped).
(Detecting whether or not I am in air is not a problem, but where to put the code is).
So you know the solution to the problem, but don't know where to put the code? You could place this code just after the input if you'd like.
(Though I'd suggest you place the physics code in the same area)
3. After you released your jump button, you can not jump again until you hit the ground.
You know when the jump button has been released, so you'll need to know when you've hit the ground. If you're using tiles/grid, check the tile below you is a floor/ground tile. If you're touching this tile, you've hit the ground. Reset the jump ability here.
None of these are not really hard to implement, but combining all these function is hard.
At this stage, solve the problems one at a time.
Additionally, I'd like to add that it took a long time for them to get the movement mechanics right, with lots of tweaking. You would probably benefit from making a simpler jump system first, and then improving that once it's complete.
I will show it tomorrow, but until then, I hope to get some ideas.
Looking forward to it