Massively expand Trick Glossary (tricks + terminology + hardware)

Grew the glossary from ~80 to ~150 entries across 15 categories.

- Added many more tricks per the community list: impossible, gazelle
  flip, pressure/hospital/dolphin flips, bigger spin/flip, suski/willy/
  losi/hurricane grinds, japan/madonna/slob/seatbelt/roastbeef/benihana/
  lien/cannonball/christ grabs, 720/1080, casper/anti-casper, spacewalk,
  walk the dog, g-turn, and more — with inventor credits and aka names.
- New reference categories: "Transition & Vert Terms", "Stance &
  Movement", and "Hardware & Equipment" (deck, trucks, bushings,
  bearings, risers, wheel bite, etc.).
- Reference categories hide difficulty badges (added `reference` flag +
  `hideLevel` on TrickRow); search still spans everything.
- Updated hero copy + SEO description to reflect the broader scope.

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
This commit is contained in:
shakespeare.diy 2026-07-29 22:54:40 +07:00
parent b3cda77224
commit 309d012db1
2 changed files with 200 additions and 61 deletions

View file

@ -1,8 +1,9 @@
/**
* Skateboarding trick glossary.
* Skateboarding trick & terminology glossary.
* ─────────────────────────────────────────────────────────────────────────────
* A curated, categorized reference of skate tricks with descriptions and their
* common alternate names (tricks pick up regional / era-specific nicknames).
* A curated, categorized reference of skate tricks, transitions, freestyle,
* stance/movement terms, and hardware — with common alternate names (tricks and
* gear pick up regional / era-specific nicknames).
*
* Static content — no network, no Nostr. Purely a learning reference for the
* community. Keep entries concise and skater-accurate.
@ -11,11 +12,11 @@
export interface Trick {
/** Canonical name. */
name: string;
/** Other names the same trick is known by. */
/** Other names the same trick / term is known by. */
aka?: string[];
/** Short, skater-accurate description. */
desc: string;
/** Difficulty hint for filtering. */
/** Difficulty hint (tricks only — omit for hardware / terminology). */
level?: 'beginner' | 'intermediate' | 'advanced';
}
@ -27,6 +28,8 @@ export interface TrickCategory {
blurb: string;
/** Emoji used as a lightweight category glyph. */
glyph: string;
/** Reference categories (hardware, terminology) hide difficulty badges. */
reference?: boolean;
tricks: Trick[];
}
@ -37,31 +40,42 @@ export const GLOSSARY: TrickCategory[] = [
blurb: 'The building blocks every trick is stacked on.',
glyph: '🛹',
tricks: [
{ name: 'Ollie', desc: 'The foundational jump — pop the tail, slide the front foot, and lift the board with no hands.', level: 'beginner' },
{ name: 'Ollie', desc: 'The foundational jump — pop the tail, slide the front foot, and lift the board with no hands. The basis for almost every street trick.', level: 'beginner' },
{ name: 'Nollie', aka: ['Nose Ollie'], desc: 'An ollie popped off the nose instead of the tail, riding forward.', level: 'intermediate' },
{ name: 'Fakie Ollie', desc: 'An ollie performed while rolling backwards (fakie stance).', level: 'beginner' },
{ name: 'Switch Ollie', desc: 'An ollie done in your non-natural (switch) stance.', level: 'intermediate' },
{ name: 'Pop Shove-it', aka: ['Pop Shuv', 'Shove-it'], desc: 'Spin the board 180° under your feet without flipping it, with pop.', level: 'beginner' },
{ name: 'Manual', aka: ['Wheelie'], desc: 'Balance rolling on the back two wheels; nose manual uses the front two.', level: 'beginner' },
{ name: 'Fakie Ollie', desc: 'An ollie performed while rolling backwards in your normal stance.', level: 'beginner' },
{ name: 'Switch Ollie', desc: 'An ollie done in your opposite (switch) stance.', level: 'intermediate' },
{ name: 'Manual', aka: ['Wheelie'], desc: 'Balance rolling on the back two wheels; a nose manual uses the front two.', level: 'beginner' },
{ name: 'Powerslide', desc: 'Turn the board perpendicular and slide the wheels to scrub speed.', level: 'beginner' },
{ name: 'Boardslide', desc: 'Slide along an obstacle with the board perpendicular, deck contacting the edge.', level: 'intermediate' },
{ name: 'Kickturn', desc: 'Pivot 180° on the back wheels, stationary or moving — the first turn every skater learns.', level: 'beginner' },
{ name: 'Wallie', desc: 'An ollie off a wall or vertical surface, riding away.', level: 'intermediate' },
{ name: 'Boneless', desc: 'Grab the board, plant the front foot on the ground, and jump back on. Popularized in the ’80s.', level: 'intermediate' },
{ name: 'No Comply', aka: ['No-Comply'], desc: 'Front foot steps off, back foot pops the tail so the board hops/spins, then reload. Popularized by Ray Barbee.', level: 'intermediate' },
{ name: 'Hippie Jump', desc: 'Jump straight up while the board rolls under an obstacle, landing back on it.', level: 'beginner' },
{ name: 'Acid Drop', desc: 'Drop into a ramp or off a ledge from the coping without pumping — just step on and go.', level: 'intermediate' },
{ name: 'Bomb Drop', desc: 'Jump from a height and land directly onto the rolling board.', level: 'advanced' },
],
},
{
id: 'flips',
title: 'Flip Tricks',
blurb: 'Tricks where the board rotates around one or more axes.',
blurb: 'Tricks where the board rotates around its long axis (and then some).',
glyph: '🌀',
tricks: [
{ name: 'Kickflip', aka: ['Magic Flip (original name)'], desc: 'Flick the board so it flips one full rotation along its length toward the heel side of the toes.', level: 'intermediate' },
{ name: 'Kickflip', aka: ['Magic Flip (original name)'], desc: 'Ollie with a flick off the toe side so the board spins one full rotation along its length.', level: 'intermediate' },
{ name: 'Heelflip', desc: 'Like a kickflip but flicked off the heel, flipping the opposite direction.', level: 'intermediate' },
{ name: 'Varial Kickflip', desc: 'A kickflip combined with a backside pop shove-it.', level: 'intermediate' },
{ name: 'Varial Heelflip', desc: 'A heelflip combined with a frontside pop shove-it.', level: 'intermediate' },
{ name: '360 Flip', aka: ['Tre Flip', '360 Kickflip', 'Three-Sixty Flip'], desc: 'A kickflip combined with a 360° backside pop shove-it — a signature street trick.', level: 'advanced' },
{ name: 'Hardflip', desc: 'A frontside pop shove-it combined with a kickflip; the board rotates vertically through the legs.', level: 'advanced' },
{ name: '360 Flip', aka: ['Tre Flip', '360 Kickflip', 'Three Flip'], desc: 'A kickflip combined with a 360° backside pop shove-it — a signature street trick.', level: 'advanced' },
{ name: 'Hardflip', desc: 'A frontside pop shove-it combined with a kickflip; the board rotates vertically between the legs.', level: 'advanced' },
{ name: 'Inward Heelflip', desc: 'A backside pop shove-it combined with a heelflip.', level: 'advanced' },
{ name: 'Laser Flip', desc: 'A frontside 360 pop shove-it combined with a heelflip — the mirror of a tre flip.', level: 'advanced' },
{ name: 'Double Kickflip', desc: 'A kickflip that rotates twice before you catch it.', level: 'advanced' },
{ name: 'Triple Kickflip', desc: 'Three full kickflip rotations before landing.', level: 'advanced' },
{ name: 'Impossible', desc: 'The board wraps vertically around the back foot in a scooping motion. Invented by Rodney Mullen.', level: 'advanced' },
{ name: 'Pressure Flip', desc: 'Flip powered by back-foot pressure on the heel side of the tail, usually with a shove-it.', level: 'advanced' },
{ name: 'Hospital Flip', aka: ['Half Flip'], desc: 'A half kickflip caught with the front foot, then flipped back over before landing.', level: 'advanced' },
{ name: 'Dolphin Flip', aka: ['Forward Flip'], desc: 'A pressure-flip variant where the board flips forward in a vertical arc.', level: 'advanced' },
{ name: 'Gazelle Flip', desc: 'A 360 flip combined with a 360° body rotation — a huge, flowing trick.', level: 'advanced' },
],
},
{
@ -70,13 +84,17 @@ export const GLOSSARY: TrickCategory[] = [
blurb: 'Board and body rotations without a flip.',
glyph: '🔄',
tricks: [
{ name: 'Shove-it', aka: ['Shuvit'], desc: 'Scoop the board 180° flat under your feet without popping.', level: 'beginner' },
{ name: 'Frontside Shove-it', desc: 'A shove-it where the board spins frontside (toward your toes).', level: 'beginner' },
{ name: '360 Shove-it', aka: ['360 Shuv'], desc: 'A shove-it that spins the board a full 360°.', level: 'intermediate' },
{ name: 'Pop Shove-it', aka: ['Pop Shuv', 'Shuvit'], desc: 'Ollie with the board spinning 180° flat under your feet.', level: 'beginner' },
{ name: 'Frontside Shove-it', desc: 'A shove-it where the board spins frontside (toward your heels).', level: 'beginner' },
{ name: 'Backside Shove-it', desc: 'A shove-it where the board spins backside (toward your toes).', level: 'beginner' },
{ name: '360 Shove-it', aka: ['360 Shuv'], desc: 'A shove-it that spins the board a full 360° flat.', level: 'intermediate' },
{ name: '540 Shove-it', desc: 'A shove-it spinning the board one-and-a-half rotations (540°).', level: 'advanced' },
{ name: 'Frontside 180', aka: ['FS 180'], desc: 'An ollie with a 180° body-and-board rotation frontside.', level: 'intermediate' },
{ name: 'Backside 180', aka: ['BS 180'], desc: 'An ollie with a 180° body-and-board rotation backside.', level: 'intermediate' },
{ name: 'Bigspin', desc: 'A 360° board shove-it combined with a 180° body rotation, same direction.', level: 'advanced' },
{ name: 'Bigspin', desc: 'A 360° board shove-it combined with a 180° body varial, same direction.', level: 'advanced' },
{ name: 'Bigger Spin', desc: 'A 540° board spin with a 180° body varial.', level: 'advanced' },
{ name: 'Bigflip', desc: 'A bigspin with a kickflip added.', level: 'advanced' },
{ name: 'Bigger Flip', desc: 'A bigger spin (540°) with a kickflip.', level: 'advanced' },
],
},
{
@ -88,11 +106,15 @@ export const GLOSSARY: TrickCategory[] = [
{ name: '50-50', aka: ['Fifty-Fifty'], desc: 'Grind on both trucks equally along a rail or ledge.', level: 'intermediate' },
{ name: '5-0', aka: ['Five-O'], desc: 'Grind on the back truck only, nose up (like a manual on an edge).', level: 'intermediate' },
{ name: 'Nosegrind', desc: 'Grind on the front truck only, tail up.', level: 'intermediate' },
{ name: 'Crooked Grind', aka: ['K-Grind', 'Crooks'], desc: 'A nosegrind angled so the nose also slides on the edge.', level: 'advanced' },
{ name: 'Smith Grind', desc: 'Back truck grinds while the front dips below the edge, nose pointed down.', level: 'advanced' },
{ name: 'Feeble Grind', desc: 'Back truck grinds with the front truck hanging over the far side, nose down.', level: 'advanced' },
{ name: 'Overcrook', aka: ['Overcrooked'], desc: 'A crooked grind on the far side of the rail with the nose overhanging.', level: 'advanced' },
{ name: 'Salad Grind', desc: 'A 5-0 variation with the back truck grinding and rear wheels on the far side.', level: 'advanced' },
{ name: 'Crooked Grind', aka: ['K-Grind', 'Crooks'], desc: 'A nosegrind with the tail kicked out to one side — part nose manual, part slide.', level: 'advanced' },
{ name: 'Smith Grind', desc: 'Back truck grinds on top with the front dipping below the edge, nose pointed down.', level: 'advanced' },
{ name: 'Feeble Grind', desc: 'Back truck on top with the front truck hanging over the far side, nose down.', level: 'advanced' },
{ name: 'Salad Grind', desc: 'The frontside version of a feeble grind.', level: 'advanced' },
{ name: 'Suski Grind', desc: 'A backside 5-0 with the front truck hanging over the opposite side.', level: 'advanced' },
{ name: 'Willy Grind', desc: 'A frontside 5-0 with the front truck hanging over the edge.', level: 'advanced' },
{ name: 'Overcrook', aka: ['Overcrooked'], desc: 'A frontside crooked grind, nose overhanging the far side of the rail.', level: 'advanced' },
{ name: 'Losi Grind', desc: 'A frontside nosegrind with the tail hanging over the edge.', level: 'advanced' },
{ name: 'Hurricane', desc: 'Frontside 180 into a backwards feeble/smith grind, then 180 out.', level: 'advanced' },
],
},
{
@ -102,11 +124,14 @@ export const GLOSSARY: TrickCategory[] = [
glyph: '➖',
tricks: [
{ name: 'Boardslide', desc: 'Slide with the middle of the deck perpendicular across the edge.', level: 'intermediate' },
{ name: 'Lipslide', desc: 'Like a boardslide but the back of the board clears the obstacle first.', level: 'advanced' },
{ name: 'Lipslide', desc: 'Like a boardslide but the tail swings over the obstacle first to get into it.', level: 'advanced' },
{ name: 'Noseslide', desc: 'Slide on the nose of the board along a ledge.', level: 'intermediate' },
{ name: 'Tailslide', desc: 'Slide on the tail of the board along a ledge.', level: 'advanced' },
{ name: 'Bluntslide', desc: 'Slide with the back wheels up on the ledge and tail on the surface.', level: 'advanced' },
{ name: 'Darkslide', desc: 'Slide upside-down on the grip tape — an advanced flip-in slide.', level: 'advanced' },
{ name: 'Bluntslide', desc: 'Back wheels up on the ledge with the tail on top, sliding on the tail’s edge.', level: 'advanced' },
{ name: 'Nosebluntslide', aka: ['Noseblunt'], desc: 'The nose-end blunt slide, front wheels up on the ledge, perpendicular.', level: 'advanced' },
{ name: 'Darkslide', desc: 'Slide upside-down on the grip tape — a Rodney Mullen invention.', level: 'advanced' },
{ name: 'Primo Slide', desc: 'Board on its side, sliding on the edge (like a moving rail stand).', level: 'advanced' },
{ name: 'Casper Slide', desc: 'Board upside down, one foot on the tail and one under the board, sliding.', level: 'advanced' },
],
},
{
@ -115,28 +140,41 @@ export const GLOSSARY: TrickCategory[] = [
blurb: 'Airborne tricks where a hand grabs the board.',
glyph: '✋',
tricks: [
{ name: 'Indy', aka: ['Indy Grab'], desc: 'Trailing hand grabs the toe edge between the feet.', level: 'intermediate' },
{ name: 'Melon', aka: ['Melancholie'], desc: 'Leading hand grabs the heel edge between the feet.', level: 'intermediate' },
{ name: 'Indy', aka: ['Indy Grab'], desc: 'Trailing (back) hand grabs the toe edge between the feet.', level: 'intermediate' },
{ name: 'Melon', aka: ['Melancholie'], desc: 'Leading (front) hand grabs the heel edge between the feet.', level: 'intermediate' },
{ name: 'Mute', aka: ['Mute Grab'], desc: 'Leading hand grabs the toe edge; named after deaf skater Chris Weddle.', level: 'intermediate' },
{ name: 'Stalefish', desc: 'Trailing hand grabs the heel edge behind the back leg.', level: 'advanced' },
{ name: 'Method', aka: ['Method Air'], desc: 'A melon grab with the board pulled up behind the back and legs kicked out — the classic stylish air.', level: 'advanced' },
{ name: 'Japan Air', desc: 'A melon grab pulled up behind the back, tweaking the board up and forward.', level: 'advanced' },
{ name: 'Madonna', desc: 'Front hand grabs the heel side near the nose with the back leg kicked straight down.', level: 'advanced' },
{ name: 'Slob Air', desc: 'Front hand grabs the toe side, usually with a frontside rotation.', level: 'advanced' },
{ name: 'Nosegrab', desc: 'Grab the nose of the board in the air.', level: 'intermediate' },
{ name: 'Tailgrab', desc: 'Grab the tail of the board in the air.', level: 'intermediate' },
{ name: 'Stalefish', desc: 'Trailing hand grabs the heel edge behind the back leg.', level: 'advanced' },
{ name: 'Method', aka: ['Method Air'], desc: 'Heel-edge grab with the board pulled up behind you — a stylish, arched air.', level: 'advanced' },
{ name: 'Seatbelt', aka: ['Seatbelt Grab'], desc: 'Front hand reaches across the body to grab the tail.', level: 'advanced' },
{ name: 'Roastbeef', aka: ['Roastbeef Grab'], desc: 'Back hand reaches through the legs to grab the heel side.', level: 'advanced' },
{ name: 'Benihana', desc: 'A tail grab with the back foot kicked off the board mid-air.', level: 'advanced' },
{ name: 'Crossbone', desc: 'A melon grab with the front leg boned out to the side.', level: 'advanced' },
{ name: 'Nosebone', desc: 'A nose grab with the front leg boned out straight.', level: 'advanced' },
{ name: 'Lien Air', desc: 'Front hand grabs the heel side while doing a frontside air (Neil Blender backwards).', level: 'advanced' },
{ name: 'Judo Air', desc: 'Front hand grabs the nose while the front leg kicks out forward.', level: 'advanced' },
{ name: 'Cannonball', desc: 'Both hands grab nose and tail with the knees tucked.', level: 'advanced' },
{ name: 'Christ Air', desc: 'Arms out like a crucifix with no grab — pure ’80s vert flair.', level: 'advanced' },
],
},
{
id: 'airs',
title: 'Airs (Vert / Transition)',
blurb: 'Big air tricks off ramps, bowls, and quarterpipes.',
title: 'Airs & Spins (Vert)',
blurb: 'Big air and rotation tricks off ramps, bowls, and quarterpipes.',
glyph: '🚀',
tricks: [
{ name: 'Air', aka: ['Aerial'], desc: 'Any launch off a transition with the board leaving the coping.', level: 'intermediate' },
{ name: 'Backside Air', desc: 'An air rotating backside out of the transition, usually grabbed.', level: 'advanced' },
{ name: 'Frontside Air', desc: 'An air rotating frontside out of the transition.', level: 'advanced' },
{ name: '540', aka: ['Five-Forty', 'McTwist (with flip)'], desc: 'A one-and-a-half rotation air; the McTwist adds a frontside flip.', level: 'advanced' },
{ name: 'Backside Air', desc: 'Any aerial rotating backside (facing away from the ramp on approach), usually grabbed.', level: 'advanced' },
{ name: 'Frontside Air', desc: 'Any aerial rotating frontside (facing the ramp on approach).', level: 'advanced' },
{ name: 'Alley-Oop', desc: 'Spinning opposite the direction you’re traveling out of the transition.', level: 'advanced' },
{ name: '540', aka: ['Five-Forty'], desc: 'One-and-a-half rotations in the air.', level: 'advanced' },
{ name: 'McTwist', desc: 'A 540° backside spin with a mute grab, invented by Mike McGill.', level: 'advanced' },
{ name: '720', desc: 'Two full rotations in the air.', level: 'advanced' },
{ name: '900', desc: 'Two-and-a-half rotations — famously landed by Tony Hawk in 1999.', level: 'advanced' },
{ name: 'Judo Air', desc: 'A grab air with the front foot kicked off and out to the side.', level: 'advanced' },
{ name: '1080', aka: ['Ten Eighty'], desc: 'Three full rotations — first landed by Tom Schaar in 2012.', level: 'advanced' },
],
},
{
@ -145,13 +183,14 @@ export const GLOSSARY: TrickCategory[] = [
blurb: 'Tricks performed on the coping / lip of a ramp or bowl.',
glyph: '👄',
tricks: [
{ name: 'Rock to Fakie', aka: ['Rock n Roll to Fakie'], desc: 'Ride up, rock the board over the coping, then roll back in fakie.', level: 'intermediate' },
{ name: 'Rock n Roll', desc: 'Rock over the coping then pivot 180° to roll back in forward.', level: 'intermediate' },
{ name: 'Rock to Fakie', desc: 'Ride up, rock the front truck over the coping, tap, then roll back in fakie.', level: 'intermediate' },
{ name: 'Rock n Roll', desc: 'Rock the board over the coping then kickturn 180° to roll back in forward.', level: 'intermediate' },
{ name: 'Axle Stall', aka: ['50-50 Stall'], desc: 'Stall on both trucks on the coping, then drop back in.', level: 'intermediate' },
{ name: 'Feeble Stall', desc: 'A feeble grind held as a stall on the coping.', level: 'advanced' },
{ name: 'Blunt to Fakie', desc: 'Stall in a blunt position on the coping then come back in fakie.', level: 'advanced' },
{ name: 'Disaster', desc: 'Ollie over the coping so the middle of the board rests on the lip.', level: 'advanced' },
{ name: 'Smith Stall', desc: 'A smith grind held as a stall on the coping before dropping back in.', level: 'advanced' },
{ name: 'Blunt to Fakie', desc: 'Stall in a blunt position on the coping then come back in fakie.', level: 'advanced' },
{ name: 'Disaster', desc: 'Ollie over the coping so the middle of the board rests on the lip, leaning forward.', level: 'advanced' },
{ name: 'Slash Grind', desc: 'A quick grind across the coping while carving through a turn.', level: 'advanced' },
],
},
{
@ -163,7 +202,8 @@ export const GLOSSARY: TrickCategory[] = [
{ name: 'Nose Stall', desc: 'Balance stalled on the nose against a ledge or coping.', level: 'intermediate' },
{ name: 'Tail Stall', desc: 'Balance stalled on the tail on the coping.', level: 'intermediate' },
{ name: 'Pivot Stall', desc: 'Stall balanced on the back truck and pivot to re-enter.', level: 'advanced' },
{ name: 'Nose Pickup', aka: ['Nose Stall Pickup'], desc: 'Stall on the nose then pick the board back up to roll away.', level: 'advanced' },
{ name: 'Nosepick', desc: 'Stall on the nose/front truck with the tail hanging in the air, often on a quarterpipe.', level: 'advanced' },
{ name: 'Tailblock', desc: 'A handplant-style stall balanced on the tail against the coping.', level: 'advanced' },
],
},
{
@ -173,10 +213,15 @@ export const GLOSSARY: TrickCategory[] = [
glyph: '🤸',
tricks: [
{ name: 'Invert', aka: ['Handplant', 'One-Hand Plant'], desc: 'Plant one hand on the coping and balance inverted with the board grabbed.', level: 'advanced' },
{ name: 'Andrecht', desc: 'A backside invert grabbing heel-side with the plant hand behind.', level: 'advanced' },
{ name: 'Eggplant', desc: 'A frontside invert planting the leading hand.', level: 'advanced' },
{ name: 'Sad Plant', desc: 'A handplant variation with a straightened, "sad" board position.', level: 'advanced' },
{ name: 'Eggplant', desc: 'A frontside invert grabbing toe-side with the board pulled behind the back.', level: 'advanced' },
{ name: 'Andrecht', desc: 'A backside invert with a 540° spin out; invented by Dave Andrecht.', level: 'advanced' },
{ name: 'Sad Plant', desc: 'A handplant with the front leg boned straight and the back leg tucked.', level: 'advanced' },
{ name: 'Gymnast Plant', desc: 'An invert with both hands on the coping and legs split.', level: 'advanced' },
{ name: 'Ho-Ho', aka: ['Two-Hand Plant'], desc: 'A handstand-style invert balanced on both hands.', level: 'advanced' },
{ name: 'Beanplant', aka: ['Bean Plant'], desc: 'A frontside handplant with the back hand grabbing the nose; invented by Kevin Staab.', level: 'advanced' },
{ name: 'Fastplant', desc: 'A one-footed takeoff using a hand on the platform to launch.', level: 'advanced' },
{ name: 'Layback Air', desc: 'One hand on the deck behind you, leaning into the transition, then launching into an air.', level: 'advanced' },
{ name: 'Miller Flip', desc: 'A frontside handplant flipping over onto your back on the deck; invented by Darrell Miller.', level: 'advanced' },
],
},
{
@ -186,28 +231,114 @@ export const GLOSSARY: TrickCategory[] = [
glyph: '🦴',
tricks: [
{ name: 'Boneless', desc: 'Grab the board, plant the front foot on the ground, and jump back on.', level: 'intermediate' },
{ name: 'Bean Plant', desc: 'A boneless planting the back foot and grabbing with the leading hand.', level: 'intermediate' },
{ name: 'No Comply', desc: 'Step the front foot off, pop the tail so the board spins/hops, then reload.', level: 'intermediate' },
{ name: 'Bean Plant', desc: 'A boneless variation planting the back foot and grabbing with the leading hand.', level: 'intermediate' },
{ name: 'Nose Bonk', desc: 'Tap the nose off an obstacle mid-line for style.', level: 'beginner' },
],
},
{
id: 'freestyle',
title: 'Freestyle',
blurb: 'Flatground balance and pivot tricks from skate’s roots.',
title: 'Freestyle & Flatground',
blurb: 'Balance and pivot tricks from skate’s freestyle roots.',
glyph: '🎪',
tricks: [
{ name: 'Casper', aka: ['Casper Slide'], desc: 'Flip the board upside-down and balance on the tail with one foot under the deck.', level: 'advanced' },
{ name: 'Primo', aka: ['Primo Slide'], desc: 'Balance the board on its side (rail) and stand on it.', level: 'advanced' },
{ name: 'Rail Stand', aka: ['Primo Stand'], desc: 'Stand on the upturned rail of the board — classic freestyle balance.', level: 'advanced' },
{ name: 'Truckstand', desc: 'Balance on one truck with the board tilted vertically.', level: 'advanced' },
{ name: 'Pogo', desc: 'Hop on the tail with the board vertical, holding the nose.', level: 'advanced' },
{ name: 'Casper', aka: ['Casper Stand'], desc: 'Board upside down, front foot under the board, back foot on the tail.', level: 'advanced' },
{ name: 'Casper Flip', desc: 'Flipping the board from a casper position back to wheels-down.', level: 'advanced' },
{ name: 'Anti-Casper', desc: 'Board upside down with the back foot under and front foot on the nose.', level: 'advanced' },
{ name: 'Primo', aka: ['Rail Stand', 'Primo Stand'], desc: 'Board balanced on its side (rail); stand on the edge.', level: 'advanced' },
{ name: 'Rail Flip', desc: 'Flip the board from a rail stand back to normal.', level: 'advanced' },
{ name: 'Pogo', desc: 'Balance on the tail with the board vertical, holding the nose, and bounce.', level: 'advanced' },
{ name: 'Truckstand', aka: ['Truck Stand'], desc: 'Handstand-style balance on one truck with the board vertical.', level: 'advanced' },
{ name: 'Handstand', aka: ['Handstand Fingerflip'], desc: 'A handstand on the board, often flipped out — a freestyle staple.', level: 'advanced' },
{ name: 'Fingerflip', desc: 'Flip the board with your hand while your feet are off it.', level: 'advanced' },
{ name: 'Old School Kickflip', aka: ['Toe Flip'], desc: 'Flip the board outward off the toe side with the front foot — the pre-ollie kickflip.', level: 'advanced' },
{ name: 'Walk the Dog', desc: 'Step foot-over-foot on nose and tail to swivel the board forward.', level: 'advanced' },
{ name: 'Spacewalk', desc: 'A nose-up manual walked along by shifting weight side to side.', level: 'advanced' },
{ name: 'Daffy', desc: 'One foot on the nose of one board, one on the tail of another (or flexed mid-deck).', level: 'advanced' },
{ name: 'G-Turn', desc: 'A 360° spin held in a manual using small kickturns.', level: 'advanced' },
],
},
{
id: 'transition',
title: 'Transition & Vert Terms',
blurb: 'Ramps, bowls, coping — the language of transition skating.',
glyph: '🌊',
reference: true,
tricks: [
{ name: 'Drop In', desc: 'Start a run by setting the tail on the coping and leaning forward down the transition.' },
{ name: 'Carve', desc: 'Turn by leaning into the transition, holding an arc.' },
{ name: 'Pumping', desc: 'Generate speed by compressing and extending through the transitions instead of pushing.' },
{ name: 'Transfer', desc: 'Move from one ramp or bowl section to another, often over a channel or spine.' },
{ name: 'Spine Transfer', desc: 'Transfer over the spine — the shared coping of two back-to-back ramps.' },
{ name: 'Channel Gap', desc: 'Jump the flat gap (channel) cut into the platform between two quarterpipes.' },
{ name: 'Roll In', desc: 'A sloped platform that lets you roll into a ramp without dropping in.' },
{ name: 'Coping', desc: 'The metal pipe on the edge of ramps and pools that you grind and stall on.' },
{ name: 'Transition', aka: ['Tranny'], desc: 'The curved part of a ramp between the flat bottom and the vertical.' },
{ name: 'Vert', desc: 'The vertical section at the top of a big ramp.' },
{ name: 'Halfpipe', desc: 'Two quarterpipes facing each other with a flat bottom between.' },
{ name: 'Quarterpipe', desc: 'A single ramp with a 90° transition.' },
{ name: 'Mini Ramp', desc: 'A smaller halfpipe, usually 3–5 ft, with no vertical section.' },
{ name: 'Bowl', aka: ['Pool'], desc: 'A concave concrete structure with rounded corners and coping.' },
{ name: 'Snake Run', desc: 'A winding concrete course of banks and transitions.' },
{ name: 'Extension', desc: 'A section of a ramp wall built higher than the rest.' },
],
},
{
id: 'stance',
title: 'Stance & Movement',
blurb: 'How you stand, roll, and move on the board.',
glyph: '🧭',
reference: true,
tricks: [
{ name: 'Regular', desc: 'Riding with the left foot forward.' },
{ name: 'Goofy', desc: 'Riding with the right foot forward.' },
{ name: 'Switch', aka: ['Switchstance'], desc: 'Riding in your opposite (unnatural) stance.' },
{ name: 'Fakie', desc: 'Rolling backwards in your normal stance (tail leading).' },
{ name: 'Nollie', desc: 'Riding forward but popping tricks off the nose.' },
{ name: 'Mongo', aka: ['Mongo-foot'], desc: 'Pushing with the front foot instead of the back — generally frowned upon stylistically.' },
{ name: 'Tick-Tack', desc: 'Small back-and-forth kickturns to gain momentum without pushing.' },
{ name: 'Pushing', desc: 'Propelling yourself with one foot on the ground.' },
{ name: 'Bail', desc: 'Intentionally jumping off to avoid a bad landing.' },
{ name: 'Slam', desc: 'Falling hard, usually unexpectedly.' },
{ name: 'Sketchy', desc: 'A trick landed shakily or barely held together.' },
{ name: 'Bolts', aka: ['Landed Bolts'], desc: 'Landing perfectly with both feet over the truck bolts.' },
{ name: 'Steez', desc: 'Style + ease — doing tricks with effortless flair.' },
],
},
{
id: 'hardware',
title: 'Hardware & Equipment',
blurb: 'The anatomy of a skateboard, from deck to bearings.',
glyph: '🔩',
reference: true,
tricks: [
{ name: 'Deck', desc: 'The wooden board itself, usually 7-ply maple.' },
{ name: 'Grip Tape', aka: ['Griptape'], desc: 'Sandpaper-like adhesive sheet on top of the deck for traction.' },
{ name: 'Trucks', desc: 'The T-shaped metal axles that attach the wheels to the deck and let you turn.' },
{ name: 'Baseplate', desc: 'The flat part of the truck that bolts to the deck.' },
{ name: 'Hanger', desc: 'The main body of the truck that holds the axle — what you grind on.' },
{ name: 'Kingpin', desc: 'The big bolt holding the truck together; sets how loose or tight it turns.' },
{ name: 'Bushings', desc: 'The urethane cushions in the truck that allow and control turning.' },
{ name: 'Pivot Cup', desc: 'The plastic cup in the baseplate where the hanger pivots.' },
{ name: 'Wheels', desc: 'Urethane wheels, measured in millimeters (typically 50–60mm) and durometer (hardness).' },
{ name: 'Bearings', desc: 'The metal rings inside the wheels that let them spin (often ABEC-rated).' },
{ name: 'Spacers', desc: 'Small metal cylinders between bearings to reduce friction and side load.' },
{ name: 'Speed Rings', aka: ['Washers'], desc: 'Small washers on the axle that reduce friction against the bearings.' },
{ name: 'Risers', aka: ['Riser Pads', 'Shock Pads'], desc: 'Pads between the deck and trucks to raise ride height and prevent wheel bite.' },
{ name: 'Hardware', aka: ['Mounting Bolts'], desc: 'The nuts and bolts that attach the trucks to the deck.' },
{ name: 'Nose', desc: 'The front of the deck — usually steeper and slightly wider than the tail.' },
{ name: 'Tail', desc: 'The back of the deck, used for popping tricks.' },
{ name: 'Concave', desc: 'The curved shape across the width of the deck that helps board control.' },
{ name: 'Kicktail', aka: ['Kick'], desc: 'The upturned nose and tail of the deck.' },
{ name: 'Wheelbase', desc: 'The distance between the two sets of truck mounting holes.' },
{ name: 'Wheel Bite', desc: 'When a wheel touches the deck during a turn, causing a sudden stop.' },
{ name: 'Razor Tail', desc: 'A tail worn to a sharp edge from dragging on the ground.' },
{ name: 'Pressure Crack', desc: 'A stress crack in the deck near the truck mounting holes.' },
],
},
];
/** Total trick count across all categories (for headers/stats). */
/** Total entry count across all categories (for headers/stats). */
export const TOTAL_TRICKS = GLOSSARY.reduce((sum, c) => sum + c.tricks.length, 0);
/** Flat, searchable list joining name + aka + description + category. */
@ -215,6 +346,7 @@ export interface FlatTrick extends Trick {
categoryId: string;
categoryTitle: string;
categoryGlyph: string;
categoryReference?: boolean;
}
export const ALL_TRICKS: FlatTrick[] = GLOSSARY.flatMap((cat) =>
@ -223,6 +355,7 @@ export const ALL_TRICKS: FlatTrick[] = GLOSSARY.flatMap((cat) =>
categoryId: cat.id,
categoryTitle: cat.title,
categoryGlyph: cat.glyph,
categoryReference: cat.reference,
})),
);

View file

@ -18,12 +18,18 @@ const LEVEL_STYLES: Record<string, string> = {
advanced: 'bg-red-500/15 text-red-400 border-red-500/30',
};
function TrickRow({ trick }: { trick: { name: string; aka?: string[]; desc: string; level?: string } }) {
function TrickRow({
trick,
hideLevel,
}: {
trick: { name: string; aka?: string[]; desc: string; level?: string };
hideLevel?: boolean;
}) {
return (
<div className="rounded-xl border border-white/8 bg-white/[0.02] p-4 transition-colors hover:border-red-500/25 hover:bg-white/[0.04]">
<div className="flex items-start justify-between gap-3">
<h3 className="text-base font-black text-white tracking-tight">{trick.name}</h3>
{trick.level && (
{!hideLevel && trick.level && (
<Badge
variant="outline"
className={cn('shrink-0 text-[10px] font-bold uppercase tracking-wider', LEVEL_STYLES[trick.level])}
@ -49,7 +55,7 @@ export default function GlossaryPage() {
useSeoMeta({
title: 'Trick Glossary · SkateSpots',
description: `The complete skateboarding trick glossary — ${TOTAL_TRICKS}+ flips, grinds, slides, grabs, airs, lip tricks, stalls, handplants, freestyle & more, with alternate names.`,
description: `The complete skateboarding glossary — ${TOTAL_TRICKS} entries covering flips, grinds, slides, grabs, airs, lip tricks, handplants, freestyle, transition terms, stance & hardware, with alternate names.`,
});
const isSearching = query.trim().length > 0;
@ -81,7 +87,7 @@ export default function GlossaryPage() {
TRICK GLOSSARY
</h1>
<p className="text-sm text-gray-400">
{TOTAL_TRICKS} tricks · flips, grinds, slides, grabs, airs, lip &amp; more
{TOTAL_TRICKS} entries · tricks, transition, freestyle, stance &amp; hardware
</p>
</div>
</div>
@ -161,7 +167,7 @@ export default function GlossaryPage() {
<p className="mb-1 text-[10px] font-bold uppercase tracking-widest text-gray-600">
{t.categoryGlyph} {t.categoryTitle}
</p>
<TrickRow trick={t} />
<TrickRow trick={t} hideLevel={t.categoryReference} />
</div>
))}
</div>
@ -182,7 +188,7 @@ export default function GlossaryPage() {
<p className="mb-5 text-sm text-gray-400">{cat.blurb}</p>
<div className="grid gap-3 md:grid-cols-2">
{cat.tricks.map((t) => (
<TrickRow key={t.name} trick={t} />
<TrickRow key={t.name} trick={t} hideLevel={cat.reference} />
))}
</div>
</section>