// This demonstrates some of the older conventions of KEL files. Various improvements have been made // on the syntax. See the Nutkin2 sample for a more modern example of a sock. pattern { directives { messageSource 'basic-sock-text' } generalInformation 'en' { name: 'Basic socks' description: 'A basic sock pattern with 2x2 ribbing' dimensions gauge 'stockinette' { stitchGauge: 8 stitchesPerInch rowGauge: 12 rowsPerInch } techniques { technique: 'knitting-in-the-round' } author { firstName: 'Jonathan' lastName: 'Whitall' } copyrightInfo } supplies { yarns { yarnType 'lornas-1' [brand:'Lorna\'s Laces',category:'Shepherd Sock',weight:'fingering','catalog-id':'33032'] { ballWeight: 50 g thickness: 12 wrapsPerInch } yarn 'main-color' [typeref:'lornas-1'] withKey { totalLength: 300 m totalWeight: 100 g color 'watercolor' [description:'',number:233] } } needles { needleType 'size1circ' circ [brand:'Addi Turbo'] { length: 24 in size: US 1 } needle 'needle1' [typeref:'size1circ'] withKey needle 'needle2' [typeref:'size1circ'] withKey } accessories } directions { instructionGroup 'start' { useNeedle silently 'needle1' co 72 'long-tail' useNeedles silently 'needle1' 'needle2' arrangeStitches 'needle1':36 'needle2':36 joinInRound } instructionGroup 'cuff' withKey { round: p to end instruction 'cuff-round' { round: repeat to end { k1, p1 } } repeat 'cuff-round' until measures 1.5 in } instructionGroup 'leg' withKey resetRowCount { instruction 'leg-pattern' { round { repeat to end { p1,k2,p1 } } round { k to end } } repeat 'leg-pattern' until desiredLength } instructionGroup 'heel-flap' withKey resetRowCount { useNeedle 'needle1' declareFlatKnitting with rightSide next instruction 'heel-flap-pattern' { row: repeat to 2 before end { k1,sl 1 }, k2 row: sl 1, p to end } repeat 'heel-flap-pattern' 17 additionalTimes } instructionGroup 'heel-turn' withKey resetRowCount { section { shortRow informSide: sl 1, k19, ssk, k1, turn stateStitchesRemaining shortRow: sl 1, p5, p2tog, p1, turn stateStitchesRemaining } section { informationalMessage 'heel-turn.explain-gap' } section { instruction 'heel-turn-repeat' { shortRow: sl 1, k to 1 before gap, ssk, k1, turn stateStitchesRemaining shortRow: sl 1, p to 1 before gap, p2tog, p1, turn stateStitchesRemaining } repeat 'heel-turn-repeat' 5 additionalTimes } section { shortRow: sl 1, k18, ssk row: sl 1, p18, p2tog inform 20 sts left row: sl 1, k9, designateEndOfRow } } instructionGroup 'work-gusset' withKey resetRowCount { useNeedles 'needle1' 'needle2' declareRoundKnitting arrangeStitches 'needle1':28 'needle2':28 round { usingNeedle 'needle1' { k10, pickUp 18 sts knitwise, placeMarker inlineInstruction 'needle1-instep-pattern' { repeat 4 times { p1, k2, p1 } p1, k1 } } usingNeedle 'needle2' { inlineInstruction 'needle2-instep-pattern' { k1, p1 repeat 4 times { p1, k2, p1 } } placeMarker, pickUp 18 sts knitwise, k10 } } instruction 'gusset-rows' { round { usingNeedle 'needle1' { k to 3 before marker, k2tog, k1 inlineInstructionRef 'needle1-instep-pattern' } usingNeedle 'needle2' { inlineInstructionRef 'needle2-instep-pattern' k1, ssk, k to end } } round { usingNeedle 'needle1' { k to marker inlineInstructionRef 'needle1-instep-pattern' } usingNeedle 'needle2' { inlineInstructionRef 'needle2-instep-pattern' k to end } } } repeat 'gusset-rows' until 72 sts remain round doNotAssignNumber { usingNeedle 'needle1' { k to marker, removeMarker, designateEndOfRow } } labelNeedle 'needle2' withKey 'needle.instep' labelNeedle 'needle1' withKey 'needle.sole' arrangeStitches 'needle2':36 'needle1':36 } instructionGroup 'make-foot' withKey resetRowCount { instruction 'foot-rows' { round { usingNeedle 'needle2' { p1, repeat 8 times { k2,p2 }, k2,p1 } usingNeedle 'needle1' { k to end } } } repeat 'foot-rows' until desiredLength } instructionGroup 'make-toe' withKey resetRowCount { section { instruction 'toe-rows' { round { usingNeedle 'needle2' { k1, ssk, k to 3 before end, k2tog, k1 } usingNeedle 'needle1' { k1, ssk, k to 3 before end, k2tog, k1 } } round: k to end } repeat 'toe-rows' until 20 st remain } section { graftTogether 'needle1' 'needle2' } } } }